diff options
author | Santiago Gimeno <santiago.gimeno@gmail.com> | 2024-08-06 22:10:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-06 22:10:13 +0200 |
commit | e78e29c231481683c7e72450eeeb1b75b1109b2c (patch) | |
tree | e6b6571cbdcbeec64496f3a9aa98b3adfa370309 /docs/src | |
parent | 9b3b61f606cbc4df1680a1aa08959c91023d99eb (diff) | |
download | libuv-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.rst | 5 | ||||
-rw-r--r-- | docs/src/loop.rst | 5 |
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 |