Re: [PATCH] block: elevator.c: Check elevator kernel argument again

From: Marcos Paulo de Souza
Date: Sun Jul 14 2019 - 00:00:50 EST


On Sat, Jul 13, 2019 at 03:53:28PM -0600, Jens Axboe wrote:
> On 7/12/19 9:52 PM, Marcos Paulo de Souza wrote:
> > Since the inclusion of blk-mq, elevator= kernel argument was not being
> > considered anymore, making it impossible to specify a specific elevator
> > at boot time as it was used before.
> >
> > This is done by checking chosen_elevator global variable, which is
> > populated once elevator= kernel argument is passed. Without this patch,
> > mq-deadline is the only elevator that is can be used at boot time.
> >
> > Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@xxxxxxxxx>
> > ---
> >
> > I found this issue while inspecting why noop scheduler was gone, and
> > so I found that was now impossible to use a scheduler different from
> > mq-deadeline.
> >
> > Am I missing something? Is this a desirable behavior?
>
> Just google, I'm sure 2-3 discussions on this topic will come up.
>
> tldr is that the original parameter was a mistake and doesn't work at
> all for multiple devices. Today it's even worse, as we have device
> types that won't even work properly with any scheduler, liked the
> zoned devices. The parameter was never enabled for blk-mq because of
> that, and hence died when the legacy IO path was scrapped. It's not
> coming back.

Thanks Jens. So it makes sense to remove all leftover code of elevator argument with
some dead documentation about it, avoiding confusion about it in the future
again. I will send some patches tomorrow.

>
> --
> Jens Axboe
>