FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Device-mapper Development

 
 
LinkBack Thread Tools
 
Old 07-05-2012, 09:43 PM
Vivek Goyal
 
Default block: improvements for discard alignment

On Thu, Jul 05, 2012 at 06:01:42PM +0200, Paolo Bonzini wrote:
> When a disk has a large discard_granularity, discards are not split with
> optimal alignment; the pessimization gets bigger as discard_granularity
> and max_discard_sectors become closer.
>
> Take the limit case of discard_granularity == max_discard_sectors == 64.
> Then, if a request is submitted for 256 sectors 2..257 it will be split
> like this: 2..65, 66..129, 130..193, 194..257. None of these requests
> is aligned, so in fact you might end up with no discarded logical blocks
> at all. With this patch, the split will be 2..63, 64..127, 128..191,
> 192..255, 256..257. The patches also take the discard_alignment into
> consideration.
>
> Patch 1 adjusts the computation of the granularity-adjusted
> max_discard_sectors so that it prepares for the new code in patch 2,
> which actually adjusts the split.
>
> v2->v3: drop addition of queue/discard_alignment to sysfs, use
> correct alignment for partitions
>
> Paolo Bonzini (2):
> block: reorganize rounding of max_discard_sectors
> block: split discard into aligned requests

Looks good to me. Did little testing with scsi_debug with discard_alignment=0
and discard_alignment=7 (sectors). We seem to be aligning requests better now.

Acked-by: Vivek Goyal <vgoyal@redhat.com>

Thanks
Vivek

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 
Old 08-01-2012, 01:40 PM
Mike Snitzer
 
Default block: improvements for discard alignment

On Thu, Jul 05 2012 at 12:01pm -0400,
Paolo Bonzini <pbonzini@redhat.com> wrote:

> When a disk has a large discard_granularity, discards are not split with
> optimal alignment; the pessimization gets bigger as discard_granularity
> and max_discard_sectors become closer.
>
> Take the limit case of discard_granularity == max_discard_sectors == 64.
> Then, if a request is submitted for 256 sectors 2..257 it will be split
> like this: 2..65, 66..129, 130..193, 194..257. None of these requests
> is aligned, so in fact you might end up with no discarded logical blocks
> at all. With this patch, the split will be 2..63, 64..127, 128..191,
> 192..255, 256..257. The patches also take the discard_alignment into
> consideration.
>
> Patch 1 adjusts the computation of the granularity-adjusted
> max_discard_sectors so that it prepares for the new code in patch 2,
> which actually adjusts the split.
>
> v2->v3: drop addition of queue/discard_alignment to sysfs, use
> correct alignment for partitions
>
> Paolo Bonzini (2):
> block: reorganize rounding of max_discard_sectors
> block: split discard into aligned requests
>
> block/blk-lib.c | 41 ++++++++++++++++++++++++++++-------------
> include/linux/blkdev.h | 10 ++++++++++
> 2 files changed, 38 insertions(+), 13 deletions(-)

Hey Jens,

Would be great to get these discard fixes in. I know both Christoph and
Vivek have reviewed these changes but that isn't reflected in the patch
headers.

These patches eliminate misaligned discard from being sent to the
dm-thinp target.

Tested-by: Mike Snitzer <snitzer@redhat.com>

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 
Old 08-01-2012, 03:49 PM
Jens Axboe
 
Default block: improvements for discard alignment

On 08/01/2012 03:40 PM, Mike Snitzer wrote:
> On Thu, Jul 05 2012 at 12:01pm -0400,
> Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>> When a disk has a large discard_granularity, discards are not split with
>> optimal alignment; the pessimization gets bigger as discard_granularity
>> and max_discard_sectors become closer.
>>
>> Take the limit case of discard_granularity == max_discard_sectors == 64.
>> Then, if a request is submitted for 256 sectors 2..257 it will be split
>> like this: 2..65, 66..129, 130..193, 194..257. None of these requests
>> is aligned, so in fact you might end up with no discarded logical blocks
>> at all. With this patch, the split will be 2..63, 64..127, 128..191,
>> 192..255, 256..257. The patches also take the discard_alignment into
>> consideration.
>>
>> Patch 1 adjusts the computation of the granularity-adjusted
>> max_discard_sectors so that it prepares for the new code in patch 2,
>> which actually adjusts the split.
>>
>> v2->v3: drop addition of queue/discard_alignment to sysfs, use
>> correct alignment for partitions
>>
>> Paolo Bonzini (2):
>> block: reorganize rounding of max_discard_sectors
>> block: split discard into aligned requests
>>
>> block/blk-lib.c | 41 ++++++++++++++++++++++++++++-------------
>> include/linux/blkdev.h | 10 ++++++++++
>> 2 files changed, 38 insertions(+), 13 deletions(-)
>
> Hey Jens,
>
> Would be great to get these discard fixes in. I know both Christoph and
> Vivek have reviewed these changes but that isn't reflected in the patch
> headers.
>
> These patches eliminate misaligned discard from being sent to the
> dm-thinp target.
>
> Tested-by: Mike Snitzer <snitzer@redhat.com>

Sure, I'll get it in for this series. Thanks.

--
Jens Axboe

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 

Thread Tools




All times are GMT. The time now is 04:46 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org