Re: [PATCH v3 0/2] block: improvements for discard alignment

From: Vivek Goyal
Date: Thu Jul 05 2012 - 18:12:00 EST


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@xxxxxxxxxx>

Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/