RE: [PATCH] block-mq: set both block queue and hardware queue restart bit for restart

From: Long Li
Date: Fri May 05 2017 - 04:58:48 EST




> -----Original Message-----
> From: linux-block-owner@xxxxxxxxxxxxxxx [mailto:linux-block-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Long Li
> Sent: Friday, April 14, 2017 1:12 AM
> To: Bart Van Assche <Bart.VanAssche@xxxxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; linux-block@xxxxxxxxxxxxxxx; KY Srinivasan
> <kys@xxxxxxxxxxxxx>; axboe@xxxxxxxxx
> Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
> Subject: RE: [PATCH] block-mq: set both block queue and hardware queue
> restart bit for restart
>
>
>
> > -----Original Message-----
> > From: Bart Van Assche [mailto:Bart.VanAssche@xxxxxxxxxxx]
> > Sent: Monday, April 10, 2017 4:48 PM
> > To: linux-kernel@xxxxxxxxxxxxxxx; linux-block@xxxxxxxxxxxxxxx; KY
> > Srinivasan <kys@xxxxxxxxxxxxx>; Long Li <longli@xxxxxxxxxxxxx>;
> > axboe@xxxxxxxxx
> > Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
> > Subject: Re: [PATCH] block-mq: set both block queue and hardware queue
> > restart bit for restart
> >
> > On Thu, 2017-04-06 at 04:21 +0000, KY Srinivasan wrote:
> > > > -----Original Message-----
> > > > From: Bart Van Assche [mailto:Bart.VanAssche@xxxxxxxxxxx]
> > > > Sent: Wednesday, April 5, 2017 8:46 PM
> > > > To: linux-kernel@xxxxxxxxxxxxxxx; linux-block@xxxxxxxxxxxxxxx;
> > > > Long Li <longli@xxxxxxxxxxxxx>; axboe@xxxxxxxxx
> > > > Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>; KY Srinivasan
> > > > <kys@xxxxxxxxxxxxx>
> > > > Subject: Re: [PATCH] block-mq: set both block queue and hardware
> > > > queue restart bit for restart
> > > >
> > > > On Thu, 2017-04-06 at 03:38 +0000, Long Li wrote:
> > > > > > -----Original Message-----
> > > > > > From: Bart Van Assche [mailto:Bart.VanAssche@xxxxxxxxxxx]
> > > > > >
> > > > > > Please drop this patch. I'm working on a better solution.
> > > > >
> > > > > Thank you. Looking forward to your patch.
> > > >
> > > > Hello Long,
> > > >
> > > > It would help if you could share the name of the block or SCSI
> > > > driver with which you ran into that lockup and also if you could
> > > > share the name of the I/O scheduler used in your test.
> > >
> > > The tests that indicated the issue were run Hyper-V. The driver is
> > > storvsc_drv.c The I/O scheduler was I think noop.
> >
> > Hello Long and K.Y.,
> >
> > Thank you for the feedback. Can you repeat your test with kernel v4.11-rc6?
> > The patches that went into the block layer for v4.11-rc6 should be
> > sufficient to fix
> > this:
> >
> > $ PAGER= git log --format=short v4.11-rc5..v4.11-rc6 block
> > include/linux/blk* commit 6d8c6c0f97ad8a3517c42b179c1dc8e77397d0e2
> > Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
> >
> >     blk-mq: Restart a single queue if tag sets are shared
> >
> > commit 7587a5ae7eef0439f7be31f1b5959af062bbc5ec
> > Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx>
> >
> >     blk-mq: Introduce blk_mq_delay_run_hw_queue()
> >
> > commit ebe8bddb6e30d7a02775b9972099271fc5910f37
> > Author: Omar Sandoval <osandov@xxxxxx>
> >
> >     blk-mq: remap queues when adding/removing hardware queues
> >
> > commit 54d5329d425650fafaf90660a139c771d2d49cae
> > Author: Omar Sandoval <osandov@xxxxxx>
> >
> >     blk-mq-sched: fix crash in switch error path
> >
> > commit 93252632e828da3e90241a1c0e766556abf71598
> > Author: Omar Sandoval <osandov@xxxxxx>
> >
> >     blk-mq-sched: set up scheduler tags when bringing up new queues
> >
> > commit 6917ff0b5bd4139e08a3f3146529dcb3b95ba7a6
> > Author: Omar Sandoval <osandov@xxxxxx>
> >
> >     blk-mq-sched: refactor scheduler initialization
> >
> > commit 81380ca10778b99dce98940cfc993214712df335
> > Author: Omar Sandoval <osandov@xxxxxx>
> >
> >     blk-mq: use the right hctx when getting a driver tag fails
> >
> > commit ac77a0c463c1d7d659861f7b6d1261970dd3282a
> > Author: Minchan Kim <minchan@xxxxxxxxxx>
> >
> >     block: do not put mq context in blk_mq_alloc_request_hctx
> >
> > Bart.
>
> Thank you. We are doing tests. I will update on the results.
>
> Long

Testing went well. There were no I/O hangs.