Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use io_uring on Linux where available (>= kernel 5.1) #23

Open
ned14 opened this issue May 7, 2019 · 1 comment
Open

Use io_uring on Linux where available (>= kernel 5.1) #23

ned14 opened this issue May 7, 2019 · 1 comment

Comments

@ned14
Copy link
Owner

ned14 commented May 7, 2019

Apparently can do 1.7M 4k IOPS per CPU core. As PCIe maxes out at a theoretical 2M 4k IOPS due to PCIe bus latency, that's pretty great for O_DIRECT i/o. It may even be worth deploying this for the synchronous implementation on Linux, though synchronous reads can reach 4M 4k IOPS/core on Linux.

https://lwn.net/Articles/776703/

Example of use: http://git.kernel.dk/cgit/fio/plain/t/io_uring.c

@ned14
Copy link
Owner Author

ned14 commented Jul 26, 2019

This actually should be folded into a new nonblocking_file_handle which implements non-blocking synchronous i/o, and coroutinised resumable i/o. This would allow us to drop async_file_handle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant