From: Jeremy Fitzhardinge <jeremy@xensource.com>
To: Dave Pacheco <dap@cs.brown.edu>
Cc: Joel Weinberger <joel@cs.brown.edu>,
xen-devel@lists.xensource.com,
Jeremy Fitzhardinge <jeremy@xensource.com>
Subject: Re: Setting up page directories and tables
Date: Tue, 01 May 2007 14:42:49 -0700 [thread overview]
Message-ID: <4637B459.20801@xensource.com> (raw)
In-Reply-To: <2d88d46a0705011232m255baf48rd9fda96026ebd64f@mail.gmail.com>
Dave Pacheco wrote:
> I don't really understand what you mean here. To "pin the whole
> pagetable from L2 down" - does that mean pinning the L2 pagetable page
> itself and then all of the L1 pages, or just the L2 pagetable page?
>
> What exactly does pinning do? Does it simply ensure that the page
> won't be paged out and that Xen knows it's a page table? If that's the
> case, it seems like you still want to pin L1 pages so that you know
> that Xen is okay with your L1 page table.
"Pinning" is a bit of a misnomer. What it means is that the pinned page
is always treated as part of an active pagetable (ie, pointed to by
%cr3), so all the normal rules apply: it must be RO, and all updates
must go through Xen and be validated. This means that Xen doesn't need
to revalidate it when it does become an active pagetable.
By definition, if you pin a pagetable page, you also pin all the other
pagetable pages it refers to. So if you pin the L2 (L3 for PAE) root
page, then you're pinning the entire pagetable. You could pin the leaf
L1 pages (ie the ones actually containing pte entries), but there's not
much point.
J
next prev parent reply other threads:[~2007-05-01 21:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-27 20:11 Setting up page directories and tables Dave Pacheco
2007-04-27 21:39 ` Keir Fraser
2007-04-28 0:56 ` Dave Pacheco
2007-04-28 1:14 ` Jeremy Fitzhardinge
2007-05-01 19:32 ` Dave Pacheco
2007-05-01 21:42 ` Jeremy Fitzhardinge [this message]
2007-05-02 0:41 ` Mark Williamson
2007-05-01 16:27 ` Mark Williamson
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=4637B459.20801@xensource.com \
--to=jeremy@xensource.com \
--cc=dap@cs.brown.edu \
--cc=joel@cs.brown.edu \
--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.