[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aXBnqYQdomzH9bT/@devvm11784.nha0.facebook.com>
Date: Tue, 20 Jan 2026 21:44:09 -0800
From: Bobby Eshleman <bobbyeshleman@...il.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>,
Simon Horman <horms@...nel.org>,
Kuniyuki Iwashima <kuniyu@...gle.com>,
Willem de Bruijn <willemb@...gle.com>,
Neal Cardwell <ncardwell@...gle.com>,
David Ahern <dsahern@...nel.org>,
Mina Almasry <almasrymina@...gle.com>,
Arnd Bergmann <arnd@...db.de>, Jonathan Corbet <corbet@....net>,
Andrew Lunn <andrew+netdev@...n.ch>, Shuah Khan <shuah@...nel.org>,
Donald Hunter <donald.hunter@...il.com>,
Stanislav Fomichev <sdf@...ichev.me>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
linux-doc@...r.kernel.org, linux-kselftest@...r.kernel.org,
asml.silence@...il.com, matttbe@...nel.org, skhawaja@...gle.com,
Bobby Eshleman <bobbyeshleman@...a.com>
Subject: Re: [PATCH net-next v10 4/5] net: devmem: document
NETDEV_A_DMABUF_AUTORELEASE netlink attribute
On Tue, Jan 20, 2026 at 04:36:50PM -0800, Jakub Kicinski wrote:
> On Thu, 15 Jan 2026 21:02:15 -0800 Bobby Eshleman wrote:
> > +- Once a system-wide autorelease mode is selected (via the first binding),
> > + all subsequent bindings must use the same mode. Attempts to create bindings
> > + with a different mode will be rejected with -EBUSY.
>
> Why?
>
Originally I was using EINVAL, but when writing the tests I noticed this
might be a confusing case for users to interpret EINVAL (i.e., some
binding possibly made by someone else is in a different mode). I thought
EBUSY could capture the semantic "the system is locked up in a different
mode, try again when it isn't".
I'm not married to it though. Happy to go back to EINVAL or another
errno.
> > +- Applications using manual release mode (autorelease=0) must ensure all tokens
> > + are returned via SO_DEVMEM_DONTNEED before socket close to avoid resource
> > + leaks during the lifetime of the dmabuf binding. Tokens not released before
> > + close() will only be freed when all RX queues are unbound AND all sockets
> > + that called recvmsg() are closed.
>
> Could you add a short example on how? by calling shutdown()?
Show an example of the three steps: returning the tokens, unbinding, and closing the
sockets (TCP/NL)?
Best,
Bobby
Powered by blists - more mailing lists