aboutsummaryrefslogtreecommitdiff
path: root/docs/src
diff options
context:
space:
mode:
authorSantiago Gimeno <santiago.gimeno@gmail.com>2024-08-06 22:10:13 +0200
committerGitHub <noreply@github.com>2024-08-06 22:10:13 +0200
commite78e29c231481683c7e72450eeeb1b75b1109b2c (patch)
treee6b6571cbdcbeec64496f3a9aa98b3adfa370309 /docs/src
parent9b3b61f606cbc4df1680a1aa08959c91023d99eb (diff)
downloadlibuv-e78e29c231481683c7e72450eeeb1b75b1109b2c.tar.gz
libuv-e78e29c231481683c7e72450eeeb1b75b1109b2c.zip
linux: disable SQPOLL io_uring by default (#4492)
The SQPOLL io_uring instance wasn't providing consistent behaviour to users depending on kernel versions, load shape, ... creating issues difficult to track and fix. Don't use this ring by default but allow enabling it by calling `uv_loop_configure()` with `UV_LOOP_ENABLE_IO_URING_SQPOLL`.
Diffstat (limited to 'docs/src')
-rw-r--r--docs/src/fs.rst5
-rw-r--r--docs/src/loop.rst5
2 files changed, 9 insertions, 1 deletions
diff --git a/docs/src/fs.rst b/docs/src/fs.rst
index c039a8e6..32cf126c 100644
--- a/docs/src/fs.rst
+++ b/docs/src/fs.rst
@@ -16,7 +16,10 @@ 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.
+kernel features are unavailable or unsuitable. Starting with libuv v1.49.0 this
+behavior was reverted and Libuv on Linux by default will be using the threadpool
+again. In order to enable io_uring the :c:type:`uv_loop_t` instance must be
+configured with the :c:type:`UV_LOOP_ENABLE_IO_URING_SQPOLL` option.
.. note::
On Windows `uv_fs_*` functions use utf-8 encoding.
diff --git a/docs/src/loop.rst b/docs/src/loop.rst
index 0f5ddfb3..dc26e654 100644
--- a/docs/src/loop.rst
+++ b/docs/src/loop.rst
@@ -73,8 +73,13 @@ API
This option is necessary to use :c:func:`uv_metrics_idle_time`.
+ - UV_LOOP_ENABLE_IO_URING_SQPOLL: Enable SQPOLL io_uring instance to handle
+ asynchronous file system operations.
+
.. versionchanged:: 1.39.0 added the UV_METRICS_IDLE_TIME option.
+ .. versionchanged:: 1.49.0 added the UV_LOOP_ENABLE_IO_URING_SQPOLL option.
+
.. c:function:: int uv_loop_close(uv_loop_t* loop)
Releases all internal loop resources. Call this function only when the loop