qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCHv4] block: optimize zero writes with bdrv_write_z


From: Peter Lieven
Subject: Re: [Qemu-devel] [PATCHv4] block: optimize zero writes with bdrv_write_zeroes
Date: Tue, 13 May 2014 14:06:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 12.05.2014 22:28, Eric Blake wrote:
On 05/08/2014 10:22 AM, Peter Lieven wrote:
this patch tries to optimize zero write requests
by automatically using bdrv_write_zeroes if it is
supported by the format.

This significantly speeds up file system initialization and
should speed zero write test used to test backend storage
performance.

Signed-off-by: Peter Lieven <address@hidden>
---
v3->v4: - use QAPI generated enum and lookup table [Kevin]
         - added more details about the options in the comments
           of the qapi-schema [Eric]
         - changed the type of detect_zeroes from str to
           BlockdevDetectZeroesOptions. I left the name
           as is because it is consistent with e.g.
           BlockdevDiscardOptions or BlockdevAioOptions [Eric]
         - changed the parse function in blockdev_init to
           be generic usable for other enum parameters
If you wouldn't mind, I think the generic function is useful enough that
people might want to backport it independently from this optimization.
It would be better to split this into a two-patch series, one for the
new parse_enum_option, the other for bdrv_write_zeroes utilizing it.


+        },{
+            .name = "detect-zeroes",
+            .type = QEMU_OPT_STRING,
+            .help = "try to optimize zero writes",
Might be worth listing (off, on, unmap) in the text.

Everything else looked okay, but I'll wait for R-b until I see a
response about the idea of splitting the patch (even if that response is
justification for keeping it as one)


I did not split because currently there is no other possible
user in the function. The on_error settings and discard settings
would be possible users, but for on_error there is a hardcoded
difference between read and write which is not reflected in the
qapi and for discard settings we have ignore and unmap, but
we have also off and on which are not in qapi as well.

Peter



reply via email to

[Prev in Thread] Current Thread [Next in Thread]