]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] ppc64: Fix 32bit largepage issue
authorAnton Blanchard <anton@samba.org>
Mon, 21 Feb 2005 23:30:18 +0000 (15:30 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 21 Feb 2005 23:30:18 +0000 (15:30 -0800)
The paca holds a shadow of the context struct, used for the real mode SLB
handler.  When we open up a new segment we have to sync up the paca copy
otherwise we will instantiate small page SLB entries until the next context
switch (at which point we resync the paca copy).

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/ppc64/mm/hugetlbpage.c

index 12b3def68f3dc6f88bb8f413e7d23bedb8133fb4..3aa910f89369ec431bb8854a27e99827fa2d5f15 100644 (file)
@@ -264,6 +264,10 @@ static int open_low_hpage_segs(struct mm_struct *mm, u16 newsegs)
                                return -EBUSY;
 
        mm->context.htlb_segs |= newsegs;
+
+       /* update the paca copy of the context struct */
+       get_paca()->context = mm->context;
+
        /* the context change must make it to memory before the flush,
         * so that further SLB misses do the right thing. */
        mb();