From c6c5854a10710c82b6bfff4071a6de4a3f5fefbd Mon Sep 17 00:00:00 2001 From: Fanghao Sha Date: Mon, 12 Sep 2022 20:09:04 +0800 Subject: [PATCH] doc: add iodepth_batch_complete_omit option Introduce the effect and scenes of the option. Signed-off-by: Fanghao Sha --- HOWTO.rst | 13 +++++++++++++ fio.1 | 12 ++++++++++++ 2 files changed, 25 insertions(+) diff --git a/HOWTO.rst b/HOWTO.rst index 2c6c6dbe5c..81f2bd80f2 100644 --- a/HOWTO.rst +++ b/HOWTO.rst @@ -2890,6 +2890,19 @@ I/O depth if none of I/O has been completed yet, we will NOT wait and immediately exit the system call. In this example we simply do polling. +.. option:: iodepth_batch_complete_omit=int + + The number of in-flight IOs that need not be retrieved on quiescing. It + defaults to 0 which means all in-flight IOs will be retrieved until completion + as not to skew the latency. After that, if in the rate-limiting context, the + next IO will be set after a fixed delay. But in some cases, the in-flight IOs + may need be hanging for a while to merge more subseqeuent IOs in order to get + a better bandwidth or reach the EC stripe length, and so on. And the hanging + time may delay the next IO for long if all in-flight IOs must be retrieved. + Therefore, this option will be used to skip quiescing partially(IOs in merge + waiting) for a smooth data flow, and as such, it is not suitable for the + latency-sensitive scenarios. + .. option:: iodepth_low=int The low water mark indicating when to start filling the queue diff --git a/fio.1 b/fio.1 index 67d7c710fa..2c4dffa799 100644 --- a/fio.1 +++ b/fio.1 @@ -2650,6 +2650,18 @@ if none of I/O has been completed yet, we will NOT wait and immediately exit the system call. In this example we simply do polling. .RE .TP +.BI iodepth_batch_complete_omit \fR=\fPint +The number of in-flight IOs that need not be retrieved on quiescing. It +defaults to 0 which means all in-flight IOs will be retrieved until completion +as not to skew the latency. After that, if in the rate-limiting context, the +next IO will be set after a fixed delay. But in some cases, the in-flight IOs +may need be hanging for a while to merge more subseqeuent IOs in order to get +a better bandwidth or reach the EC stripe length, and so on. And the hanging +time may delay the next IO for long if all in-flight IOs must be retrieved. +Therefore, this option will be used to skip quiescing partially(IOs in merge +waiting) for a smooth data flow, and as such, it is not suitable for the +latency-sensitive scenarios. +.TP .BI iodepth_low \fR=\fPint The low water mark indicating when to start filling the queue again. Defaults to the same as \fBiodepth\fR, meaning that fio will