lkml.org 
[lkml]   [2012]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/2] block: align start sector of a discard request
Il 14/03/2012 18:12, Paolo Bonzini ha scritto:
> 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,
> while patch 2 actually adjusts the split.
>
> Paolo Bonzini (2):
> block: tweak rounding of max_discard_sectors
> block: split discard into aligned requests
>
> block/blk-lib.c | 41 +++++++++++++++++++++++++++--------------
> 1 files changed, 27 insertions(+), 14 deletions(-)
>

Christoph, since you talked about this on the qemu-devel mailing list,
do you have a few free cycles to review this?

Paolo


\
 
 \ /
  Last update: 2012-03-27 08:45    [W:0.069 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site