All of lore.kernel.org
 help / color / mirror / Atom feed
From: Damien Le Moal <damien.lemoal@wdc.com>
To: linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk>
Subject: [PATCH 0/7] Elevator cleanups and improvements
Date: Fri, 23 Aug 2019 09:15:21 +0900	[thread overview]
Message-ID: <20190823001528.5673-1-damien.lemoal@wdc.com> (raw)

This patch series implements some cleanup of the elevator initialization
code and introduces elevator features identification and device matching
to enhance checks for elevator/device compatibility and fitness.

The first 3 patches of the series are simple cleanups which simplify and
streamline elevator initialization for newly allocated device queues.

The following two patches introduce elevator features control which
allow defining features and function that an elevator supports and match
these against features required by a block device driver. With this, the
sysfs elevator list for a device always only shows elevators matching
the features that a particular device requires, with the exception of
the none elevator which has no features but is always available for use
with any device.

The first feature defined is for zoned block device write order control
through zone write locking which prevents the use of any scheduler that
does not support this feature with zoned devices.

The last 2 patches of this series rework the default elevator selection
and initialization to allow for the feature matching to work,
simultaneously addressing cases not currently well supported, namely,
multi-queue zoned block devices.

Damien Le Moal (7):
  block: Cleanup elevator_init_mq() use
  block: Change elevator_init_mq() to always succeed
  block: Remove sysfs lock from elevator_init_rq()
  block: Introduce elevator features
  block: Introduce zoned block device elevator feature
  block: Improve default elevator selection
  block: Delay default elevator initialization

 block/blk-mq.c                |  10 ---
 block/blk-settings.c          |  15 ++++
 block/blk.h                   |   2 +-
 block/elevator.c              | 144 +++++++++++++++++++++++++---------
 block/genhd.c                 |   3 +
 block/mq-deadline.c           |   1 +
 drivers/block/null_blk_main.c |   5 ++
 drivers/scsi/sd_zbc.c         |   2 +
 include/linux/blkdev.h        |   4 +
 include/linux/elevator.h      |   8 ++
 10 files changed, 147 insertions(+), 47 deletions(-)

-- 
2.21.0


             reply	other threads:[~2019-08-23  0:15 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-23  0:15 Damien Le Moal [this message]
2019-08-23  0:15 ` [PATCH 1/7] block: Cleanup elevator_init_mq() use Damien Le Moal
2019-08-23  8:08   ` Johannes Thumshirn
2019-08-23  0:15 ` [PATCH 2/7] block: Change elevator_init_mq() to always succeed Damien Le Moal
2019-08-23  8:54   ` Johannes Thumshirn
2019-08-23  0:15 ` [PATCH 3/7] block: Remove sysfs lock from elevator_init_rq() Damien Le Moal
2019-08-23  9:00   ` Johannes Thumshirn
2019-08-23 20:32   ` Bart Van Assche
2019-08-23  0:15 ` [PATCH 4/7] block: Introduce elevator features Damien Le Moal
2019-08-23 11:19   ` Johannes Thumshirn
2019-08-23  0:15 ` [PATCH 5/7] block: Introduce zoned block device elevator feature Damien Le Moal
2019-08-23 11:41   ` Johannes Thumshirn
2019-08-23  0:15 ` [PATCH 6/7] block: Improve default elevator selection Damien Le Moal
2019-08-23  0:15 ` [PATCH 7/7] block: Delay default elevator initialization Damien Le Moal

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=20190823001528.5673-1-damien.lemoal@wdc.com \
    --to=damien.lemoal@wdc.com \
    --cc=axboe@kernel.dk \
    --cc=linux-block@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.