On 1/17/2020 3:44 AM, Colin Walters wrote: > On Thu, Jan 16, 2020, at 5:50 PM, Stefan Metzmacher wrote: >> The client can compound a chain with open, getinfo, read, close >> getinfo, read and close get an file handle of -1 and implicitly >> get the fd generated/used in the previous request. > > Sounds similar to https://capnproto.org/rpc.html too. > Looks like just grouping a pack of operations for RPC. With io_uring we could implement more interesting stuff. I've been thinking about eBPF in io_uring for a while as well, and apparently it could be _really_ powerful, and would allow almost zero-context-switches for some usecases. 1. full flow control with eBPF - dropping requests (links) - emitting reqs/links (e.g. after completions of another req) - chaining/redirecting of course, all of that with fast intermediate computations in between 2. do long eBPF programs by introducing a new opcode (punted to async). (though, there would be problems with that) Could even allow to dynamically register new opcodes within the kernel and extend it to eBPF, if there will be demand for such things. -- Pavel Begunkov