lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 8 Nov 2023 15:36:01 +0000
From: Edward Cree <>
To: Stanislav Fomichev <>, Mina Almasry <>
Cc:,,,,,,, "David S. Miller" <>,
 Eric Dumazet <>, Jakub Kicinski <>,
 Paolo Abeni <>, Jesper Dangaard Brouer <>,
 Ilias Apalodimas <>, Arnd Bergmann
 <>, David Ahern <>,
 Willem de Bruijn <>,
 Shuah Khan <>, Sumit Semwal <>,
 Christian K├Ânig <>,
 Shakeel Butt <>, Jeroen de Borst <>,
 Praveen Kaligineedi <>,
 Willem de Bruijn <>, Kaiyuan Zhang <>
Subject: Re: [RFC PATCH v3 10/12] tcp: RX path for devmem TCP

On 06/11/2023 21:17, Stanislav Fomichev wrote:
> I guess I'm just wondering whether other people have any suggestions
> here. Not sure Jonathan's way was better, but we fundamentally
> have two queues between the kernel and the userspace:
> - userspace receiving tokens (recvmsg + magical flag)
> - userspace refilling tokens (setsockopt + magical flag)
> So having some kind of shared memory producer-consumer queue feels natural.
> And using 'classic' socket api here feels like a stretch, idk.

Do 'refilled tokens' (returned memory areas) get used for anything other
 than subsequent RX?  If not then surely the way to return a memory area
 in an io_uring idiom is just to post a new read sqe ('RX descriptor')
 pointing into it, rather than explicitly returning it with setsockopt.
(Being async means you can post lots of these, unlike recvmsg(), so you
 don't need any kernel management to keep the RX queue filled; it can
 just be all handled by the userland thus simplifying APIs overall.)
Or I'm misunderstanding something?


Powered by blists - more mailing lists