Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Mapping pages is relatively expensive. Not the mapping itself, but as a consequence of such update CPU has to flush at least a portion of TLB cache. With overlapped I/O the kernel has to do that for every I/O request.

With RIO and now io_uring, kernels map buffers to both kernel and user addresses spaces just once on initial setup, and reuse the same buffer for many I/O operations.



You're right, I forgot about the cost of locking pages for every overlapped I/O.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: