[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250620.185202.1877972778102559754.davem@davemloft.net>
Date: Fri, 20 Jun 2025 18:52:02 +0100 (BST)
From: David Miller <davem@...emloft.net>
To: arnd@...nel.org
Cc: anthony.l.nguyen@...el.com, przemyslaw.kitszel@...el.com,
andrew+netdev@...n.ch, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, arnd@...db.de, horms@...nel.org, linux@...blig.org,
aleksandr.loktionov@...el.com, dawid.osuchowski@...ux.intel.com,
jedrzej.jagielski@...el.com, mateusz.polchlopek@...el.com,
piotr.kwapulinski@...el.com, slawomirx.mrozowicz@...el.com,
martyna.szapar-mudlaw@...ux.intel.com, intel-wired-lan@...ts.osuosl.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] [v2] ethernet: intel: fix building with large NR_CPUS
From: Arnd Bergmann <arnd@...nel.org>
Date: Fri, 20 Jun 2025 19:31:24 +0200
> From: Arnd Bergmann <arnd@...db.de>
>
> With large values of CONFIG_NR_CPUS, three Intel ethernet drivers fail to
> compile like:
>
> In function ‘i40e_free_q_vector’,
> inlined from ‘i40e_vsi_alloc_q_vectors’ at drivers/net/ethernet/intel/i40e/i40e_main.c:12112:3:
> 571 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
> include/linux/rcupdate.h:1084:17: note: in expansion of macro ‘BUILD_BUG_ON’
> 1084 | BUILD_BUG_ON(offsetof(typeof(*(ptr)), rhf) >= 4096); \
> drivers/net/ethernet/intel/i40e/i40e_main.c:5113:9: note: in expansion of macro ‘kfree_rcu’
> 5113 | kfree_rcu(q_vector, rcu);
> | ^~~~~~~~~
>
> The problem is that the 'rcu' member in 'q_vector' is too far from the start
> of the structure. Move this member before the CPU mask instead, in all three
> drivers.
>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
> v2: move rcu to just after the napi_struct [Alexander Lobakin]
Acked-by: David S. Miller <davem@...emloft.net>
Powered by blists - more mailing lists