archive mirror
 help / color / mirror / Atom feed
	Adam Manzanares <>
Subject: [PATCH v7 0/5] AIO add per-command iopriority
Date: Tue, 22 May 2018 10:52:16 -0700	[thread overview]
Message-ID: <> (raw)

From: Adam Manzanares <>

This is the per-I/O equivalent of the ioprio_set system call.
See the following link for performance implications on a SATA HDD:

First patch factors ioprio_check_cap function out of ioprio_set system call to
also be used by the aio ioprio interface.

Second patch converts kiocb ki_hint field to a u16 to avoid kiocb bloat.

Third patch passes ioprio hint from aio iocb to kiocb and initializes kiocb
ioprio value appropriately when it is not explicitly set.

Fourth patch enables the feature for blkdev.

Fifth patch enables the feature for iomap direct IO

Note: this work is based on top of linux-vfs/for-next

v2: merge patches
    validate intended use with IOCB_IOPRIO
    add linux-api and linux-block to cc

v3: add ioprio_check_cap function
    convert kiocb ki_hint to u16
    use ioprio_check_cap when adding ioprio to kiocb in aio.c

v4: handle IOCB_IOPRIO in aio_prep_rw
    note patch 3 depends on patch 1 in commit msg

v5: rename ki_hint_valid -> ki_hint_validate
    remove ki_hint_validate comment and whitespace
    remove IOCB_IOPRIO flag
    initialize kiocb to have no priority

v6: add __blkdev_direct_IO_simple ioprio support

v7: Tie ki_hint_validate to kiocb ki_hint type
    Add additional ki_hint_validate check

Adam Manzanares (5):
  block: add ioprio_check_cap function
  fs: Convert kiocb rw_hint from enum to u16
  fs: Add aio iopriority support
  fs: blkdev set bio prio from kiocb prio
  fs: iomap dio set bio prio from kiocb prio

 block/ioprio.c               | 22 ++++++++++++++++------
 drivers/block/loop.c         |  3 +++
 fs/aio.c                     | 18 +++++++++++++++++-
 fs/block_dev.c               |  2 ++
 fs/iomap.c                   |  1 +
 include/linux/fs.h           | 16 ++++++++++++++--
 include/linux/ioprio.h       |  2 ++
 include/uapi/linux/aio_abi.h |  1 +
 8 files changed, 56 insertions(+), 9 deletions(-)


             reply	other threads:[~2018-05-22 17:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-22 17:52 adam.manzanares [this message]
2018-05-22 17:52 ` [PATCH v7 1/5] block: add ioprio_check_cap function adam.manzanares
2018-05-22 17:52 ` [PATCH v7 2/5] fs: Convert kiocb rw_hint from enum to u16 adam.manzanares
2018-05-22 17:52 ` [PATCH v7 3/5] fs: Add aio iopriority support adam.manzanares
2018-05-22 17:52 ` [PATCH v7 4/5] fs: blkdev set bio prio from kiocb prio adam.manzanares
2018-05-22 17:52 ` [PATCH v7 5/5] fs: iomap dio " adam.manzanares
2018-05-22 17:55 ` [PATCH v7 0/5] AIO add per-command iopriority Jens Axboe
2018-05-22 18:30   ` Al Viro
2018-05-22 18:30     ` Jens Axboe
2018-05-22 22:31       ` Adam Manzanares

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
    --subject='Re: [PATCH v7 0/5] AIO add per-command iopriority' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).