Re: [Xen-devel] Re: [PATCH] xen: core dom0 support

From: Anthony Liguori
Date: Thu Mar 05 2009 - 09:37:27 EST


George Dunlap wrote:
On Wed, Mar 4, 2009 at 5:34 PM, Anthony Liguori <anthony@xxxxxxxxxxxxx> wrote:
Can you point to benchmarks? I have a hard time believing this.

How can shadow paging beat nested paging assuming the presence of large
pages?

If these benchmarks would help this discussion, we can certainly run
some. As of last Fall, even with superpage support, certain workloads
perform significantly less well with HAP (hardware-assisted paging)
than with shadow pagetables. Examples are specjbb, which does almost
no pagetable updates, but totally thrashes the TLB.

I suspected specjbb was the benchmark. specjbb is really an anomaly as it's really the only benchmark where even a naive shadow paging implementation performs very close to native.

specjbb also turns into a pathological case with HAP. In my measurements, HAP with 4k pages was close to 70% of native for specjbb. Once you enable large pages though, you get pretty close to native. IIRC, around 95%. I suspect that over time as the caching algorithms improve, this will approach 100% of native.

Then again, there are workloads like kernbench that are pathological for shadow paging in a much more dramatic way. At least on shadow2, I was seeing around 60% of native with kernbench. With direct paging, it goes to about 85% of native. With NPT and large pages, it's almost 100% of native.

SysMark also
performed much better with shadow pagetables than HAP. And of course,
64-bit is worse than 32-bit. (It's actually a bit annoying from a
default-policy perspective, since about half of our workloads perform
better with HAP (up to 30% better) and half of them perform worse (up
to 30% worse)).

Our comparison would, of course, be comparing Xen+HAP to Xen+Shadow,
which isn't necessarily comparable to KVM+HAP.

Having HAP work well would be great for us as well as KVM. But
there's still the argument about hardware support: Xen can run
paravirtualized VMs on hardware with no HVM support, and can run fully
virtualized domains very well on hardware that has HVM support but not
HAP support.

Xen is definitely not going away and as such, supporting it in Linux seems like a good idea to me. I'm just refuting claims that the Xen architecture has intrinsic advantages wrt MMU virtualization. It's simply not the case :-)

Regards,

Anthony Liguori

-George Dunlap

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/