[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <EC2ECF84-10DC-4A9C-8951-D87607C492F0@linaro.org>
Date: Tue, 6 Dec 2016 11:01:31 +0100
From: Paolo Valente <paolo.valente@...aro.org>
To: Jens Axboe <axboe@...com>
Cc: Jens Axboe <axboe@...nel.dk>, linux-block@...r.kernel.org,
Linux-Kernal <linux-kernel@...r.kernel.org>,
Mark Brown <broonie@...nel.org>,
Ulf Hansson <ulf.hansson@...aro.org>,
Linus Walleij <linus.walleij@...aro.org>
Subject: Re: [PATCHSET/RFC v2] Make legacy IO schedulers work with blk-mq
> Il giorno 05 dic 2016, alle ore 19:26, Jens Axboe <axboe@...com> ha scritto:
>
> Version 2 of the hack/patchset, that enables blk-mq to use the legacy
> IO schedulers with single queue devices. Original posting is here:
>
> https://marc.info/?l=linux-block&m=148073493203664&w=2
>
> You can also found this version in the following git branch:
>
> git://git.kernel.dk/linux-block blk-mq-legacy-sched.2
>
> and new developments/fixes will happen in the 'blk-mq-legacy-sched'
> branch.
>
Hi Jens,
while running some tests, the system hung after a while.
If I'm not mistaken, the above branches contain a (modified) 4.9-rc1.
Maybe instability follows from that? I have tried a rebase, but
resulting conflicts are non-trivial (for me) to solve.
Meanwhile, if you deem it useful, I can provide you with the oops
message, as I catch it.
As a secondary issue, iostat always reports 0 MB/s for both reads and
writes, while tps are non null.
Thanks,
Paolo
> Changes since v1:
>
> - Remove the default 'deadline' hard wiring, and provide Kconfig
> entries to set the blk-mq scheduler. This now works like for legacy
> devices.
>
> - Rename blk_use_mq_path() to blk_use_sched_path() to make it more
> clear. Suggested by Johannes Thumshirn.
>
> - Fixup a spot where we did not use the accessor function to determine
> what path to use.
>
> - Flush mq software queues, even if IO scheduler managed. This should
> make paths work that are MQ aware, and using only MQ interfaces.
>
> - Cleanup free path of MQ request.
>
> - Account when IO was queued to a hardware context, similarly to the
> regular MQ path.
>
> - Add BLK_MQ_F_NO_SCHED flag, so that drivers can explicitly ask for
> no scheduling on a queue. Add this for NVMe admin queues.
>
> - Kill BLK_MQ_F_SCHED, since we now have Kconfig entries for setting
> the desired IO scheduler.
>
> - Fix issues with live scheduler switching through sysfs. Should now
> be solid, even with lots of IO running on the device.
>
> - Drop null_blk and SCSI changes, not needed anymore.
>
>
> block/Kconfig.iosched | 29 ++++
> block/blk-core.c | 77 ++++++-----
> block/blk-exec.c | 12 +
> block/blk-flush.c | 40 +++--
> block/blk-merge.c | 5
> block/blk-mq.c | 332 +++++++++++++++++++++++++++++++++++++++++++++---
> block/blk-mq.h | 1
> block/blk-sysfs.c | 2
> block/blk.h | 16 ++
> block/cfq-iosched.c | 22 ++-
> block/elevator.c | 125 ++++++++++++------
> drivers/nvme/host/pci.c | 1
> include/linux/blk-mq.h | 1
> include/linux/blkdev.h | 2
> 14 files changed, 555 insertions(+), 110 deletions(-)
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-block" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists