Re: [PATCH] block: loose check on sg gap
From: Ming Lei
Date: Wed Jan 11 2017 - 21:54:22 EST
On Wed, Jan 11, 2017 at 1:10 PM, Dexuan Cui <decui@xxxxxxxxxxxxx> wrote:
>> From: Dexuan Cui
>> Sent: Tuesday, December 20, 2016 11:41
>> To: 'Jens Axboe' <axboe@xxxxxx>; Ming Lei <ming.lei@xxxxxxxxxxxxx>
>> Cc: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>; linux-block
>> <linux-block@xxxxxxxxxxxxxxx>; Christoph Hellwig <hch@xxxxxxxxxxxxx>;
>> Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>; Keith Busch
>> <keith.busch@xxxxxxxxx>; Hannes Reinecke <hare@xxxxxxx>; Mike Christie
>> <mchristi@xxxxxxxxxx>; Martin K. Petersen <martin.petersen@xxxxxxxxxx>;
>> Toshi Kani <toshi.kani@xxxxxxx>; Dan Williams <dan.j.williams@xxxxxxxxx>;
>> Damien Le Moal <damien.lemoal@xxxxxxxx>
>> Subject: RE: [PATCH] block: loose check on sg gap
>>
>> > From: Jens Axboe [mailto:axboe@xxxxxx]
>> > Sent: Tuesday, December 20, 2016 10:31
>> > To: Ming Lei <ming.lei@xxxxxxxxxxxxx>
>> > Cc: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>; linux-block
>> <linux-
>> > block@xxxxxxxxxxxxxxx>; Christoph Hellwig <hch@xxxxxxxxxxxxx>; Dexuan
>> Cui
>> > <decui@xxxxxxxxxxxxx>; Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>; Keith
>> Busch
>> > <keith.busch@xxxxxxxxx>; Hannes Reinecke <hare@xxxxxxx>; Mike Christie
>> > <mchristi@xxxxxxxxxx>; Martin K. Petersen
>> <martin.petersen@xxxxxxxxxx>;
>> > Toshi Kani <toshi.kani@xxxxxxx>; Dan Williams
>> <dan.j.williams@xxxxxxxxx>;
>> > Damien Le Moal <damien.lemoal@xxxxxxxx>
>> > Subject: Re: [PATCH] block: loose check on sg gap
>> >
>> > On 12/19/2016 07:07 PM, Ming Lei wrote:
>> > > On Sun, Dec 18, 2016 at 12:49 AM, Jens Axboe <axboe@xxxxxx> wrote:
>> > >> On 12/17/2016 03:49 AM, Ming Lei wrote:
>> > >>> If the last bvec of the 1st bio and the 1st bvec of the next
>> > >>> bio are contineous physically, and the latter can be merged
>> > >>> to last segment of the 1st bio, we should think they don't
>> > >>> violate sg gap(or virt boundary) limit.
>> > >>>
>> > >>> Both Vitaly and Dexuan reported lots of unmergeable small bios
>> > >>> are observed when running mkfs on Hyper-V virtual storage, and
>> > >>> performance becomes quite low, so this patch is figured out for
>> > >>> fixing the performance issue.
>> > >>>
>> > >>> The same issue should exist on NVMe too sine it sets virt boundary
>> too.
>> > >>
>> > >> It looks pretty reasonable to me. I'll queue it up for some testing,
>> > >> changes like this always make me a little nervous.
>> > >
>> > > Understood.
>> > >
>> > > But given it is still in early stage of 4.10 cycle, seems fine to expose
>> > > it now, and we should have enough time to fix it if there might be
>> > > regressions.
>> > >
>> > > BTW, it passes my xfstest(ext4) over sata/NVMe.
>> >
>> > It's been fine here in testing, too. I'm not worried about performance
>> > regressions, those we can always fix. Merging makes me worried about
>> > corruption, and those regressions are much worse.
>> >
>> > Any reason we need to rush this? I'd be more comfortable pushing this to
>> > 4.11, unless there are strong reasons this should make 4.10.
>> >
>> > --
>> > Jens Axboe
>>
>> Hi Jens,
>>
>> As far as I know, the patch is important to popular Linux distros,
>> e.g. at least Ubuntu 14.04.5, 16.x and RHEL 7.3, when they run on
>> Hyper-V/Azure, because they can suffer from a pretty bad
>> throughput/latency
>> in some cases, e.g. mkfs.ext4 for a 100GB partition can take 8 minutes, but
>> with the patch, it only takes 1 second.
>>
>> -- Dexuan
>
> Hi Ming, Jens,
> Did you find any issue later when testing with the patch?
>
> May I know if it's possible to have it in 4.10 considering the above impact?
>
> Is it on some temporary branch of linux-block.git? Looks not.
Dexuan, Jens has said that this patch may land v4.11, so just wait a release
and let it expose into more tests.
Thanks,
Ming