All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] Improve libaio IO priority support
@ 2021-07-06  0:17 Damien Le Moal
  2021-07-06  0:17 ` [PATCH 01/11] manpage: fix formatting Damien Le Moal
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-07-06  0:17 UTC (permalink / raw)
  To: fio, Jens Axboe; +Cc: Bart Van Assche

This series improves libaio engine support for IO priority, adding
options to allow for mixed priority workloads to be specified more
easily and to match the kernel supported IO priority features.

The first 3 patches are small cleanup and fixes in the manpage and
fiograph tool.

Patch 4 and 5 introduce some helper functions to simplify the code in
the followup patches.

Patch 6 changes the cmdprio_percentage option to allow specifying
different percentages for reads and writes.

Patch 7 and 8 introduce the aioprioclass, aioprio and aioprio_bssplit.
These together allow a script to specify different IO priorities for
reads and writes of different sizes with different percentages.

Patch 9 relaxes restrictions on the cmdprio_percentage option to allow
jobs to execute AIOs using a default priority as set with ioprio_set()
(as the kernel supports this).

Patch 10 introduces the log_prio option to log each IO priority value,
allowing users to do per-priority level performance analysis with
complex workloads using many jobs.

Finally, patch 11 adds a couple of example scripts to illustrate the use
of the new options introduced.

Comments are as always most welcome.

Damien Le Moal (11):
  manpage: fix formatting
  manpage: fix definition of prio and prioclass options
  tools: fiograph: do not overwrite input script file
  os: introduce ioprio_value() helper
  options: make parsing functions available to ioengines
  libaio,io_uring: improve cmdprio_percentage option
  libaio: introduce aioprio and aioprioclass options
  libaio: introduce aioprio_bssplit
  libaio: relax cdmprio_percentage constraints
  fio: Introduce the log_prio option
  examples: add libaio priority use examples

 HOWTO                            |  57 +++++++--
 backend.c                        |   1 +
 cconv.c                          |   2 +
 client.c                         |   2 +
 engines/filecreate.c             |   2 +-
 engines/filedelete.c             |   2 +-
 engines/filestat.c               |   2 +-
 engines/io_uring.c               |  33 +++--
 engines/libaio.c                 | 210 ++++++++++++++++++++++++++++---
 eta.c                            |   2 +-
 examples/aio-prio-bssplit.fio    |  17 +++
 examples/aio-prio-bssplit.png    | Bin 0 -> 48709 bytes
 examples/aio-prio-percentage.fio |  17 +++
 examples/aio-prio-percentage.png | Bin 0 -> 48752 bytes
 fio.1                            |  76 ++++++++---
 fio.h                            |   5 +
 init.c                           |   4 +
 io_u.c                           |  14 ++-
 io_u.h                           |  10 +-
 iolog.c                          |  45 +++++--
 iolog.h                          |  16 ++-
 options.c                        |  50 ++++----
 os/os-android.h                  |  24 ++--
 os/os-dragonfly.h                |   1 +
 os/os-linux.h                    |  24 ++--
 os/os.h                          |   4 +
 server.h                         |   3 +-
 stat.c                           |  75 +++++------
 stat.h                           |   9 +-
 thread_options.h                 |  20 +++
 tools/fiograph/fiograph.conf     |   4 +-
 tools/fiograph/fiograph.py       |   4 +-
 32 files changed, 574 insertions(+), 161 deletions(-)
 create mode 100644 examples/aio-prio-bssplit.fio
 create mode 100644 examples/aio-prio-bssplit.png
 create mode 100644 examples/aio-prio-percentage.fio
 create mode 100644 examples/aio-prio-percentage.png

-- 
2.31.1



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-08-02  5:44 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-06  0:17 [PATCH 00/11] Improve libaio IO priority support Damien Le Moal
2021-07-06  0:17 ` [PATCH 01/11] manpage: fix formatting Damien Le Moal
2021-07-06  0:17 ` [PATCH 02/11] manpage: fix definition of prio and prioclass options Damien Le Moal
2021-07-06  0:17 ` [PATCH 03/11] tools: fiograph: do not overwrite input script file Damien Le Moal
2021-07-06  0:17 ` [PATCH 04/11] os: introduce ioprio_value() helper Damien Le Moal
2021-07-06  0:17 ` [PATCH 05/11] options: make parsing functions available to ioengines Damien Le Moal
2021-07-06  0:17 ` [PATCH 06/11] libaio,io_uring: improve cmdprio_percentage option Damien Le Moal
2021-07-06  0:17 ` [PATCH 07/11] libaio: introduce aioprio and aioprioclass options Damien Le Moal
2021-07-06  0:17 ` [PATCH 08/11] libaio: introduce aioprio_bssplit Damien Le Moal
2021-07-06  0:17 ` [PATCH 09/11] libaio: relax cdmprio_percentage constraints Damien Le Moal
2021-07-06  0:17 ` [PATCH 10/11] fio: Introduce the log_prio option Damien Le Moal
2021-07-06  0:17 ` [PATCH 11/11] examples: add libaio priority use examples Damien Le Moal
2021-07-19  3:24 ` [PATCH 00/11] Improve libaio IO priority support Damien Le Moal
2021-07-19 14:20   ` Jens Axboe
2021-08-02  5:44     ` Damien Le Moal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.