On Fri, 2007-06-08 at 09:27 +0200, Nicholas Mc Guire wrote: > HI ! Hi Nicholas, Thanks for this! > here are some preliminary benchmarks of lguest vs host (2.6.21) > > Most results seem resonable - the file create/delete is a bit > strange - does anybody have an idea why 0k file create/delete could > be so much faster under lguest and 10k file so much slower ? Is this ext3? The lguest blockio drvier is very naive and is actually synchronous (SLOW!), but also ignores barriers. BTW, I suspect your sh is different inside the guest than host: > darkstar Lguest 2.6.21 1602 0.21 0.37 2.38 4.02 0.65 1.75 1137 2653 7960 > darkstar Linux 2.6.21 1602 0.18 0.37 3.54 5.20 28.9 0.62 1.59 213. 1042 8725 > The only really serious problem with lguest performance seems to be > mmap latency, page-faults and protection faults. Yes. A real page fault hurts quite a bit, because all page faults go via the host (which can swap out guest pages or have them COW). Sequence goes: - Guest userspace hits page - Trap to switcher - Switch to host kernel - Walk guest pagetables to see if it's mapped, it's not, so deliver. - Switch to guest kernel - Process fault, insert page table entry - Trap to switcher - Switch to host kernel - Insert page table entry in shadow pagetables - Switch to guest kernel - Handle fault This can be optimized by enhancing the switcher itself to walk the guest page tables and reflect is straight back into the guest if it's not mapped there. This shouldn't actually be too hard, but I wonder if it's worth the complexity... Thanks! Rusty. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization