[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170120142826.GB18162@kernel.dk>
Date: Fri, 20 Jan 2017 07:28:26 -0700
From: Jens Axboe <axboe@...com>
To: Paolo Valente <paolo.valente@...aro.org>
CC: <linux-block@...r.kernel.org>,
Linux-Kernal <linux-kernel@...r.kernel.org>, <osandov@...com>
Subject: Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline
IO scheduler
On Fri, Jan 20 2017, Paolo Valente wrote:
>
> > Il giorno 17 dic 2016, alle ore 01:12, Jens Axboe <axboe@...com> ha scritto:
> >
> > This is basically identical to deadline-iosched, except it registers
> > as a MQ capable scheduler. This is still a single queue design.
> >
>
> Jens,
> no spin_lock_irq* in the code. So, also request dispatches are
> guaranteed to never be executed in IRQ context? I'm asking this
> question to understand whether I'm missing something that, even in
> BFQ, would somehow allow me to not disable irqs in critical sections,
> even if there is the slice_idle-expiration handler. Be patient with
> my ignorance.
Yes, dispatches will never happen from IRQ context. blk-mq was designed
so we didn't have to use irq disabling locks.
That said, certain parts of the API can be called from IRQ context.
put_request and the completion parts, for instance. But blk-mq doesn't
need to grab any locks there, and neither does mq-deadline. This might
be different from bfq. lockdep can be a big help there.
--
Jens Axboe
Powered by blists - more mailing lists