Re: [PATCH 3/4] x86/smpboot: Replace one kzalloc() call by kcalloc()

From: Paolo Bonzini
Date: Mon Sep 05 2016 - 05:29:36 EST




On 05/09/2016 11:26, Paolo Bonzini wrote:
>
>
> On 05/09/2016 10:12, SF Markus Elfring wrote:
>> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
>> Date: Mon, 5 Sep 2016 09:29:40 +0200
>>
>> * The script "checkpatch.pl" can point information out like the following.
>>
>> WARNING: Prefer kcalloc over kzalloc with multiply
>>
>> Thus fix the affected source code place.
>>
>> * Replace the specification of a data type by a pointer dereference
>> to make the corresponding size determination a bit safer according to
>> the Linux coding style convention.
>>
>> * Delete the local variable "size" which became unnecessary with
>> this refactoring.
>>
>> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
>> ---
>> arch/x86/kernel/smpboot.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
>> index 2ce06ef..e3fdc44 100644
>> --- a/arch/x86/kernel/smpboot.c
>> +++ b/arch/x86/kernel/smpboot.c
>> @@ -311,7 +311,6 @@ EXPORT_SYMBOL(topology_phys_to_logical_pkg);
>> static void __init smp_init_package_map(void)
>> {
>> unsigned int ncpus, cpu;
>> - size_t size;
>>
>> /*
>> * Today neither Intel nor AMD support heterogenous systems. That
>> @@ -357,8 +356,9 @@ static void __init smp_init_package_map(void)
>> memset(physical_to_logical_pkg,
>> 0xff,
>> sizeof(*physical_to_logical_pkg) * max_physical_pkg_id);
>> - size = BITS_TO_LONGS(max_physical_pkg_id) * sizeof(unsigned long);
>> - physical_package_map = kzalloc(size, GFP_KERNEL);
>> + physical_package_map = kcalloc(BITS_TO_LONGS(max_physical_pkg_id),
>> + sizeof(*physical_package_map),
>> + GFP_KERNEL);
>
> This is bitmap_alloc.

Doh, bitmap_alloc is only in tools/include/linux/bitmap.h, but perhaps
it makes sense to add it to include/linux/bitmap.h or
include/linux/slab.h too...

Paolo