Re: [PATCH net-next] page_pool: add debug for release to cache from wrong CPU
From: Dragos Tatulea <dtatulea@nvidia.com>
Date: 2025-09-23 16:00:36
Also in:
linux-rt-devel, lkml
On Tue, Sep 23, 2025 at 08:34:39AM -0700, Jakub Kicinski wrote:
On Tue, 23 Sep 2025 15:23:02 +0000 Dragos Tatulea wrote:quoted
On Mon, Sep 22, 2025 at 04:18:27PM -0700, Jakub Kicinski wrote:quoted
On Sat, 20 Sep 2025 09:25:31 +0000 Dragos Tatulea wrote:quoted
The point is not to chase leaks but races from doing a recycle to cache from the wrong CPU. This is how XDP issue was caught where xdp_set_return_frame_no_direct() was not set appropriately for cpumap [1]. My first approach was to __page_pool_put_page() but then I figured that the warning should live closer to where the actual assignment happens. [1] https://lore.kernel.org/all/e60404e2-4782-409f-8596-ae21ce7272c4@kernel.org/ (local)Ah, that thing. I wonder whether the complexity in the driver-facing xdp_return API is really worth the gain here. IIUC we want to extract the cases where we're doing local recycling and let those cases use the lockless cache. But all those cases should be caught by automatic local recycling detection, so caller can just pass false..This patch was simply adding the debugging code to catch the potential misuse from any callers. I was planning to send another patch for the xdp_return() API part once/if this one got accepted. If it makes more sense I can bundle them together in a RFC (as merge window is coming).Combined RFC would make sense, yes.
Ack.
But you get what I'm saying right? I'm questioning whether _rx_napi() flavor of calls even make sense these days. If they don't I'd think the drivers can't be wrong and the need for the debug check is diminished?
I got the point for XDP. I am not sure if you are arguing the same thing for the other users though. For example. there are many drivers releasing netmems with direct=true. Thanks, Dragos