> Sounds logical - do you have numbers on the improvement?
Sure. The patch showed approximately 3-7 times speed up when measured with
rdtsc. The test environment and detailed results are described below.
---
tmp = rdtsc();
/* function of original code*/
t1 += rdtsc() - tmp;
tmp = rdtsc();
/* function of this patch */
t2 += rdtsc() - tmp;
---
Test Envirionment:
CPU: 4x Intel Xeon Quad Core 2.66GHz
Mem size: 6GB
kvm version: 2.6.31-17-server
qemu version: commit ed880109f74f0a4dd5b7ec09e6a2d9ba4903d9a5
Host OS: Ubuntu 9.10 (kernel 2.6.31)
Guest OS: Debian/GNU Linux lenny (kernel 2.6.26)
Guest Mem size: 512MB
We executed live migration three times. This data shows, how many times the
function is called (#called), runtime of original (orig.), runtime of this
patch (patch), speedup ratio (ratio), when live migration run.
Experimental results:
Test1: Guest OS read 3GB file, which is bigger than memory.
#called orig.(msec) patch(msec) ratio
114 1.00 0.15 6.76
132 1.57 0.25 6.26
96 1.00 0.16 6.27
Test2: Guest OS read/write 3GB file, which is bigger than memory.
#called orig.(msec) patch(msec) ratio
2196 38.1 10.6 3.59
2256 39.6 10.8 3.68
2112 36.3 10.3 3.53
> Would be great if you could provide a version for upstream as well
> because it will likely replace this qemu-kvm code on day.
O.K. We'll prepare it.
We'll also post a patch set to quicken dirty pages checking in ram_save_block
and ram_save_live soon.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html