Re: [PATCH] block: check more requests for multiple_queues in blk_attempt_plug_merge
From: Christoph Hellwig <hch@infradead.org>
Date: 2022-03-10 06:48:15
Also in:
linux-block, stable
From: Christoph Hellwig <hch@infradead.org>
Date: 2022-03-10 06:48:15
Also in:
linux-block, stable
On Tue, Mar 08, 2022 at 10:42:09PM -0800, Song Liu wrote:
RAID arrays check/repair operations benefit a lot from merging requests. If we only check the previous entry for merge attempt, many merge will be missed. As a result, significant regression is observed for RAID check and repair. Fix this by checking more than just the previous entry when plug->multiple_queues == true.
But this also means really significant CPU overhead for all other workloads.
This improves the check/repair speed of a 20-HDD raid6 from 19 MB/s to 103 MB/s.
What driver uses multiple queues for HDDs? Can you explain the workload submitted by a md a bit better? I wonder if we can easily do the right thing straight in the md driver.