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 | |
| 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>
| -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(); |
