Skip to content

Commit

Permalink
docs: update for new data placement options
Browse files Browse the repository at this point in the history
Update the HOWTO and man page for the unified data placement options
that cover both FDP and Streams.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
  • Loading branch information
vincentkfu committed Apr 24, 2024
1 parent 0c8c808 commit 349bbcb
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 16 deletions.
36 changes: 27 additions & 9 deletions HOWTO.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2500,7 +2500,24 @@ with the caveat that when used on the command line, they must come after the

Enable Flexible Data Placement mode for write commands.

.. option:: fdp_pli_select=str : [io_uring_cmd] [xnvme]
.. option:: dataplacement=str : [io_uring_cmd] [xnvme]

Specifies the data placement directive type to use for write commands.
The following types are supported:

**none**
Do not use a data placement directive. This is the
default.

**fdp**
Use Flexible Data Placement directives for write
commands. This is equivalent to specifying
:option:`fdp` =1.

**streams**
Use Streams directives for write commands.

.. option:: plid_select=str, fdp_pli_select=str : [io_uring_cmd] [xnvme]

Defines how fio decides which placement ID to use next. The following
types are defined:
Expand All @@ -2512,16 +2529,17 @@ with the caveat that when used on the command line, they must come after the
Round robin over available placement IDs. This is the
default.

The available placement ID index/indices is defined by the option
:option:`fdp_pli`.
The available placement ID (indices) are defined by the option
:option:`plids`.

.. option:: fdp_pli=str : [io_uring_cmd] [xnvme]
.. option:: plids=str, fdp_pli=str : [io_uring_cmd] [xnvme]

Select which Placement ID Index/Indicies this job is allowed to use for
writes. By default, the job will cycle through all available Placement
IDs, so use this to isolate these identifiers to specific jobs. If you
want fio to use placement identifier only at indices 0, 2 and 5 specify
``fdp_pli=0,2,5``.
Select which Placement IDs (streams) or Placement ID Indices (FDP) this
job is allowed to use for writes. For FDP by default, the job will
cycle through all available Placement IDs, so use this to isolate these
identifiers to specific jobs. If you want fio to use FDP placement
identifiers only at indices 0, 2 and 5 specify ``plids=0,2,5``. For
streams this should be a comma-separated list of Stream IDs.

.. option:: md_per_io_size=int : [io_uring_cmd] [xnvme]

Expand Down
35 changes: 28 additions & 7 deletions fio.1
Original file line number Diff line number Diff line change
Expand Up @@ -2264,7 +2264,26 @@ file blocks are fully allocated and the disk request could be issued immediately
.BI (io_uring_cmd,xnvme)fdp \fR=\fPbool
Enable Flexible Data Placement mode for write commands.
.TP
.BI (io_uring_cmd,xnvme)fdp_pli_select \fR=\fPstr
.BI (io_uring_cmd,xnvme)dataplacement \fR=\fPstr
Specifies the data placement directive type to use for write commands. The
following types are supported:
.RS
.RS
.TP
.B none
Do not use a data placement directive. This is the default.
.TP
.B fdp
Use Flexible Data placement directives for write commands. This is equivalent
to specifying \fBfdp\fR=1.
.TP
.B streams
Use Streams directives for write commands.
.TP
.RE
.RE
.TP
.BI (io_uring_cmd,xnvme)plid_select=str, fdp_pli_select \fR=\fPstr
Defines how fio decides which placement ID to use next. The following types
are defined:
.RS
Expand All @@ -2277,14 +2296,16 @@ Choose a placement ID at random (uniform).
Round robin over available placement IDs. This is the default.
.RE
.P
The available placement ID index/indices is defined by \fBfdp_pli\fR option.
The available placement ID (indices) are defined by the \fBplids\fR option.
.RE
.TP
.BI (io_uring_cmd,xnvme)fdp_pli \fR=\fPstr
Select which Placement ID Index/Indicies this job is allowed to use for writes.
By default, the job will cycle through all available Placement IDs, so use this
to isolate these identifiers to specific jobs. If you want fio to use placement
identifier only at indices 0, 2 and 5 specify, you would set `fdp_pli=0,2,5`.
.BI (io_uring_cmd,xnvme)plids=str, fdp_pli \fR=\fPstr
Select which Placement IDs (streams) or Placement ID Indicies (FDP) this job is
allowed to use for writes. For FDP by default, the job will cycle through all
available Placement IDs, so use this to isolate these identifiers to specific
jobs. If you want fio to use placement identifier only at indices 0, 2 and 5
specify, you would set `plids=0,2,5`. For streams this should be a
comma-separated list of Stream IDs.
.TP
.BI (io_uring_cmd,xnvme)md_per_io_size \fR=\fPint
Size in bytes for separate metadata buffer per IO. Default: 0.
Expand Down

0 comments on commit 349bbcb

Please sign in to comment.