Thread (14 messages) 14 messages, 3 authors, 2017-12-08

Re: [PATCH] SCSI: run queue if SCSI device queue isn't ready and queue is idle

From: Ming Lei <hidden>
Date: 2017-12-08 00:36:56
Also in: linux-scsi, lkml

On Thu, Dec 07, 2017 at 09:11:54PM +0000, Bart Van Assche wrote:
On Thu, 2017-12-07 at 09:31 +0800, Ming Lei wrote:
quoted
But if you always call blk_mq_sched_mark_restart_hctx() before a new
dispatch, that may affect performance on NVMe which may never trigger
BLK_STS_RESOURCE.
Hmm ... only the SCSI core implements .get_budget() and .put_budget() and
I proposed to insert a blk_mq_sched_mark_restart_hctx() call under "if
(q->mq_ops->get_budget)". In other words, I proposed to insert a
blk_mq_sched_mark_restart_hctx() call in a code path that is never triggered
by the NVMe driver. So I don't see how the change I proposed could affect
the performance of the NVMe driver?
You only add the check on none scheduler, right?

But this race isn't related with scheduler, that means it can't fix the
race with other schedulers.

I have test case to trigger this issue on both none and mq-deadline, and
my patch fixes them all.

Thanks,
Ming
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help