3 ms·
Long-term, io_uring will almost certainly going to provide more operations than just I/O.
by JoshTriplett 7y ago
Long-term, io_uring will almost certainly going to provide more operations than just I/O.
- the8472 7y agoBatched 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.
- JoshTriplett 7y ago> 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.