All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Dave McCracken <dcm@mccr.org>
Cc: Xen Developers List <xen-devel@lists.xensource.com>
Subject: Re: Design question for PV superpage support
Date: Mon, 02 Mar 2009 17:15:43 -0800	[thread overview]
Message-ID: <49AC84BF.40802@goop.org> (raw)
In-Reply-To: <200903020754.23534.dcm@mccr.org>

Dave McCracken wrote:
> The solution I am working on for how to support Linux hugepages (Xen 
> superpages) involves creating domains made up entirely of superpages.  I can 
> create a working domain with superpages and am in the process of supporting 
> it in save/restore.
>
> For this to work properly this should be an attribute of a domain, specified 
> somewhere in domain configuration and attached to that domain for its 
> lifetime.  This way it could be checked at memory populate time, save/restore 
> time, and by the various balloon drivers.
>
> My question is for those of you who best know the overall Xen design 
> principles.  Where should the flag be specified by the user?  Where should it 
> best be set in the running domain?  I've seen some examples of flags being 
> passed around, but would like some guidance on the best place to put it to 
> fit into the Xen design.

One thing I'm not quite sure about: when you support 2M pages for a 
domain, is it fully-supported, to the extent you can safely set PSE in 
cpuid, and allow the guest kernel to use 2M mappings as it usually 
would?  Or are there further restrictions?

You should support a feature flag in the guest kernel's ELF notes to say 
that it support large PV pages.  If the kernel asks for it, then you can 
enable PSE in cpuid, or have some other mechanism for the kernel to 
query that the feature is available.

    J

      parent reply	other threads:[~2009-03-03  1:15 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-02 13:54 Design question for PV superpage support Dave McCracken
2009-03-02 13:58 ` Keir Fraser
2009-03-02 16:43 ` Mick Jordan
2009-03-02 17:06   ` Keir Fraser
2009-03-02 18:02     ` Mick Jordan
2009-03-02 17:29   ` Dave McCracken
2009-03-02 17:52     ` Keir Fraser
2009-03-02 18:03       ` Dan Magenheimer
2009-03-02 18:30         ` Keir Fraser
2009-03-02 18:46           ` Mick Jordan
2009-03-02 18:48           ` Dan Magenheimer
2009-03-02 19:04             ` Keir Fraser
2009-03-02 17:45   ` Mick Jordan
2009-03-02 17:54     ` Keir Fraser
2009-03-02 18:00     ` Dave McCracken
2009-03-02 18:14       ` Mick Jordan
2009-03-02 19:14         ` Dave McCracken
2009-03-03  1:37           ` Jeremy Fitzhardinge
2009-03-03  3:59             ` Mick Jordan
2009-03-03 14:33               ` Dan Magenheimer
2009-03-03 17:06                 ` Mick Jordan
2009-03-03 17:23                   ` Jeremy Fitzhardinge
2009-03-03 18:10                   ` Keir Fraser
2009-03-03 17:28                 ` Jeremy Fitzhardinge
2009-03-03 18:09                   ` Dan Magenheimer
2009-03-03 17:26               ` Jeremy Fitzhardinge
2009-03-03  1:32       ` Jeremy Fitzhardinge
2009-03-03  1:15 ` Jeremy Fitzhardinge [this message]

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=49AC84BF.40802@goop.org \
    --to=jeremy@goop.org \
    --cc=dcm@mccr.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 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.