Thread (28 messages) 28 messages, 9 authors, 2022-03-30

Re: [PATCH] block: check more requests for multiple_queues in blk_attempt_plug_merge

From: Song Liu <song@kernel.org>
Date: 2022-03-11 22:43:28
Also in: linux-block, stable

On Fri, Mar 11, 2022 at 1:42 PM Paul Menzel [off-list ref] wrote:
Dear Song,


Am 11.03.22 um 17:59 schrieb Song Liu:
quoted
On Fri, Mar 11, 2022 at 6:16 AM Jens Axboe [off-list ref] wrote:
quoted
On 3/10/22 5:07 PM, Jens Axboe wrote:
quoted
In any case, just doing larger reads would likely help quite a bit, but
would still be nice to get to the bottom of why we're not seeing the
level of merging we expect.
Song, can you try this one? It'll do the dispatch in a somewhat saner
fashion, bundling identical queues. And we'll keep iterating the plug
list for a merge if we have multiple disks, until we've seen a queue
match and checked.
This one works great! We are seeing 99% read request merge and
500kB+ average read size. The original patch in this thread only got
88% and 34kB for these two metrics.
Nice. I am curious, how these metrics can be obtained?
We can use tools as iostat:
iostat -mx 2
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s
%rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sdb           3176.50    1.00    100.57      0.00 22503.00     0.00
87.63   0.00   10.22    3.50  32.46    32.42     4.00   0.24  76.60
sdi           3167.00    1.00    100.57      0.00 22512.50     0.00
87.67   0.00   11.58    4.00  36.68    32.52     4.00   0.24  77.55

The two metrics we used here are %rrqm and rareq-sz.

Thanks,
Song
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help