Re: [PATCH] MD: make bio mergeable

From: Jens Axboe
Date: Tue Apr 26 2016 - 10:21:29 EST


On 04/26/2016 03:56 AM, Ming Lei wrote:
On Tue, Apr 26, 2016 at 7:52 AM, Shaohua Li <shli@xxxxxx> wrote:
blk_queue_split marks bio unmergeable, which makes sense for normal bio.
But if dispatching the bio to underlayer disk, the blk_queue_split
checks are invalid, hence it's possible the bio becomes mergeable.

If the bio from md is splitted and marked as NOMERGE, it means some
queue limits are reached. So looks the raid's queue limit is set as not
big enough, could your find which limit causes the splitting and nomerge?

raid0 sets a limit of the stripe size for IO. Once the IO has passed md, there's no reason why we can't merge for the lower driver. This is (potentially) a huge performance issue on trim, since a lot of devices are trim ops / sec limited rather than throughput limited.

--
Jens Axboe