diff options
author | Hugh Dickins <hugh@veritas.com> | 2006-10-31 13:40:39 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-10-31 22:52:48 -0500 |
commit | 96268889ee369b36203b7a06e8aabb197270216e (patch) | |
tree | 90e6553e23ebd4c23b3e39a90d9cb70bc691e7aa /arch/powerpc/mm | |
parent | 5fe8e8b88e68e517637e3f8287f1fee89e2d9252 (diff) |
[POWERPC] Make high hugepage areas preempt safe
Checking source for other get_paca()->field preemption dangers found that
open_high_hpage_areas does a structure copy into its paca while preemption
is enabled: unsafe however gcc accomplishes it. Just remove that copy:
it's done safely afterwards by on_each_cpu, as in open_low_hpage_areas.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Acked-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/mm')
-rw-r--r-- | arch/powerpc/mm/hugetlbpage.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 5615acc29527..fd68b74c07c3 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -480,9 +480,6 @@ static int open_high_hpage_areas(struct mm_struct *mm, u16 newareas) | |||
480 | 480 | ||
481 | mm->context.high_htlb_areas |= newareas; | 481 | mm->context.high_htlb_areas |= newareas; |
482 | 482 | ||
483 | /* update the paca copy of the context struct */ | ||
484 | get_paca()->context = mm->context; | ||
485 | |||
486 | /* the context change must make it to memory before the flush, | 483 | /* the context change must make it to memory before the flush, |
487 | * so that further SLB misses do the right thing. */ | 484 | * so that further SLB misses do the right thing. */ |
488 | mb(); | 485 | mb(); |