Netdev List
 help / color / mirror / Atom feed
* [PATCH iwl-next v2 0/2] libeth, idpf: use GFP_KERNEL for the initial Rx ring fill
@ 2026-10-19 21:06 Luigi Rizzo
  2026-10-19 21:06 ` [PATCH iwl-next v2 1/2] libeth: add libeth_rx_alloc_gfp() to specify allocation flags Luigi Rizzo
  2026-10-19 21:06 ` [PATCH iwl-next v2 2/2] idpf: use GFP_KERNEL for the initial Rx ring fill Luigi Rizzo
  0 siblings, 2 replies; 3+ messages in thread
From: Luigi Rizzo @ 2026-10-19 21:06 UTC (permalink / raw)
  To: intel-wired-lan
  Cc: netdev, Tony Nguyen, Przemek Kitszel, Alexander Lobakin,
	Andrew Lunn, David S . Miller, Eric Dumazet, Luigi Rizzo,
	Brian Vazquez, Joshua Hay, Larysa Zaremba, Jakub Kicinski,
	Paolo Abeni, Simon Horman, linux-kernel, Luigi Rizzo

libeth_rx_alloc() always allocates with GFP_ATOMIC, including when a
driver fills its Rx rings at open or on queue reconfiguration. That
fill runs in process context, right after page_pool_create() and before
the queues' NAPI is enabled, so it may sleep, and GFP_ATOMIC is
needlessly restrictive there: it can neither reclaim nor compact, while
the initial fill can allocate tens of thousands of buffers across all
queues.

Patch 1 adds libeth_rx_alloc_gfp() taking a gfp_t parameter and turns
libeth_rx_alloc() into its GFP_ATOMIC wrapper.
Patch 2 switches idpf's initial Rx ring fill (both splitq and singleq)
to GFP_KERNEL.

v2:
  - split into two patches (libeth helper and idpf consumer)
v1: https://lore.kernel.org/r/20261016151835.2500807-1-lrizzo@google.com/

Luigi Rizzo (2):
  libeth: add libeth_rx_alloc_gfp() to specify allocation flags
  idpf: use GFP_KERNEL for the initial Rx ring fill

 .../ethernet/intel/idpf/idpf_singleq_txrx.c   |  7 +++---
 drivers/net/ethernet/intel/idpf/idpf_txrx.c   |  9 +++++---
 drivers/net/ethernet/intel/idpf/idpf_txrx.h   |  2 +-
 include/net/libeth/rx.h                       | 23 +++++++++++++++----
 4 files changed, 30 insertions(+), 11 deletions(-)

-- 
2.56.0.212.g129ede20d9-goog


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-19 21:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-19 21:06 [PATCH iwl-next v2 0/2] libeth, idpf: use GFP_KERNEL for the initial Rx ring fill Luigi Rizzo
2026-10-19 21:06 ` [PATCH iwl-next v2 1/2] libeth: add libeth_rx_alloc_gfp() to specify allocation flags Luigi Rizzo
2026-10-19 21:06 ` [PATCH iwl-next v2 2/2] idpf: use GFP_KERNEL for the initial Rx ring fill Luigi Rizzo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox