Re: [PATCH net-next v2] net: page_pool: optimize page pool page allocation in NUMA scenario

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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.

.





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux