Re: [PATCH v3 09/13] KVM: PPC: e500: enable magic page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15.06.2011, at 01:34, Scott Wood wrote:

> This is a shared page used for paravirtualization.  It is always present
> in the guest kernel's effective address space at the address indicated
> by the hypercall that enables it.
> 
> The physical address specified by the hypercall is not used, as
> e500 does not have real mode.

What are your results when using the magic page? I have the following numbers with your patches applied:

== bare metal ==

root@e500:~/kvm# time for i in {1..1000}; do /bin/echo > /dev/null; done

real	0m5.445s
user	0m0.204s
sys	0m0.572s


== no hypervisor node (magic page not used) ==

debian-powerpc:~# time for i in {1..1000}; do /bin/echo > /dev/null; done

real	1m36.362s
user	0m13.224s
sys	1m11.084s


== with hypervisor node (magic page used) ==

debian-powerpc:~# time for i in {1..1000}; do /bin/echo > /dev/null; done

real	2m28.888s
user	0m9.248s
sys	1m4.016s


This seems rather irritating to me. I haven't tried to trace what's going on, but trapping instructions really shouldn't be much better than mapping the magic page, plus the magic page should stay in memory.

... unless of course we're in the dynamically generated code paths. Then we get plenty of TLB misses instead of instruction emulation traps.

Either way, certainly something to check before we enable the magic page in Qemu.


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux