3 ms·
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)
by vluft 3y 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.
- benlwalker 3y agoYou can also use umwait on the next completion entry in the ring
- vluft 3y agoyup, 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/ https://lwn.net/Articles/869140/)