[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACVXFVO02xNNsTXy1QNM1TYQ+rxC9or6H-FfAtTiaGsZV6WYkw@mail.gmail.com>
Date: Tue, 26 Apr 2016 23:17:57 +0800
From: Ming Lei <ming.lei@...onical.com>
To: Jens Axboe <axboe@...nel.dk>
Cc: Shaohua Li <shli@...com>, linux-block@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"open list:SOFTWARE RAID (Multiple Disks) SUPPORT"
<linux-raid@...r.kernel.org>,
Ju Hyung Park <qkrwngud825@...il.com>,
FB Kernel Team <Kernel-team@...com>,
"v4.3+" <stable@...r.kernel.org>, Jens Axboe <axboe@...com>,
Neil Brown <neilb@...e.de>
Subject: Re: [PATCH] MD: make bio mergeable
On Tue, Apr 26, 2016 at 10:21 PM, Jens Axboe <axboe@...nel.dk> wrote:
> On 04/26/2016 03:56 AM, Ming Lei wrote:
>>
>> On Tue, Apr 26, 2016 at 7:52 AM, Shaohua Li <shli@...com> 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.
Just found raid0 maps the chunk sectors into max hw sectors of queue,
and dm uses blk_stack_limits() to set up the limits.
So looks a raid specific issue, then the fix is correct, sorry for the noise.
thanks,
Ming
Powered by blists - more mailing lists