Re: [PATCH] mm/mempool: Use kmalloc_array_node to replace kmalloc_array
From: liuye
Date: Fri Feb 07 2025 - 02:51:24 EST
在 2025/2/7 14:47, Harry (Hyeonggon) Yoo 写道:
> On Fri, Feb 07, 2025 at 01:52:13PM +0800, Liu Ye wrote:
>> The kmalloc_array call could be replaced with kmalloc_array_node
>> to allocate memory on a specific NUMA node.
>
> Why is it useful to replace kmalloc_array() with kmalloc_array_node()
> in the code?
>
>> Signed-off-by: Liu Ye <liuye@xxxxxxxxxx>
>> ---
>> mm/mempool.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/mm/mempool.c b/mm/mempool.c
>> index 3223337135d0..51eabcc87177 100644
>> --- a/mm/mempool.c
>> +++ b/mm/mempool.c
>> @@ -328,8 +328,8 @@ int mempool_resize(mempool_t *pool, int new_min_nr)
>> spin_unlock_irqrestore(&pool->lock, flags);
>>
>> /* Grow the pool */
>> - new_elements = kmalloc_array(new_min_nr, sizeof(*new_elements),
>> - GFP_KERNEL);
>> + new_elements = kmalloc_array_node(new_min_nr, sizeof(*new_elements),
>> + GFP_KERNEL, NUMA_NO_NODE);
>
> What do you mean by 'allocate memory on a specific NUMA node'
> when you pass NUMA_NO_NODE?
> It's essentially the same as what kmalloc_array() does.
>
Yeah, my brain short-circuited. Discard this patch.