Thread (72 messages) flat view 72 messages, 4 authors, 2017-02-16

Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler

From: Paolo Valente <hidden>
Date: 2017-01-20 11:07:10
Also in: lkml

Il giorno 17 gen 2017, alle ore 03:47, Jens Axboe [off-list ref] ha =
scritto:
=20
On 12/22/2016 09:49 AM, Paolo Valente wrote:
quoted
=20
quoted
Il giorno 17 dic 2016, alle ore 01:12, Jens Axboe [off-list ref] ha =
scritto:
quoted
quoted
=20
This is basically identical to deadline-iosched, except it registers
as a MQ capable scheduler. This is still a single queue design.
=20
=20
One last question (for today ...):in mq-deadline there are no
"schedule dispatch" or "unplug work" functions.  In blk, CFQ and BFQ
do these schedules/unplugs in a lot of cases.  What's the right
replacement?  Just doing nothing?
=20
You just use blk_mq_run_hw_queue() or variants thereof to kick off =
queue
runs.
=20
Hi Jens,
I'm working on this right now.  I have a pair of quick questions about
performance.

In the blk version of bfq, if the in-service bfq_queue happen to have
no more budget when the bfq dispatch function is invoked, then bfq:
returns no request (NULL), immediately expires the in-service
bfq_queue, and schedules a new dispatch.  The third step is taken so
that, if other bfq_queues have requests, then a new in-service
bfq_queue will be selected on the upcoming new dispatch, and a new
request will be provided right away.

My questions are: is this dispatch-schedule step still needed with
blk-mq, to avoid a stall?  If it is not needed to avoid a stall, would
it still be needed to boost throughput, because it would force an
immediate, next dispatch?

BTW, bfq-mq survived its first request completion.  I will provide you
with a link to a github branch as soon as bfq-mq seems able to stand
up with a minimal workload.

Thanks,
Paolo
--=20
Jens Axboe
=20
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help