]> git.karo-electronics.de Git - karo-tx-linux.git/commit
[S390] add support for physical memory > 4TB
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 11 Nov 2011 16:19:08 +0000 (17:19 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 11 Nov 2011 16:19:09 +0000 (17:19 +0100)
commit0b0c710a01af02717c0d748fd746ad8c2c3e63c3
tree15019e8f3c5b3bd75041be62d4eea7c829d469ed
parent6b37f16a69ef91685e6a35cbd108c64c49ab5272
[S390] add support for physical memory > 4TB

The kernel address space of a 64 bit kernel currently uses a three level
page table and the vmemmap array has a fixed address and a fixed maximum
size. A three level page table is good enough for systems with less than
3.8TB of memory, for bigger systems four page table levels need to be
used. Each page table level costs a bit of performance, use 3 levels for
normal systems and 4 levels only for the really big systems.
To avoid bloating sparse.o too much set MAX_PHYSMEM_BITS to 46 for a
maximum of 64TB of memory.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/pgtable.h
arch/s390/include/asm/sparsemem.h
arch/s390/kernel/setup.c
arch/s390/mm/init.c
arch/s390/mm/pgtable.c