[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <728b4c15-8114-e253-5d45-a5610882f891@redhat.com>
Date: Fri, 1 Jul 2022 09:56:56 +0200
From: Jesper Dangaard Brouer <jbrouer@...hat.com>
To: Jakub Kicinski <kuba@...nel.org>,
Guangbin Huang <huangguangbin2@...wei.com>
Cc: brouer@...hat.com, jbrouer@...hat.com, hawk@...nel.org,
ilias.apalodimas@...aro.org, davem@...emloft.net,
edumazet@...gle.com, pabeni@...hat.com, lorenzo@...nel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
bpf@...r.kernel.org, lipeng321@...wei.com, chenhao288@...ilicon.com
Subject: Re: [PATCH net-next v2] net: page_pool: optimize page pool page
allocation in NUMA scenario
On 01/07/2022 06.15, Jakub Kicinski wrote:
> On Wed, 29 Jun 2022 21:33:05 +0800 Guangbin Huang wrote:
>> +#ifdef CONFIG_NUMA
>> + pref_nid = (pool->p.nid == NUMA_NO_NODE) ? numa_mem_id() : pool->p.nid;
>> +#else
>> + /* Ignore pool->p.nid setting if !CONFIG_NUMA */
>> + pref_nid = NUMA_NO_NODE;
>> +#endif
>
> Please factor this out to a helper, this is a copy of the code from
> page_pool_refill_alloc_cache() and #ifdefs are a little yuck.
>
I would say simply use 'pool->p.nid' in the call to
alloc_pages_bulk_array_node() and drop this optimization (that was
copy-pasted from fast-path).
The optimization avoids one reading from memory compile time depending
on CONFIG_NUMA. It is *not* worth doing in this code path which is even
named "slow" (__page_pool_alloc_pages_slow).
--Jesper
Powered by blists - more mailing lists