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

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


  • To: "Tristan Gingold" <Tristan.Gingold@xxxxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
  • 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
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • 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


 


Rackspace

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