[PATCH] ppc64: Fix 32bit largepage issue

Anton Blanchard anton at samba.org
Mon Feb 21 11:16:16 EST 2005


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 at samba.org>

diff -puN arch/ppc64/mm/hugetlbpage.c~fix_32bit_largepage arch/ppc64/mm/hugetlbpage.c
--- gr_work/arch/ppc64/mm/hugetlbpage.c~fix_32bit_largepage	2005-02-20 17:32:00.795862566 -0600
+++ gr_work-anton/arch/ppc64/mm/hugetlbpage.c	2005-02-20 17:32:00.806855265 -0600
@@ -264,6 +264,10 @@ static int open_low_hpage_segs(struct mm
 				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. */

More information about the Linuxppc64-dev mailing list