Re: Very slow qemu device access
From: Matthew Wilcox
Date: Sun Aug 09 2020 - 10:25:31 EST
On Sun, Aug 09, 2020 at 10:40:05AM +0800, Ming Lei wrote:
> Hello Matthew,
>
> On Fri, Aug 07, 2020 at 06:44:16PM +0100, Matthew Wilcox wrote:
> >
> > Everything starts going very slowly after this commit:
> >
> > commit 37f4a24c2469a10a4c16c641671bd766e276cf9f (refs/bisect/bad)
> > Author: Ming Lei <ming.lei@xxxxxxxxxx>
> > Date: Tue Jun 30 22:03:57 2020 +0800
> >
> > blk-mq: centralise related handling into blk_mq_get_driver_tag
>
> Yeah, the above is one known bad commit, which is reverted in
> 4e2f62e566b5 ("Revert "blk-mq: put driver tag when this request is completed")
>
> Finally the fixed patch of 'blk-mq: centralise related handling into blk_mq_get_driver_tag'
> is merged as 568f27006577 ("blk-mq: centralise related handling into blk_mq_get_driver_tag").
>
> So please test either 4e2f62e566b5 or 568f27006577 and see if there is
> such issue.
4e2f62e566b5 is good
568f27006577 is bad
As before, the stack points to the tag code:
# cat /proc/9986/stack
[<0>] blk_mq_get_tag+0x109/0x250
[<0>] __blk_mq_alloc_request+0x67/0xf0
[<0>] blk_mq_submit_bio+0xee/0x560
[<0>] submit_bio_noacct+0x3a3/0x410
[<0>] submit_bio+0x33/0xf0
It's not nice to leave these little landmines in the git history for
bisect to fall into ;-(