Chris Murphy <lists(a)colorremedies.com> writes:
On Fri, Dec 14, 2018 at 11:34 AM Jeff Moyer <jmoyer(a)redhat.com>
wrote:
>
> stan <stanl-fedorauser(a)vfemail.net> writes:
>
> > On Thu, 13 Dec 2018 17:24:21 +0100
> > Tomasz Torcz <tomek(a)pipebreaker.pl> wrote:
> >
> >> On Wed, Dec 12, 2018 at 04:30:20PM -0700, stan wrote:
> >
> >> > Enabled deadline and cfq again, but still no bfq available.
> >> > $ cat /sys/block/sda/queue/scheduler
> >> > noop deadline [cfq]
> >>
> >> Those are single-queue scheduler. Multiqueue uses different
> >> schedulers: bfq, kyber, mq-deadline. MQ schedulers won't appear on
> >> single-queue devices even if you modprobe such schedulers.
> >> You probably need “scsi_mod.use_blk_mq=y dm_mod.use_blk_mq=y” kernel
> >> commandline options, although I think those are default in recent
> >> kernels.
> >
> > Thanks. I got the impression from the documentation I read that BFQ
> > operated for both mq and single queue. In fact, IIRC it actually
> > degraded mq performance slightly, but enhanced single queue
> > performance. I guess I was wrong. I'll try the above to see if it
> > enables me to use bfq on single queue devices.
>
> Yes, it is confusing. Basically, the block layer (and scsi) support a
> legacy path and multi-queue (blk-mq, scsi-mq). However, even if you are
> using blk-mq and scsi-mq, there are two types of devices: those that
> support a single hardware queue, and those that support multiple
> hardware queues.
>
> So, mq schedulers (such as kyber, mq-deadline and bfq) require blk-mq,
> but they can be used on hardware that supports only a single queue.
> This is the distinction that was being made in the bfq documentation.
>
> Clear as mud?
In everything I've read, scsi_mod.use_blk_mq=1 boot param is required
if kernel config # CONFIG_SCSI_MQ_DEFAULT is not set, and on Fedora
kernels it is not set. So far, when I insmod bfq, that will make it
show up as an option for nvme drives, but not hard drives. I haven't
figured out to make it show up for hard drives.
Can you send me your dmesg output?
Thanks!
Jeff