Re: [RFC PATCH 0/3] generic hypercall support

Hollis Blanchard
2009-05-11T16:44:38Z

On Sun, 2009-05-10 at 13:38 -0500, Anthony Liguori wrote:
> Gregory Haskins wrote:
> >
> > Can you back up your claim that PPC has no difference in performance
> > with an MMIO exit and a "hypercall" (yes, I understand PPC has no "VT"
> > like instructions, but clearly there are ways to cause a trap, so
> > presumably we can measure the difference between a PF exit and something
> > more explicit).
>
> First, the PPC that KVM supports performs very poorly relatively
> speaking because it receives no hardware assistance this is not the
> right place to focus wrt optimizations.
>
> And because there's no hardware assistance, there simply isn't a
> hypercall instruction. Are PFs the fastest type of exits? Probably not
> but I honestly have no idea. I'm sure Hollis does though.

Memory load from the guest context (for instruction decoding) is a
*very* poorly performing path on most PowerPC, even considering server
PowerPC with hardware virtualization support. No, I don't have any data
for you, but switching the hardware MMU contexts requires some
heavyweight synchronization instructions.

> Page faults are going to have tremendously different performance
> characteristics on PPC too because it's a software managed TLB. There's
> no page table lookup like there is on x86.

To clarify, software-managed TLBs are only found in embedded PowerPC.
Server and classic PowerPC use hash tables, which are a third MMU type.

--
Hollis Blanchard
IBM Linux Technology Center