linux/arch
David Miller 56a70b8c6a sparc64: Halve the size of PTE tables
The reason we want to do this is to facilitate transparent huge page
support.

Right now PMD's cover 8MB of address space, and our huge page size is 4MB.
 The current transparent hugepage support is not able to handle HPAGE_SIZE
!= PMD_SIZE.

So make PTE tables be sized to half of a page instead of a full page.

We can still map properly the whole supported virtual address range which
on sparc64 requires 44 bits.  Add a compile time CPP test which ensures
that this requirement is always met.

There is a minor inefficiency added by this change.  We only use half of
the page for PTE tables.  It's not trivial to use only half of the page
yet still get all of the pgtable_page_{ctor,dtor}() stuff working
properly.  It is doable, and that will come in a subsequent change.

Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-09 16:23:04 +09:00
..
alpha mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
arm readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
arm64 Kconfig: clean up the "#if defined(arch)" list for exception-trace sysctl entry 2012-10-09 16:22:14 +09:00
avr32 readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
blackfin Kconfig: clean up the long arch list for the UID16 config option 2012-10-09 16:22:13 +09:00
c6x Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
cris readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
frv Kconfig: clean up the long arch list for the DEBUG_BUGVERBOSE config option 2012-10-09 16:22:14 +09:00
h8300 Kconfig: clean up the long arch list for the UID16 config option 2012-10-09 16:22:13 +09:00
hexagon readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
ia64 mm: fix-up zone present pages 2012-10-09 16:22:54 +09:00
m32r Kconfig: clean up the long arch list for the DEBUG_BUGVERBOSE config option 2012-10-09 16:22:14 +09:00
m68k readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
microblaze readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
mips readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
mn10300 cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
openrisc readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
parisc mm: replace vma prio_tree with an interval tree 2012-10-09 16:22:39 +09:00
powerpc memory-hotplug: suppress "Trying to free nonexistent resource <XXXXXXXXXXXXXXXX-YYYYYYYYYYYYYYYY>" warning 2012-10-09 16:23:04 +09:00
s390 readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
score Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
sh readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
sparc sparc64: Halve the size of PTE tables 2012-10-09 16:23:04 +09:00
tile readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
um readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
unicore32 mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
x86 mm: thp: fix pmd_present for split_huge_page and PROT_NONE with THP 2012-10-09 16:22:57 +09:00
xtensa readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
.gitignore
Kconfig thp, x86: introduce HAVE_ARCH_TRANSPARENT_HUGEPAGE 2012-10-09 16:22:29 +09:00