WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-merge

RE: [Xen-merge] arch/i386/mach-xen/mm/highmem.c indentical

To: "Chris Wright" <chrisw@xxxxxxxx>
Subject: RE: [Xen-merge] arch/i386/mach-xen/mm/highmem.c indentical
From: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>
Date: Tue, 9 Aug 2005 18:18:11 +0100
Cc: xen-merge <xen-merge@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 09 Aug 2005 17:16:20 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-merge-request@lists.xensource.com?subject=help>
List-id: xen-merge <xen-merge.lists.xensource.com>
List-post: <mailto:xen-merge@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-merge>, <mailto:xen-merge-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-merge>, <mailto:xen-merge-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-merge-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcWc/diLBYO2eu+xR4KXSlzkCn3EfQABn7WQ
Thread-topic: [Xen-merge] arch/i386/mach-xen/mm/highmem.c indentical
 > > I've actually got a patch sitting in my tree that touches 
> this file, 
> > and is important for making kmap (>900MB) work well on Xen. 
> I haven't 
> > checked it in because I don't totally like the approach of 
> introducing 
> > "kset_pte_at", though we clearly need something checked in because 
> > it's a huge win on some benchmarks.
> 
> Also, highmem aren't identical, there was a preceding patch 
> which did that.  The subarch is functional, but does have 
> redundant bits in it.
> I've since removed highmem.  I'd avoid kset_* since it'll 
> look like kset handling (as in kobject and sysfs).  I didn't 
> look closely yet, but what cases would you not want this 
> redifintion of set_pte_at?  I

We have three mechanisms that we can use to update pagetables in Xen
that have different performance tradeoffs:

 1. writeable pagetables (implemented by set_pte). This is best used for
bulk updates of pagetables e.g. fork, zap etc.

 2. queue_l1_update. This is best used for singleton updates. The
'queue' in the name is a bit of a misnomer as we now no longer ever
queue things because: (a) working out where to put the flushes to avoid
read-after-write hazards on pending updates is hard, and  (b) its
impossible to make SMP guests work with good perofrmance. [This is one
of the bigest 'holes' in the VMI proposal]

 2. update_va_mapping. This can be used when you know the virtual
address that the pte is responsible for, and you know that it is in your
current address space. Xen uses the linear pagetable to avoid having to
dynamicly map the domain memory. It's very useful for performance
critical things like the demand fault path and kmap (highmem).
[for kmap you may need to fall-back to a queue_l1_update in case the
page is not mapped into the PGD]


Best,
Ian

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