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

[Xen-devel] A tale of three memory allocators

To: <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] A tale of three memory allocators
From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Date: Thu, 17 Mar 2005 15:08:55 -0800
Delivery-date: Thu, 17 Mar 2005 23:38:41 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
Thread-index: AcUrRksLbteuaumMSF6n8mcDfe9azQ==
Thread-topic: A tale of three memory allocators
This should be a good meaty developers discussion, full
of opinions. I'm far from an expert in this area and hereby
solicit help.

Once upon a time there was the Xen simplified memory allocator,
written by Keir.  When Dan (the ia64 man) looked at this allocator
for Xen/ia64, he was very displeased.  "Ia64 has a much more
complex physical memory architecture than x86," he said.
"For example, physical memory space is often not contiguous,
and what about the cool NUMA stuff that is in Linux 2.6?"

So Dan took the Linux memory allocation code, hacked on
it mightily, adding numerous ugly ifdefs and used the result
in place of Keir's code for Xen/ia64.  The result works,
but is truly an abomination.

Some time later, Rusty looked at Keir's code and too was
displeased.  He rewrote it to be much cleaner and more
simplified, much to Keir's delight.  And this code was
placed in common, still to be ignored by Xen/ia64.

Now Arun gazed upon the ugly Xen/ia64 memory allocator full
of ifdefs and was much dismayed.  He preferred Rusty's code
and, even better, sharing more code with Xen/x86, so he busily
generated a patch for Xen/ia64 to use the common code.

Said patch is still pending because coincidentally Greg
is currently looking at porting Xen/ia64 to one of those newfangled
ia64 NUMA machines.  "I would like to turn on CONFIG_NUMA.
CONFIG_DISCONTIGMEM, and CONFIG_VIRTUAL_MEM_MAP," said Greg.

What should Dan (the ia64 man) do???  How complex is too
complex?  How ugly is too ugly?

This concludes (for now) the tale of three memory allocators...
(please respond/discuss :-)


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel