Thread (5 messages) 5 messages, 5 authors, 2025-07-08

RE: [Intel-wired-lan] [PATCH] [v2] ethernet: intel: fix building with large NR_CPUS

From: Mekala, SunithaX D <hidden>
Date: 2025-07-08 06:21:33
Also in: intel-wired-lan, lkml

-----Original Message-----
From: Intel-wired-lan <redacted> On Behalf Of Arnd Bergmann
Sent: Friday, June 20, 2025 10:31 AM
To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; Andrew Lunn <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric Dumazet >  <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>
Cc: Arnd Bergmann <arnd@arndb.de>; Simon Horman <horms@kernel.org>; Dr. David Alan Gilbert <redacted>; Loktionov, Aleksandr <redacted>; Dawid Osuchowski >  <redacted>; Jagielski, Jedrzej <redacted>; Polchlopek, Mateusz <redacted>; Kwapulinski, Piotr <redacted>; Mrozowicz, SlawomirX >  <redacted>; Martyna Szapar-Mudlaw <redacted>; intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org
 Subject: [Intel-wired-lan] [PATCH] [v2] ethernet: intel: fix building with large NR_CPUS

From: Arnd Bergmann <arnd@arndb.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@arndb.de>
---
 v2: move rcu to just after the napi_struct [Alexander Lobakin]
---
 drivers/net/ethernet/intel/fm10k/fm10k.h | 3 ++-
 drivers/net/ethernet/intel/i40e/i40e.h   | 2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)
Tested-by: Sunitha Mekala <redacted> (A Contingent worker at Intel)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help