From: Anthony Liguori <anthony@codemonkey.ws>
To: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Xen-devel <xen-devel@lists.xensource.com>,
the arch/x86 maintainers <x86@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [Xen-devel] Re: [PATCH] xen: core dom0 support
Date: Thu, 05 Mar 2009 08:37:04 -0600 [thread overview]
Message-ID: <49AFE390.5070001@codemonkey.ws> (raw)
In-Reply-To: <de76405a0903050259j5a0f9649v28e8f8fd29003d5f@mail.gmail.com>
George Dunlap wrote:
> On Wed, Mar 4, 2009 at 5:34 PM, Anthony Liguori <anthony@codemonkey.ws> 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
>
next prev parent reply other threads:[~2009-03-05 14:37 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-28 1:59 [PATCH] xen: core dom0 support Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen dom0: Make hvc_xen console work for dom0 Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen dom0: Initialize xenbus " Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen dom0: Set up basic IO permissions " Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen-dom0: only selectively disable cpu features Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen dom0: Add support for the platform_ops hypercall Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen mtrr: Add mtrr_ops support for Xen mtrr Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen: disable PAT Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen/dom0: use _PAGE_IOMAP in ioremap to do machine mappings Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] paravirt/xen: add pvop for page_is_ram Jeremy Fitzhardinge
2009-03-10 1:07 ` H. Peter Anvin
2009-03-10 21:19 ` Jeremy Fitzhardinge
2009-03-10 22:21 ` H. Peter Anvin
2009-03-10 22:44 ` Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen/dom0: Use host E820 map Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen: implement XENMEM_machphys_mapping Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen: clear reserved bits in l3 entries given in the initial pagetables Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen/dom0: add XEN_DOM0 config option Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen: allow enable use of VGA console on dom0 Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen mtrr: Use specific cpu_has_foo macros instead of generic cpu_has() Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen mtrr: Kill some unneccessary includes Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen mtrr: Use generic_validate_add_page() Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen mtrr: Implement xen_get_free_region() Jeremy Fitzhardinge
2009-02-28 1:59 ` [PATCH] xen mtrr: Add xen_{get,set}_mtrr() implementations Jeremy Fitzhardinge
2009-02-28 5:28 ` [PATCH] xen: core dom0 support Andrew Morton
2009-02-28 6:52 ` Jeremy Fitzhardinge
2009-02-28 7:20 ` Ingo Molnar
2009-02-28 8:05 ` Jeremy Fitzhardinge
2009-02-28 8:36 ` Ingo Molnar
2009-02-28 9:57 ` Jeremy Fitzhardinge
2009-03-02 9:26 ` Gerd Hoffmann
2009-03-02 12:04 ` Ingo Molnar
2009-03-02 12:26 ` Gerd Hoffmann
2009-02-28 12:09 ` Nick Piggin
2009-02-28 18:11 ` [Xen-devel] " Jody Belka
2009-02-28 18:15 ` Andi Kleen
2009-03-01 23:38 ` Jeremy Fitzhardinge
2009-03-02 0:14 ` Andi Kleen
2009-03-01 23:27 ` Jeremy Fitzhardinge
2009-03-02 6:37 ` Nick Piggin
2009-03-02 8:05 ` Jeremy Fitzhardinge
2009-03-02 8:19 ` Nick Piggin
2009-03-02 9:05 ` Jeremy Fitzhardinge
2009-03-04 17:34 ` Anthony Liguori
2009-03-04 17:38 ` Jeremy Fitzhardinge
2009-03-05 10:59 ` [Xen-devel] " George Dunlap
2009-03-05 14:37 ` Anthony Liguori [this message]
2009-03-04 17:31 ` Anthony Liguori
2009-03-04 19:03 ` Anthony Liguori
2009-03-04 19:16 ` H. Peter Anvin
2009-03-04 19:33 ` Anthony Liguori
2009-02-28 16:14 ` Andi Kleen
2009-03-01 23:34 ` Jeremy Fitzhardinge
2009-03-01 23:52 ` H. Peter Anvin
2009-03-02 0:08 ` Jeremy Fitzhardinge
2009-03-02 0:14 ` H. Peter Anvin
2009-03-02 0:42 ` Jeremy Fitzhardinge
2009-03-02 0:46 ` H. Peter Anvin
2009-03-02 0:10 ` Andi Kleen
2009-02-28 8:42 ` Ingo Molnar
2009-02-28 9:46 ` Jeremy Fitzhardinge
2009-03-02 12:08 ` Ingo Molnar
2009-03-07 9:06 ` Jeremy Fitzhardinge
2009-03-08 11:01 ` Ingo Molnar
2009-03-08 21:56 ` H. Peter Anvin
2009-03-08 22:06 ` Ingo Molnar
2009-03-08 22:08 ` H. Peter Anvin
2009-03-08 22:12 ` Ingo Molnar
2009-03-09 18:06 ` Jeremy Fitzhardinge
2009-03-10 12:44 ` Ingo Molnar
2009-03-10 12:49 ` Nick Piggin
2009-03-05 13:52 ` Morten P.D. Stevens
2009-03-08 14:25 ` Manfred Knick
2009-03-09 19:51 ` Morten P.D. Stevens
2009-03-09 20:00 ` Morten P.D. Stevens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49AFE390.5070001@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=George.Dunlap@eu.citrix.com \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).