[dm-devel] [PATCH v5 0/7] Elevator cleanups and improvements
Ming Lei
ming.lei at redhat.com
Fri Sep 6 00:31:30 UTC 2019
On Thu, Sep 05, 2019 at 06:51:28PM +0900, Damien Le Moal wrote:
> 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 2 patches of the series are simple cleanups which simplify
> elevator initialization for newly allocated device queues.
>
> Patch 3 introduce elevator features, allowing a clean and extensible
> definition of devices and features that an elevator supports and match
> these against features required by a block device. With this, the sysfs
> elevator list for a device always shows only 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 sequential write
> constraint support through zone write locking which prevents the use of
> any elevator that does not support this feature with zoned devices.
>
> The last 4 patches of this series rework the default elevator selection
> and initialization to allow for the elevator/device features matching
> to work, doing so addressing cases not currently well supported, namely,
> multi-queue zoned block devices.
>
> Changes from v4:
> * Fix patch 5 again to correctly handle request based DM devices and
> avoid that default queue elevator of these devices end up always
> being "none".
>
> Changes from v3:
> * Fixed patch 5 to correctly handle DM devices which do not register a
> request queue and so do not need elevator initialization.
>
> Changes from v2:
> * Fixed patch 4
> * Call elevator_init_mq() earlier in device_add_disk() as suggested by
> Christoph (patch 5)
> * Fixed title of patch 7
>
> Changes from v1:
> * Addressed Johannes comments
> * Rebased on newest for-next branch to include Ming's sysfs lock changes
>
> Damien Le Moal (7):
> block: Cleanup elevator_init_mq() use
> block: Change elevator_init_mq() to always succeed
> block: Introduce elevator features
> block: Improve default elevator selection
> block: Delay default elevator initialization
> block: Set ELEVATOR_F_ZBD_SEQ_WRITE for nullblk zoned disks
> sd: Set ELEVATOR_F_ZBD_SEQ_WRITE for ZBC disks
>
> block/blk-mq.c | 20 +++--
> block/blk-settings.c | 16 ++++
> block/blk.h | 2 +-
> block/elevator.c | 137 ++++++++++++++++++++++++++--------
> block/genhd.c | 9 +++
> block/mq-deadline.c | 1 +
> drivers/block/null_blk_main.c | 2 +
> drivers/md/dm-rq.c | 2 +-
> drivers/scsi/sd_zbc.c | 2 +
> include/linux/blk-mq.h | 3 +-
> include/linux/blkdev.h | 4 +
> include/linux/elevator.h | 8 ++
> 12 files changed, 161 insertions(+), 45 deletions(-)
Looks fine for the series:
Reviewed-by: Ming Lei <ming.lei at redhat.com>
Thanks,
Ming
More information about the dm-devel
mailing list