Re: Very slow qemu device access

From: Ming Lei
Date: Sun Aug 09 2020 - 23:11:30 EST


On Sun, Aug 09, 2020 at 03:25:22PM +0100, Matthew Wilcox wrote:
> 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

Please try the following patch, and we shouldn't take flush request
account into driver tag allocation, because it always shares the
data request's tag: