aboutsummaryrefslogtreecommitdiff
path: root/docs/src
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2023-04-18 12:32:08 +0200
committerGitHub <noreply@github.com>2023-04-18 12:32:08 +0200
commitd2c31f429b87b476a7f1344d145dad4752a406d4 (patch)
tree1fe1a600c7f93871a2b57a3fe6d7ef26e2494e6b /docs/src
parentcb5da592268551592f86b291652193f23270a8cb (diff)
downloadlibuv-d2c31f429b87b476a7f1344d145dad4752a406d4.tar.gz
libuv-d2c31f429b87b476a7f1344d145dad4752a406d4.zip
linux: introduce io_uring support (#3952)
Add io_uring support for several asynchronous file operations: - read, write - fsync, fdatasync - stat, fstat, lstat io_uring is used when the kernel is new enough, otherwise libuv simply falls back to the thread pool. Performance looks great; an 8x increase in throughput has been observed. This work was sponsored by ISC, the Internet Systems Consortium. Fixes: https://github.com/libuv/libuv/issues/1947
Diffstat (limited to 'docs/src')
-rw-r--r--docs/src/fs.rst6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/src/fs.rst b/docs/src/fs.rst
index fb27a3b9..e7522d59 100644
--- a/docs/src/fs.rst
+++ b/docs/src/fs.rst
@@ -12,6 +12,12 @@ otherwise it will be performed asynchronously.
All file operations are run on the threadpool. See :ref:`threadpool` for information
on the threadpool size.
+Starting with libuv v1.45.0, some file operations on Linux are handed off to
+`io_uring <https://en.wikipedia.org/wiki/Io_uring>` when possible. Apart from
+a (sometimes significant) increase in throughput there should be no change in
+observable behavior. Libuv reverts to using its threadpool when the necessary
+kernel features are unavailable or unsuitable.
+
.. note::
On Windows `uv_fs_*` functions use utf-8 encoding.