From 9317f72d09c9d7ee08f90eaeccae6bc212237f05 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Tue, 19 Jan 2021 23:42:29 +0000 Subject: [PATCH] fio_plugin: clarify thread=1 There was some confusion from a user on whether thread=1 means only one thread is supported. So add some extra documentation around this section to clarify this a bit more, since the option is a bit confusing. Signed-off-by: Jim Harris Change-Id: Ibcccd1759180e2e6c47e736d94ffbeafc405f7bb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5995 Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Aleksey Marchuk Reviewed-by: Community-CI: Mellanox Build Bot --- examples/bdev/fio_plugin/README.md | 6 ++++-- examples/nvme/fio_plugin/README.md | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/examples/bdev/fio_plugin/README.md b/examples/bdev/fio_plugin/README.md index 38e7dbe06..1c968a513 100644 --- a/examples/bdev/fio_plugin/README.md +++ b/examples/bdev/fio_plugin/README.md @@ -60,8 +60,10 @@ Or for NVMe devices: filename=Nvme0n1 -Currently the SPDK fio plugin is limited to the thread usage model, so fio jobs must also specify thread=1 -when using the SPDK fio plugin. +fio by default forks a separate process for every job. It also supports just spawning a separate +thread in the same process for every job. The SPDK fio plugin is limited to this latter thread +usage model, so fio jobs must also specify thread=1 when using the SPDK fio plugin. The SPDK fio +plugin supports multiple threads - in this case, the "1" just means "use thread mode". fio also currently has a race condition on shutdown if dynamically loading the ioengine by specifying the engine's full path via the ioengine parameter - LD_PRELOAD is recommended to avoid this race condition. diff --git a/examples/nvme/fio_plugin/README.md b/examples/nvme/fio_plugin/README.md index 267aaf15a..9184f1319 100644 --- a/examples/nvme/fio_plugin/README.md +++ b/examples/nvme/fio_plugin/README.md @@ -56,8 +56,10 @@ and instead only use '.'. This is a limitation in fio - it splits filenames on ':'. Also, the NVMe namespaces start at 1, not 0, and the namespace must be specified at the end of the string. -Currently the SPDK fio plugin is limited to the thread usage model, so fio jobs must also specify thread=1 -when using the SPDK fio plugin. +fio by default forks a separate process for every job. It also supports just spawning a separate +thread in the same process for every job. The SPDK fio plugin is limited to this latter thread +usage model, so fio jobs must also specify thread=1 when using the SPDK fio plugin. The SPDK fio +plugin supports multiple threads - in this case, the "1" just means "use thread mode". fio also currently has a race condition on shutdown if dynamically loading the ioengine by specifying the engine's full path via the ioengine parameter - LD_PRELOAD is recommended to avoid this race condition.