Re:Why you should use io_uring for network I/O
by vluft on Wednesday April 12, 2023 @09:59PM
(#35549883)
With cross-core interrupts and user-mode interrupt handlers (as in some new intel cpus), you could even do something without polling (interrupt for submission) where the core user-mode code is running on _never_ context switches (obviously except for scheduling) and you just have a dedicated kernel core or cores off doing kernel things.
[ Parent
| on HN ]
Re:Why you should use io_uring for network I/O
by benlwalker on Wednesday April 12, 2023 @10:25PM
(#35550066)
You can also use umwait on the next completion entry in the ring
Re:Why you should use io_uring for network I/O
by vluft on Thursday April 13, 2023 @09:18AM
(#35554970)
yup, though that means you're wasting that core's compute; something with green threads where language runtime does a cross-core interrupt to submit syscall then continues execing other green threads until it gets a user interrupt for syscall completion would be pretty neat.
(ETA: and indeed looks like they're considering support for that in io_uring! https://lwn.net/Articles/869140/)