From: Jeremy Fitzhardinge <jeremy@goop.org>
To: "Nakajima, Jun" <jun.nakajima@intel.com>
Cc: Ian Campbell <Ian.Campbell@eu.citrix.com>,
"Yang, Sheng" <sheng.yang@intel.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"Dong, Eddie" <eddie.dong@intel.com>,
Keir Fraser <Keir.Fraser@eu.citrix.com>
Subject: Re: Re: Xen: Hybrid extension patchset for hypervisor
Date: Thu, 17 Sep 2009 10:34:51 -0700 [thread overview]
Message-ID: <4AB2733B.6060804@goop.org> (raw)
In-Reply-To: <0B53E02A2965CE4F9ADB38B34501A3A1940C840B@orsmsx505.amr.corp.intel.com>
On 09/17/09 08:56, Nakajima, Jun wrote:
>> I very much expect that it'll need fixing/(re)implementing on both the
>> kernel and hypervisor side...
>>
> To me, leveraging the native MMU code, rather than using existing API/ABI, would simplify both the guest and hypervisor side if hardware MMU virtualization is present. For example:
> - today a 64-bit PV guest builds/switches page tables depending on the kernel/user mode. It's not required anymore.
>
The two pagetables are largely shared, so it really comes down to
maintaining an additional L4 page. If the domain is running in a HAP
container, then then the "kernel" pagetable would have proper U/S bit
its pagetable entries (ie, Xen wouldn't strip them off, or set global on
user mappings) and then loading a new pagetable would just mean
reloading cr3 with the kernel pagetable. In other words, we can still
do an efficient pagetable swap without needing to change the guest or
the ABI at all; the user pagetable would be unused and ignored, but that
isn't a huge burden.
> - we can automatically get large page support (2MB, 1GB)
>
Once the requirement to mark pagetable pages RO goes away, then it would
be easy to add large-page support.
> I thought pv_xxx_ps (such as pv_time, pv_cpu_ops, pv_mmu_ops, etc.) was designed to choose the right pv_ops accordingly depending on the features available.
>
Sure. It would be easy to either use new special-purpose just plain
native versions of those ops if that's the right thing to do; but it
would be nice if a current unmodified PV guest worked within a HVM
container and got at least some benefit from doing so. Also, pagetable
issues have repercussions beyond just the raw pagetable update functions.
Of course you can get both these features just by booting the kernel as
an hvm guest. But if we're talking about giving PV kernels some
benefits from hvm/hap hardware features, I think we should looking at it
from the perspective of starting with a PV kernel then adding
incremental changes.
J
next prev parent reply other threads:[~2009-09-17 17:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-16 8:44 Xen: Hybrid extension patchset for hypervisor Yang, Sheng
2009-09-16 9:08 ` Keir Fraser
2009-09-16 14:04 ` Keir Fraser
2009-09-16 16:28 ` Nakajima, Jun
2009-09-16 18:19 ` Jeremy Fitzhardinge
2009-09-16 21:12 ` Ian Campbell
2009-09-16 21:22 ` Jeremy Fitzhardinge
2009-09-17 9:16 ` Ian Campbell
2009-09-17 15:56 ` Nakajima, Jun
2009-09-17 17:34 ` Jeremy Fitzhardinge [this message]
2009-09-19 0:17 ` Nakajima, Jun
2009-09-19 0:28 ` Jeremy Fitzhardinge
2009-09-17 17:19 ` Jeremy Fitzhardinge
2009-09-16 19:11 ` Frank van der Linden
2009-09-17 6:13 ` Yang, Sheng
2009-09-17 6:25 ` Keir Fraser
2009-09-17 6:30 ` Sheng Yang
2009-09-17 6:47 ` Yang, Sheng
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=4AB2733B.6060804@goop.org \
--to=jeremy@goop.org \
--cc=Ian.Campbell@eu.citrix.com \
--cc=Keir.Fraser@eu.citrix.com \
--cc=eddie.dong@intel.com \
--cc=jun.nakajima@intel.com \
--cc=sheng.yang@intel.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.