From: Joe Bonasera <joe.bonasera@sun.com>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: xen-devel@lists.xensource.com
Subject: Re: PAE issue (32-on-64 work)
Date: Thu, 19 Oct 2006 10:22:38 -0700 [thread overview]
Message-ID: <4537B45E.9040708@sun.com> (raw)
In-Reply-To: <C15D653B.2D48%Keir.Fraser@cl.cam.ac.uk>
Keir Fraser wrote:
> On 19/10/06 17:19, "Joe Bonasera" <joe.bonasera@sun.com> wrote:
>
>
>>The code path in Solaris currently supports 2 possibilities for PAE top level
>>tables. The normal code we use on bare metal allocates only 1 page
>>that all cpu's share for the the top level page table. For
>>example, cpu0 uses the 1st four quads for its current process'
>>L3, cpu1 uses the next four, etc. On context switch or cr3 reload
>>we (re)copy in the 4 entries of the process for that CPU's section
>>of the page.
>>
>>That code path is, as so much of the 32 bit PAE support, a special
>>case. So it was easily turned off and made to just use
>>an entire page for each unique top level L3 on Xen. I did that just for
>>my initial bring up on PAE Xen, but was hoping to go back to some
>>form of the optimized version next.
>
>
> You should just allocate a page-sized L3 per process and be done with it. A
> page overhead per process is nothing to be concerned about (clearly the
> overhead can be even bigger if, for example, you run 4-level tables on
> x86_64). Recopying the L3 entries every TLB flush will *not* perform well on
> current Xen.
>
Well we actually don't do complete TLB flushes very often at all, essentially
only the first time a new L3 entry is created by a running process which
for most processes means never - as >1Gig processes are rare.
So it shouldn't matter if they hit one or two slowish flushes.
Are there any other performance implications to watch out for?
Joe
next prev parent reply other threads:[~2006-10-19 17:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1GaYNL-0000rc-Ub@host-192-168-0-1-bcn-london>
2006-10-19 16:19 ` PAE issue (32-on-64 work) Joe Bonasera
2006-10-19 16:24 ` Keir Fraser
2006-10-19 17:22 ` Joe Bonasera [this message]
2006-10-19 18:48 ` Keir Fraser
2006-10-19 10:39 Jan Beulich
2006-10-19 11:03 ` Ian Pratt
2006-10-19 11:18 ` Jan Beulich
2006-10-19 11:34 ` Ian Pratt
2006-10-19 12:58 ` Keir Fraser
2006-10-19 14:24 ` Jan Beulich
2006-10-19 14:26 ` Keir Fraser
2006-10-19 12:56 ` Keir Fraser
2006-10-19 13:18 ` Bruce Rogers
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=4537B45E.9040708@sun.com \
--to=joe.bonasera@sun.com \
--cc=Keir.Fraser@cl.cam.ac.uk \
--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.