linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* A radical idea on how to solve various VM problems
@ 2006-09-16 19:21 Christoph Lameter
  0 siblings, 0 replies; only message in thread
From: Christoph Lameter @ 2006-09-16 19:21 UTC (permalink / raw)
  To: linux-mm; +Cc: ak, akpm, pj

Ummm... Since we are using nodes for containers now how about
generalizing that and use such a node container for ZONE_DMA, ZONE_DMA32 
and ZONE_HIGHMEM?

In that case we will then have only one zone per node which simplifies the 
VM and allows optimizations in various kernel subsystems. (Note that AFAIK 
all NUMA systems have only a single zone in nodes > 0 anyways, the 
overhead for more zones is mostly unnecessary).

In that case also all system are "NUMA" systems (solving the #ifdef 
CONFIG_NUMA mess). We could give the special memory zones negative 
indexes.

F.e. a i386 UP/SMP system 

-2 DMA "node"
-1 Normal "node"
 0 Highmem "node"

A x86_64 UP/SMP system

-2 DMA "node"
-1 DMA32 "node"
0 Norma "node"

We can then add more nodes on top to get our containers and more nodes to 
the bottom to get more special allocation areas that we may need for some 
hardware. These could be added dynamically via node up node down 
functionality that already exists. So if we discover a strange DMA device
or broken DMA device with limited address range we could custom add a zone 
(no "node") that would satisfy that requirement.

The NUMA systems then become more nodes

i386 32 BIT NUMA

-2 DMA
-1 NORMAL
 0 HIGHMEM of node 0
 1 HIGHMEM of node 1
 ....

64 bit numa system with legacy allocation requirements

-2 DMA
-1 DMA32
 0 NORMAL of node 0
 1 NORMAL of node 1
 2 NORMAL of node 2

...

Pure 64 bit NUMA system (no special memory pools for
legacy DMA)

 0 NORMAL of node 0
 1 NORMAL of node 1
 ...

This also benefits the slab allocator. There is no need anymore for 
special DMA slabs. A GFP_DMA allocation is the same as a kmalloc_node 
allocation from the DMA "node".

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-09-16 19:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-09-16 19:21 A radical idea on how to solve various VM problems Christoph Lameter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox