Hacker News new | ask | show | jobs
by vluft 1158 days ago
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.
1 comments

You can also use umwait on the next completion entry in the ring
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/)