X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=2019-kvm-forum%2Fnotes-04-fast-zero;h=c818417d35f75bf9be8239c39a7314cf6d08f3b3;hb=6f34bcd5178f2622d9a15915ad2ca136525f318a;hp=19622d0dbb215a7c98bfd01f9574d9a6aee2ea31;hpb=8e9df69ffa18953218f9b7dd69ebe789117e0bed;p=libguestfs-talks.git diff --git a/2019-kvm-forum/notes-04-fast-zero b/2019-kvm-forum/notes-04-fast-zero index 19622d0..c818417 100644 --- a/2019-kvm-forum/notes-04-fast-zero +++ b/2019-kvm-forum/notes-04-fast-zero @@ -53,15 +53,14 @@ didn't really help, for a couple of reasons. If writing zeroes is fast, checking the destination first is either a mere tradeoff in commands (BLOCK_STATUS replacing WRITE_ZEROES when the destination is already zero) or a pessimization (BLOCK_STATUS still has to be -followed by WRITE_ZEROES). And if writing zeroes is slow, we have a -speedup holes when BLOCK_STATUS itself is fast on pre-existing -destination holes, but we encountered situations such as tmpfs that -has a linear rather than constant-time lseek(SEEK_HOLE) -implementation, where we ended up with quadratic behavior all due to -BLOCK_STATUS calls. Thus, for now, qemu-img convert does not use -BLOCK_STATUS, and as mentioned earlier, I used the noextents filter in -my test case to ensure BLOCK_STATUS is not interfering with timing -results. +followed by WRITE_ZEROES). Conversely, if writing zeroes is slow, the +penalty of the extra check when the destination is not a hole could be +in the noise, but whether or not we have a definite speedup for +avoiding WRITE_ZEROES depends on whether BLOCK_STATUS itself is fast - +yet we encountered situations such as tmpfs that has a linear rather +than constant-time lseek(SEEK_HOLE) implementation, where we ended up +with quadratic behavior all due to BLOCK_STATUS calls. Thus, for now, +qemu-img convert does not use BLOCK_STATUS. * Heading: Pre-zeroing: a tale of two servers - 4400- .term