diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2007-05-08 08:27:27 +0200 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-05-09 08:35:00 +0200 |
commit | 16f1c746755836aa823658000493cdab8ce7b098 (patch) | |
tree | 32f534c771b69400839f5795f979c47eac51f923 /fs/dlm/dir.h | |
parent | [POWERPC] iSeries: Make HVC_ISERIES the default (diff) | |
download | linux-16f1c746755836aa823658000493cdab8ce7b098.tar.xz linux-16f1c746755836aa823658000493cdab8ce7b098.zip |
[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>
Diffstat (limited to 'fs/dlm/dir.h')
0 files changed, 0 insertions, 0 deletions