From f3655deedcd706dfe3f05cf109b76ac13417c2ec Mon Sep 17 00:00:00 2001 From: Ravishankar N Date: Mon, 18 Jan 2021 19:28:18 +0530 Subject: [PATCH] add doc for storage.linux-io_uring volume option. Signed-off-by: Ravishankar N --- docs/Administrator-Guide/Managing-Volumes.md | 1 + docs/Administrator-Guide/index.md | 1 + docs/Administrator-Guide/io_uring.md | 17 +++++++++++++++++ mkdocs.yml | 1 + 4 files changed, 20 insertions(+) create mode 100644 docs/Administrator-Guide/io_uring.md diff --git a/docs/Administrator-Guide/Managing-Volumes.md b/docs/Administrator-Guide/Managing-Volumes.md index 9e6c345..cba6182 100644 --- a/docs/Administrator-Guide/Managing-Volumes.md +++ b/docs/Administrator-Guide/Managing-Volumes.md @@ -89,6 +89,7 @@ performance.cache-size | Size of the read cache. | 32 MB | size in bytes server.allow-insecure | Allow client connections from unprivileged ports. By default only privileged ports are allowed. This is a global setting in case insecure ports are to be enabled for all exports using a single option. | On | On/Off server.statedump-path | Location of the state dump file. | tmp directory of the brick | New directory path storage.health-check-interval | Number of seconds between health-checks done on the filesystem that is used for the brick(s). Defaults to 30 seconds, set to 0 to disable. | tmp directory of the brick | New directory path +storage.linux-io_uring | Enable/Disable io_uring based I/O at the posix xlator on the bricks. | Off | On/Off You can view the changed volume options using command: diff --git a/docs/Administrator-Guide/index.md b/docs/Administrator-Guide/index.md index d9d4df0..82ebb8b 100644 --- a/docs/Administrator-Guide/index.md +++ b/docs/Administrator-Guide/index.md @@ -28,6 +28,7 @@ * [Quotas](./Directory-Quota.md) * [Snapshots](./Managing-Snapshots.md) * [Trash](./Trash.md) + * [io_uring](./io_uring.md) 7. Data Access With Other Interfaces diff --git a/docs/Administrator-Guide/io_uring.md b/docs/Administrator-Guide/io_uring.md new file mode 100644 index 0000000..b3de11f --- /dev/null +++ b/docs/Administrator-Guide/io_uring.md @@ -0,0 +1,17 @@ +# io_uring support in gluster + +io_uring is an asynchronous I/O interface similar to linux-aio, but aims to be more performant. +Refer https://kernel.dk/io_uring.pdf and https://kernel-recipes.org/en/2019/talks/faster-io-through-io_uring/ for more details. + +Incorporating io_uring in various layers of gluster is an ongoing activity but beginning with glusterfs-9.0, support has been added to the posix translator via the ```storage.linux-io_uring``` volume option. When this option is enabled, the posix translator in the glusterfs brick process (at the server side) will use io_uring calls for reads, writes and fsyncs as opposed to the normal pread/pwrite based syscalls. + +#### Example: + [server~]# gluster volume set testvol storage.linux-io_uring on + volume set: success + [server~]# + [server~]# gluster volume set testvol storage.linux-io_uring off + volume set: success + + +This option can be enabled/disabled only when the volume is not running. +i.e. you can toggle the option when the volume is `Created` or is `Stopped` as indicated in ```gluster volume status $VOLNAME``` diff --git a/mkdocs.yml b/mkdocs.yml index 22f4eec..6d62d4f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,6 +43,7 @@ nav: - Quotas: Administrator-Guide/Directory-Quota.md - Snapshots: Administrator-Guide/Managing-Snapshots.md - Trash: Administrator-Guide/Trash.md + - io_uring: Administrator-Guide/io_uring.md - Monitoring Workload: Administrator-Guide/Monitoring-Workload.md - Object Storage: Administrator-Guide/Object-Storage.md - GlusterFS Cinder: Administrator-Guide/GlusterFS-Cinder.md