Skip to content

Commit

Permalink
doc: add iodepth_batch_complete_omit option
Browse files Browse the repository at this point in the history
Introduce the effect and scenes of the option.

Signed-off-by: Fanghao Sha <[email protected]>
  • Loading branch information
lausaa committed Sep 14, 2022
1 parent 6e235d1 commit c0c75ad
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
13 changes: 13 additions & 0 deletions HOWTO.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 subsequent 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
Expand Down
12 changes: 12 additions & 0 deletions fio.1
Original file line number Diff line number Diff line change
Expand Up @@ -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 subsequent 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
Expand Down

0 comments on commit c0c75ad

Please sign in to comment.