[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181217212826.GA71824@dennisz-mbp.dhcp.thefacebook.com>
Date: Mon, 17 Dec 2018 16:28:26 -0500
From: Dennis Zhou <dennis@...nel.org>
To: Liu Bo <obuil.liubo@...il.com>
Cc: Dennis Zhou <dennis@...nel.org>, Jens Axboe <axboe@...nel.dk>,
Tejun Heo <tj@...nel.org>, Josef Bacik <josef@...icpanda.com>,
kernel-team@...com, linux-block@...r.kernel.org,
cgroups@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] block: fix blk-iolatency accounting underflow
On Mon, Dec 17, 2018 at 11:42:28AM -0800, Liu Bo wrote:
> On Mon, Dec 17, 2018 at 8:04 AM Dennis Zhou <dennis@...nel.org> wrote:
> >
> > The blk-iolatency controller measures the time from rq_qos_throttle() to
> > rq_qos_done_bio() and attributes this time to the first bio that needs
> > to create the request. This means if a bio is plug-mergeable or
> > bio-mergeable, it gets to bypass the blk-iolatency controller.
> >
>
> Hi,
>
> I have a question about merging in plug list, since plug merges are
> done before rq_qos_throttle(), why would plug-mergeable bios bypass
> the controller?
>
> thanks,
> liubo
>
Hi Liubo,
BIO_TRACKED is tagging the bio that is responsible for allocating a new
request, so that rq_qos controllers can decide whether or not they want
to process the bio any part of the way. I should have phrased that a
little better in the commit message. It's not that the bio itself is
bypassing the blk-iolatency controller, but the blk-iolatency controller
deciding to not do anything based on the BIO_TRACKED flag. This doesn't
change any of the function calls made on a bio/request.
Thanks,
Dennis
Powered by blists - more mailing lists