kernel-ark/arch/powerpc
Paul Mackerras 3a8247cc2c powerpc: Only demote individual slices rather than whole process
At present, if we have a kernel with a 64kB page size, and some
process maps something that has to be mapped with 4kB pages (such as a
cache-inhibited mapping on POWER5+, or the eHCA infiniband queue-pair
pages), we change the process to use 4kB pages everywhere.  This hurts
the performance of HPC programs that access eHCA from userspace.

With this patch, the kernel will only demote the slice(s) containing
the eHCA or cache-inhibited mappings, leaving the remaining slices
able to use 64kB hardware pages.

This also changes the slice_get_unmapped_area code so that it is
willing to place a 64k-page mapping into (or across) a 4k-page slice
if there is no better alternative, i.e. if the program specified
MAP_FIXED or if there is not sufficient space available in slices that
are either empty or already have 64k-page mappings in them.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2008-07-01 11:27:57 +10:00
..
boot Merge branch 'linux-2.6' 2008-06-30 10:16:50 +10:00
configs Merge branch 'linux-2.6' 2008-06-30 10:16:50 +10:00
kernel powerpc: Add cputable entry for POWER7 2008-06-30 22:31:11 +10:00
kvm KVM: ppc: Report bad GFNs 2008-06-06 21:22:41 +03:00
lib [POWERPC] Fix -Os kernel builds with newer gcc versions 2008-06-16 15:00:54 +10:00
math-emu
mm powerpc: Only demote individual slices rather than whole process 2008-07-01 11:27:57 +10:00
oprofile
platforms powerpc: Only demote individual slices rather than whole process 2008-07-01 11:27:57 +10:00
sysdev Merge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx 2008-06-30 09:57:05 +10:00
xmon Merge branch 'linux-2.6' 2008-06-30 10:16:50 +10:00
.gitignore
Kconfig powerpc/sysdev: implement FSL GTM support 2008-06-10 10:38:50 -05:00
Kconfig.debug [POWERPC] Add IRQSTACKS support on ppc32 2008-04-29 15:57:34 +10:00
Makefile powerpc: Get rid of CROSS32{AS,LD,OBJCOPY} 2008-06-30 22:30:39 +10:00