[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH] Optimizing x86-64 xenlinux using global pages for user mode (take 2)


  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
  • Date: Fri, 1 Sep 2006 10:56:12 -0700
  • Delivery-date: Fri, 01 Sep 2006 10:56:40 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcbL/5UqcHfKdRZfQTa9q9O4P2Kz2gAejrc/AF1mXXA=
  • Thread-topic: [Xen-devel] [PATCH] Optimizing x86-64 xenlinux using global pages for user mode (take 2)

Keir Fraser wrote:
> On 30/8/06 7:43 am, "Nakajima, Jun" <jun.nakajima@xxxxxxxxx> wrote:
> 
>> The previous patch had a problem with the builder, which constructs
>> the initial page tables with the USER bit on. And Xen couldn't
>> distinguish kernel or use pages. It was partially checked avoiding
>> the bug, and it's finished with this patch.
> 
> I'd like to avoid awareness of the extra PAGE_GUEST_KERNEL bit in
> guests and tools as much as possible (in fact, entirely would be
> good). 

The updated patch avoids that.

> 
> There's no need for all the PAGE_KERNEL macros in Linux to include
> the new flag. The absence of PAGE_USER will suffice to allow Xen to
> distinguish kernel entries from user entries. All that is necessary
> is for Xen to add the flag when it adds PAGE_USER to a kernel entry,
> so that kernel entries remain disambiguated from user entries.
> 
> Also, you should use one of the high-order available bits (one of bits
> 52-60). Other OSes use the low-order available bits for their own
> purposes -- we may as well avoid conflicting with them.
> 

I used the bit 52 this time, but it's still possible to see such
conflicts.

>  -- Keir

 arch/x86/domain_build.c       |    2 +-
 arch/x86/flushtlb.c           |    7 +++++++
 arch/x86/mm.c                 |   29 +++++++++++++++++++++++++----
 arch/x86/x86_64/traps.c       |    2 +-
 include/asm-x86/flushtlb.h    |    8 +++++++-
 include/asm-x86/x86_64/page.h |    7 +++++--
 6 files changed, 46 insertions(+), 9 deletions(-)

Signed-off-by: Jun Nakajima <jun.nakajima@xxxxxxxxx>

Jun
---
Intel Open Source Technology Center

Attachment: global_64_3.patch
Description: global_64_3.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.