diff mbox series

KVM: arm64: Use the bitmap API to allocate bitmaps

Message ID a93d3e94be2003922c7e9652b57e96261cc47641.1656961792.git.christophe.jaillet@wanadoo.fr (mailing list archive)
State New, archived
Headers show
Series KVM: arm64: Use the bitmap API to allocate bitmaps | expand

Commit Message

Christophe JAILLET July 4, 2022, 7:10 p.m. UTC
Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

While at it, turn a bitmap_clear() into an equivalent bitmap_zero(). It is
also less verbose.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 arch/arm64/kvm/vmid.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Vladimir Murzin July 6, 2022, 9:20 a.m. UTC | #1
On 7/4/22 20:10, Christophe JAILLET wrote:
> Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.
> 
> It is less verbose and it improves the semantic.
> 
> While at it, turn a bitmap_clear() into an equivalent bitmap_zero(). It is
> also less verbose.
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
>  arch/arm64/kvm/vmid.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/kvm/vmid.c b/arch/arm64/kvm/vmid.c
> index d78ae63d7c15..f4612cdb60ff 100644
> --- a/arch/arm64/kvm/vmid.c
> +++ b/arch/arm64/kvm/vmid.c
> @@ -47,7 +47,7 @@ static void flush_context(void)
>  	int cpu;
>  	u64 vmid;
>  
> -	bitmap_clear(vmid_map, 0, NUM_USER_VMIDS);
> +	bitmap_zero(vmid_map, NUM_USER_VMIDS);
>  
>  	for_each_possible_cpu(cpu) {
>  		vmid = atomic64_xchg_relaxed(&per_cpu(active_vmids, cpu), 0);
> @@ -182,8 +182,7 @@ int kvm_arm_vmid_alloc_init(void)
>  	 */
>  	WARN_ON(NUM_USER_VMIDS - 1 <= num_possible_cpus());
>  	atomic64_set(&vmid_generation, VMID_FIRST_VERSION);
> -	vmid_map = kcalloc(BITS_TO_LONGS(NUM_USER_VMIDS),
> -			   sizeof(*vmid_map), GFP_KERNEL);
> +	vmid_map = bitmap_zalloc(NUM_USER_VMIDS, GFP_KERNEL);
>  	if (!vmid_map)
>  		return -ENOMEM;
>  
> @@ -192,5 +191,5 @@ int kvm_arm_vmid_alloc_init(void)
>  
>  void kvm_arm_vmid_alloc_free(void)
>  {
> -	kfree(vmid_map);
> +	bitmap_free(vmid_map);
>  }

FWIW

Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com>

Cheers
Vladimir
Oliver Upton July 8, 2022, 6:59 p.m. UTC | #2
July 4, 2022 12:10 PM, "Christophe JAILLET" <christophe.jaillet@wanadoo.fr> wrote:
> Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.
> 
> It is less verbose and it improves the semantic.
> 
> While at it, turn a bitmap_clear() into an equivalent bitmap_zero(). It is
> also less verbose.
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
diff mbox series

Patch

diff --git a/arch/arm64/kvm/vmid.c b/arch/arm64/kvm/vmid.c
index d78ae63d7c15..f4612cdb60ff 100644
--- a/arch/arm64/kvm/vmid.c
+++ b/arch/arm64/kvm/vmid.c
@@ -47,7 +47,7 @@  static void flush_context(void)
 	int cpu;
 	u64 vmid;
 
-	bitmap_clear(vmid_map, 0, NUM_USER_VMIDS);
+	bitmap_zero(vmid_map, NUM_USER_VMIDS);
 
 	for_each_possible_cpu(cpu) {
 		vmid = atomic64_xchg_relaxed(&per_cpu(active_vmids, cpu), 0);
@@ -182,8 +182,7 @@  int kvm_arm_vmid_alloc_init(void)
 	 */
 	WARN_ON(NUM_USER_VMIDS - 1 <= num_possible_cpus());
 	atomic64_set(&vmid_generation, VMID_FIRST_VERSION);
-	vmid_map = kcalloc(BITS_TO_LONGS(NUM_USER_VMIDS),
-			   sizeof(*vmid_map), GFP_KERNEL);
+	vmid_map = bitmap_zalloc(NUM_USER_VMIDS, GFP_KERNEL);
 	if (!vmid_map)
 		return -ENOMEM;
 
@@ -192,5 +191,5 @@  int kvm_arm_vmid_alloc_init(void)
 
 void kvm_arm_vmid_alloc_free(void)
 {
-	kfree(vmid_map);
+	bitmap_free(vmid_map);
 }