[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes()
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes() |
Date: |
Thu, 21 Jul 2016 11:08:22 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 21/07/2016 01:35, Eric Blake wrote:
> Also, while the device is advertising that the optimal discard alignment
> is 15M, that does not tell me the minimum granularity that it can
> actually discard. Can you determine that value? That is, if I try to
> discard only 1M, does that actually result in a 1M allocation hole, or
> is it ignored? It sounds like qemu should be tracking 2 separate
> values: the minimum discard granularity (I suspect this number is a
> power of 2, at least the block size, and perhaps precisely equal to the
> block size)
It's very unlikely to be equal to the block size. The block size is
probably 512, perhaps 4096, while the optimal discard alignment is
usually at least 64K.
> Or put another way, I get that I can't discard more than 15M at a time.
I don't think so; optimal discard alignment is 15M but maximum discard
size is most likely _not_ 15M.
> Optimal size not being a power of 2 is not a problem, but I still
> suspect MINIMUM alignment is a power of 2, and I need to know how much
> head and tail to discard in the new byte-based discard routines in order
> to align requests up to the minimal discard alignment boundaries.
But why does it matter if it is a power of 2? Can't you just use
DIV_ROUND_UP?
Paolo
- Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes(), (continued)
- Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes(), Eric Blake, 2016/07/05
- Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes(), Paolo Bonzini, 2016/07/05
- Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes(), Peter Lieven, 2016/07/15
- Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes(), Eric Blake, 2016/07/15
- Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes(), Peter Lieven, 2016/07/18
Re: [Qemu-devel] Regression: block: Add .bdrv_co_pwrite_zeroes(), Eric Blake, 2016/07/20