5 ms·
Can we have syscall chaining finally? Please? There is literally no reason why we couldn't have it.
by emilfihlman 5y ago
Can we have syscall chaining finally? Please? There is literally no reason why we couldn't have it.
- Filligree 5y agoDo you mean io_uring?
- hinkley 5y agoDoesn’t that address fanout, not chaining? Chaining RPC calls requires something more sophisticated.
- emilfihlman 5y agoIo_uring doesn't even address fanout if you mean writing the same data to multiple fds. Io_uring is just a way to have "do this and tell me when it's done" io.
- emilfihlman 5y agoNo. Io_uring is a message passing system where you tell the kernel to do something and let you know when it's done. Syscall chaining refers to having the kernel execute consecutive systemcalls without switching the context back to userspace. An example of this might be closing a multitude of file descriptors or registering signals or writing the same data to multiple fds etc, which becomes prohibitely expensive if you need to do it multiple times quickly, and actually doing it even once is really expensive if your sets are large.
- quotemstr 5y ago> Syscall chaining refers to having the kernel execute consecutive systemcalls without switching the context back to userspace. io_uring already gives you that. You can submit multiple operations in a batch and link the operations together so that if one operation in a chain of linked operations fails, io_uring won't try to execute the rest.
- emilfihlman 5y agoWhich is not syscall chaining, but message chaining, of io.
- quotemstr 5y agoHuh? It is literally system call chaining. You can make many system calls via io_ioring.
- dsp 5y ago> having the kernel execute consecutive systemcalls without switching the context io_uring enables exactly this https://kernel.dk/io_uring.pdf https://kernel.dk/io_uring.pdf
- emilfihlman 5y agoOnly for io, which is not the same thing.
- dsp 5y agoDespite the name, there is nothing io-specific about the io_uring interface. Non-io syscalls can be added. Io syscalls just tend to benefit the most (due to call frequency).
- Jweb_Guru 5y agoI imagine extensions to eBPF are more likely.
- deleted 5y ago[deleted]