Messages in this thread |  | | Subject | Re: [PATCH net-next v2] net: page_pool: optimize page pool page allocation in NUMA scenario | From | "wangjie (L)" <> | Date | Mon, 4 Jul 2022 09:14:00 +0800 |
| |
On 2022/7/1 15:56, Jesper Dangaard Brouer wrote: > > 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 > Simply use pool->p.nid looks simply and makes sense in both scenario. I will rewrite and test the patch in next version. > > . >
|  |