linux/arch/powerpc
Benjamin Herrenschmidt 16f1c74675 [POWERPC] Small fixes & cleanups in segment page size demotion
The code for demoting segments to 4K had some issues, like for example,
when using _PAGE_4K_PFN flag, the first CPU to hit it would do the
demotion, but other CPUs hitting the same page wouldn't properly flush
their SLBs if mmu_ci_restriction isn't set.  There are also potential
issues with hash_preload not handling _PAGE_4K_PFN.  All of these are
non issues on current hardware but might bite us in the future.

This patch thus fixes it by:

 - Taking the test comparing the mm and current CPU context page
sizes to decide to flush SLBs out of the mmu_ci_restrictions test
since that can also be triggered by _PAGE_4K_PFN pages

 - Due to the above being done all the time, demote_segment_4k
doesn't need update the context and flush the SLB

 - demote_segment_4k can be static and doesn't need an EXPORT_SYMBOL

 - Making hash_preload ignore anything that has either _PAGE_4K_PFN
or _PAGE_NO_CACHE set, thus avoiding duplication of the complicated
logic in hash_page() (and possibly making hash_preload a little bit
faster for the normal case).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-09 16:35:00 +10:00
..
boot [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc 2007-05-08 14:47:32 +10:00
configs [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc 2007-05-08 14:47:32 +10:00
kernel [POWERPC] iSeries: suppress build warning in lparmap.c 2007-05-09 16:34:59 +10:00
lib [POWERPC] Remove use of 4level-fixup.h for ppc32 2007-05-08 13:40:31 +10:00
math-emu [POWERPC] ppc math-emu needs -fno-builtin-fabs for math.c and fabs.c 2006-09-26 15:24:35 +10:00
mm [POWERPC] Small fixes & cleanups in segment page size demotion 2007-05-09 16:35:00 +10:00
oprofile [POWERPC] Spinlock initializer cleanup 2007-04-30 11:02:06 +10:00
platforms [POWERPC] iSeries: Make HVC_ISERIES the default 2007-05-09 16:35:00 +10:00
sysdev [POWERPC] Abolish powerpc_flash_init() 2007-05-08 15:09:26 +10:00
xmon Simplify kallsyms_lookup() 2007-05-08 11:15:08 -07:00
.gitignore [POWERPC] Add files build to .gitignore 2006-12-04 20:41:29 +11:00
Kconfig [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc 2007-05-08 14:47:32 +10:00
Kconfig.debug [POWERPC] Early serial debug support for PPC44x 2007-05-08 14:47:33 +10:00
Makefile [POWERPC] Small cleanups to the cuboot bootwrapper code 2007-05-02 20:04:31 +10:00