Re: [PATCH iwl-next v3 0/2] libeth, idpf: use GFP_KERNEL for the initial Rx ring fill
From: Alexander Lobakin
Date: Thu Nov 05 2026 - 13:08:41 EST
From: Luigi Rizzo <lrizzo@xxxxxxxxxx>
Date: Tue, 3 Nov 2026 16:23:23 +0000
> 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() 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.
>
> v3:
> - rename libeth_rx_alloc_gfp() to __libeth_rx_alloc() and put the gfp
> argument on its own line in page_pool_alloc_netmem() (Alexander Lobakin)
> v2: https://lore.kernel.org/r/20261019210604.2433620-1-lrizzo@xxxxxxxxxx/
> - split into two patches (libeth helper and idpf consumer)
> v1: https://lore.kernel.org/r/20261016151835.2500807-1-lrizzo@xxxxxxxxxx/
>
> Luigi Rizzo (2):
> libeth: add __libeth_rx_alloc() to specify allocation flags
> idpf: use GFP_KERNEL for the initial Rx ring fill
For the series:
Reviewed-by: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx>
Thanks!
Olek