Re: [PATCH 4/5] KVM: Add hypercall queue for paravirt_ops implementation
From: Avi Kivity <hidden>
Date: 2007-06-18 13:35:59
Also in:
kvm
Anthony Liguori wrote:
quoted
I did, but using kbuild (a simple 'make' with defconfig), not kernbench. I get (elapsed time) 308 sec for kvm and 243 sec for native.kernbench is a little different. It does a find over the kernel source tree to attempt to get as much of the kernel in the page cache as possible. It also uses -j4 by default.quoted
These numbers are pretty bad. I'd like to improve them, even without PV.I agree. Do you know what's missing at this point? There isn't a whole lot of state saving going on for the light weight exit paths for SVM.
The SVM code doesn't even have a lightweight vmexit path. For every vmexit, it does the entire thing, including vmload/vmsave, fpu switch (if needed), segment reloading, and msr reloading. It could use a lot of work. For kbuild vs. kernbench, I suspect that -j4 causes the shadow page table cache to thrash. 1024 pages may be enough for a single instance but not -j4. Hopefully replacing the eviction algorithm (currently FIFO) will help. Otherwise we'll need to resize the cache again. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/