On Tue, Nov 07, 2017 at 10:29:38AM +0800, Ming Lei wrote:
> On Mon, Nov 06, 2017 at 05:07:31PM -0800, Bart Van Assche wrote:
> > Since we are close to the merge window and since it is too late for
> > reworking patches and algorithms that have turned out to be flawed,
> > revert multiple recent patches. Revert patch "blk-mq: don't handle
> > TAG_SHARED in restart" and all patches that conflict with the revert
> > of that patch because that patch is based on an incorrect assumption,
> > namely that the SCSI starved list can be used as a replacement for
> > the blk-mq queue restarting mechanism. Revert patch "scsi: implement
> > .get_budget and .put_budget for blk-mq" because it triggers an
> > infinite loop on my test setup ("scsi 9:0:0:0: rejecting I/O to dead
> > device" + RCU lockup complaint in blk_mq_sched_dispatch_requests()).
> 
> The loop can be fixed by 
> 
>       88022d7201e9 blk-mq: don't handle failure in .get_budget

BTW, the exact reason is that the rq to be failed isn't deleted from
'list' in blk_mq_dispatch_rq_list().

Trust me, I have make sure your srp-test won't hang/crash in my test.

Even my test covered more, such as the following report:

        https://marc.info/?t=150988393300001&r=1&w=2

which is a long-term issue which should be from introduction of blk-mq.

Thanks,
Ming

Reply via email to