Hacker News new | ask | show | jobs
by JoshTriplett 2292 days ago
Long-term, io_uring will almost certainly going to provide more operations than just I/O.
1 comments

Batched virtual memory updates (mmap/munmap/madvise) could be a boon for allocators and garbage collectors since the cost of TLB shootdowns could be amortized.

Similarly if all the syscalls done between fork and exec could be squeezed into a single uring chain without any intervening userspace code then the kernel could skip some costly virtual memory operations, bringing us closer to posix_spawn behavior.

> Batched virtual memory updates (mmap/munmap/madvise) could be a boon for allocators and garbage collectors since the cost of TLB shootdowns could be amortized.

And ideally also the cost of mmap_sem (the lock for an address space's memory map), which can be one of the most contended locks in a workload.

> Similarly if all the syscalls done between fork and exec could be squeezed into a single uring chain without any intervening userspace code then the kernel could skip some costly virtual memory operations, bringing us closer to posix_spawn behavior.

I'd love to see a way of doing this with io_uring.