Re: x86_64: Make sparsemem/vmemmap the default memory model

From: Christoph Lameter
Date: Mon Nov 12 2007 - 19:42:49 EST


On Tue, 13 Nov 2007, Andi Kleen wrote:

> On Tuesday 13 November 2007 00:52:14 Christoph Lameter wrote:
> > Use sparsemem as the only memory model for UP, SMP and NUMA.
> >
> > Measurements indicate that DISCONTIGMEM has a higher
> > overhead than sparsemem. And FLATMEMs benefits are minimal. So I think its
> > best to simply standardize on sparsemem.
>
> How about the memory overhead? Is it the same too?
> And code size vs flatmem?

SMP Sparsemem
-------------

Kernel size:

text data bss dec hex filename
3849268 397739 1264856 5511863 541ab7 vmlinux

total used free shared buffers cached
Mem: 8242252 41164 8201088 0 352 11512
-/+ buffers/cache: 29300 8212952
Swap: 9775512 0 9775512

SMP Flatmem
-----------

Kernel size:

text data bss dec hex filename
3844612 397739 1264536 5506887 540747 vmlinux

So 4.5k growth in text size vs. FLATMEM.

total used free shared buffers cached
Mem: 8244052 40544 8203508 0 352 11484
-/+ buffers/cache: 28708 8215344

2k growth in overall memory use after boot.



NUMA discontig:

text data bss dec hex filename
3888124 470659 1276504 5635287 55fcd7 vmlinux

total used free shared buffers cached
Mem: 8256256 56908 8199348 0 352 11496
-/+ buffers/cache: 45060 8211196
Swap: 9775512 0 9775512

NUMA sparse:

text data bss dec hex filename
3896428 470659 1276824 5643911 561e87 vmlinux


8k text growth. Given that we fully inline virt_to_page and friends now
that is rather good.

total used free shared buffers cached
Mem: 8264720 57240 8207480 0 352 11516
-/+ buffers/cache: 45372 8219348
Swap: 9775512 0 9775512

Hmmm... More memory free? How did that happen? More pages cached for some
reason. The total available memory is increased by 8k.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/