[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [patch 0/5][v2] qcow2: improve I/O performance with cache=o
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [patch 0/5][v2] qcow2: improve I/O performance with cache=off |
Date: |
Tue, 29 Jul 2008 16:13:52 +0200 |
User-agent: |
quilt/0.45-1 |
These patches improve qcow2 performance when used with cache=off.
They modify block-qcow2.c to read/write as many clusters as
possible per bdrv_aio_[read|write]().
Some benchmarks:
* mkfs on 500 MB qcow2 disk
mkfs WITHOUT WITH
ide, cache=off,snapshot=off 41 s 5 s 8x faster
ide, cache=off,snapshot=on 40 s 5 s 8x faster
ide, cache=on, snapshot=off 3 s 3 s
ide, cache=on, snapshot=on 4 s 3 s
* tar jxvf linux-2.6.25.7.tar.bz2
ide, cache=off,snapshot=off 847 s 379 s 2.2x faster
ide, cache=off,snapshot=on 801 s 364 s 2.2x faster
ide, cache=on, snapshot=off 238 s 236 s
ide, cache=on, snapshot=on 236 s 237 s
* dd if=/dev/zero of=file
dd if=/dev/null WITHOUT WITH
ide, cache=off,snapshot=off 333 kB/s 3.7 MB/s 11.3x faster
ide, cache=off,snapshot=on 337 kB/s 3.6 MB/s 10.9x faster
ide, cache=on, snapshot=off 9.06 MB/s 9.23 MB/s
ide, cache=on, snapshot=on 8,89 MB/s 8.89 MB/s
* dbench 1
dbench WITHOUT WITH
ide, cache=off,snapshot=off 20.8494 MB/sec 24.8521 MB/sec +19,2%
ide, cache=off,snapshot=on 20.9349 MB/sec 24.2296 MB/sec +15,7%
ide, cache=on, snapshot=off 23.6612 MB/sec 25.4724 MB/sec + 7,6%
ide, cache=on, snapshot=on 24.1836 MB/sec 24.8169 MB/sec
[PATCH 1/5] extract code from get_cluster_offset() into new functions
seek_l2_table(), l2_load() and l2_allocate().
[PATCH 2/5] divide get_cluster_offset() into get_cluster_offset() and
alloc_cluster_offset().
[PATCH 3/5] divide alloc_cluster_offset() into alloc_cluster_offset()
and alloc_compressed_cluster_offset(). Factorize code
to free clusters into free_used_clusters().
[PATCH 4/5] modify get_cluster_offset(), alloc_cluster_offset() and
free_used_clusters() to specify how many clusters we
want.
[PATCH 5/5] in free_used_clusters(), try to aggregate free clusters
and freed clusters.
Laurent
--
- [Qemu-devel] [patch 0/5][v2] qcow2: improve I/O performance with cache=off,
Laurent Vivier <=
- [Qemu-devel] [patch 1/5][v2] Extract code from get_cluster_offset(), Laurent Vivier, 2008/07/29
- [Qemu-devel] [patch 4/5][v2] Aggregate same type clusters., Laurent Vivier, 2008/07/29
- [Qemu-devel] [patch 3/5][v2] Extract compressing part from alloc_cluster_offset(), Laurent Vivier, 2008/07/29
- [Qemu-devel] [patch 2/5][v2] Divide get_cluster_offset(), Laurent Vivier, 2008/07/29
- [Qemu-devel] [patch 5/5][v2] Try to aggregate free clusters and freed clusters, Laurent Vivier, 2008/07/29
- Re: [Qemu-devel] [patch 0/5][v2] qcow2: improve I/O performance with cache=off, Anthony Liguori, 2008/07/29