Re: [PATCH v3] block: fix blk-iolatency accounting underflow
From: Dennis Zhou <dennis@kernel.org>
Date: 2018-12-17 21:28:32
Also in:
cgroups, lkml
From: Dennis Zhou <dennis@kernel.org>
Date: 2018-12-17 21:28:32
Also in:
cgroups, lkml
On Mon, Dec 17, 2018 at 11:42:28AM -0800, Liu Bo wrote:
On Mon, Dec 17, 2018 at 8:04 AM Dennis Zhou [off-list ref] wrote:quoted
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