[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250919165746.5004bb8c@kernel.org>
Date: Fri, 19 Sep 2025 16:57:46 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Dragos Tatulea <dtatulea@...dia.com>
Cc: Jesper Dangaard Brouer <hawk@...nel.org>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Paolo Abeni
<pabeni@...hat.com>, Simon Horman <horms@...nel.org>, Ilias Apalodimas
<ilias.apalodimas@...aro.org>, "Sebastian Andrzej Siewior"
<bigeasy@...utronix.de>, Clark Williams <clrkwllms@...nel.org>, Steven
Rostedt <rostedt@...dmis.org>, <netdev@...r.kernel.org>, "Tariq Toukan"
<tariqt@...dia.com>, <linux-kernel@...r.kernel.org>,
<linux-rt-devel@...ts.linux.dev>
Subject: Re: [PATCH net-next] page_pool: add debug for release to cache from
wrong CPU
On Thu, 18 Sep 2025 11:48:21 +0300 Dragos Tatulea wrote:
> Direct page releases to cache must be done on the same CPU as where NAPI
> is running.
You talk about NAPI..
> /* Only allow direct recycling in special circumstances, into the
> * alloc side cache. E.g. during RX-NAPI processing for XDP_DROP use-case.
> *
> @@ -768,6 +795,18 @@ static bool page_pool_recycle_in_cache(netmem_ref netmem,
> return false;
> }
>
> +#ifdef CONFIG_DEBUG_PAGE_POOL_CACHE_RELEASE
> + if (unlikely(!page_pool_napi_local(pool))) {
> + u32 pp_cpuid = READ_ONCE(pool->cpuid);
but then you print pp->cpuid?
The patch seems half-baked. If the NAPI local recycling is incorrect
the pp will leak a reference and live forever. Which hopefully people
would notice. Are you adding this check just to double confirm that
any leaks you're chasing are in the driver, and not in the core?
Powered by blists - more mailing lists