Re: [PATCH net-next v5 4/4] net: add per-netns sysctl for devmem autorelease
From: Bobby Eshleman <hidden>
Date: 2025-10-29 15:00:26
Also in:
lkml
On Tue, Oct 28, 2025 at 07:09:58PM -0700, Mina Almasry wrote:
On Tue, Oct 28, 2025 at 2:14 PM Bobby Eshleman [off-list ref] wrote:quoted
On Mon, Oct 27, 2025 at 06:22:16PM -0700, Mina Almasry wrote:quoted
On Thu, Oct 23, 2025 at 2:00 PM Bobby Eshleman [off-list ref] wrote:[...]quoted
quoted
diff --git a/net/core/devmem.c b/net/core/devmem.c index 8f3199fe0f7b..9cd6d93676f9 100644 --- a/net/core/devmem.c +++ b/net/core/devmem.c@@ -331,7 +331,7 @@ net_devmem_bind_dmabuf(struct net_device *dev, goto err_free_chunks; list_add(&binding->list, &priv->bindings); - binding->autorelease = true; + binding->autorelease = dev_net(dev)->core.sysctl_devmem_autorelease;Do you need to READ_ONCE this and WRITE_ONCE the write site? Or is that silly for a u8? Maybe better be safe.Probably worth it to be safe.quoted
Could we not make this an optional netlink argument? I thought that was a bit nicer than a sysctl. Needs a doc update. -- Thanks, MinaSounds good, I'll change to nl for the next rev. Thanks for the review!Sorry to pile the requests, but any chance we can have the kselftest improved to cover the default case and the autorelease=on case?
No problem, I had the same thought.
I'm thinking out loud here: if we make autorelease a property of the socket like I say in the other thread, does changing the value at runtime blow everything up. My thinking is that no, what's important is that the sk->devmem_info.autorelease **never** gets toggled for any active sockets, but as long as the value is constant, everything should work fine, yes?
I agree, autorelease can be toggled so long as the xarray is empty and there are no outstanding urefs (to avoid sock_devmem_dontneed from doing the wrong thing with the tokens). Best, Bobby