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-ia64-devel

RE: [Xen-ia64-devel] Virtual mem map

To: "Tristan Gingold" <Tristan.Gingold@xxxxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-ia64-devel] Virtual mem map
From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Date: Fri, 6 Jan 2006 13:40:16 -0800
Delivery-date: Fri, 06 Jan 2006 21:45:45 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcYSuAf4XYY3O8xaT4Cqd727+xoxSQAT3H6w
Thread-topic: [Xen-ia64-devel] Virtual mem map
> I am currently thinking about virtual mem map.
> In Linux, the virtual mem map is (surprise) virtually mapped.
> In Xen, we can use the same approach or we can manually cut 
> the mem map into 
> several pieces using a mechanism similar to paging.
> 
> I don't really like the first way: this uses TLB, this may 
> causes more 
> troubles and currently Xen almost don't use translation cache 
> for itself.
> 
> So, I think I will use the second approach.
> 
> Am I missing an important point ?
> Am I doing the wrong choice ?
> Please, comment.
> 
> Tristan.

I think you will need to explain a little bit more what you
mean by "a mechanism similar to paging" before it will
be possible to comment.  Paging, to me, means there is some
kind of swap drive or backing store to allow more "virtual"
pages than "physical" pages.

I spent a lot of time recently digging through the physical
memory management code of Linux/ia64.  It is very messy because
it has to support a wide variety of physical memory layouts.
And it makes surprising choices that throw away huge chunks of
physical memory (anything that doesn't fit conveniently in
a "granule").  Getting this all working on multiple machines
will probably be a big challenge.  It might be best to use
Linux code that is known to work on many machines.

I agree with your concern though that taking TLB misses when
looking up a page struct in Xen is likely to cause performance
problems and some difficult bugs.  It might be worthwhile to
put some counters in to see how frequently the memmap is
accessed and code some defensive bounds checks to ensure
wild accesses are immediately flagged with a BUG rather than
resulting in random memory accesses.

Dan

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

<Prev in Thread] Current Thread [Next in Thread>