On Thu, 2009-04-02 at 12:24 -0500, Will Schmidt wrote: > > -------- > > > > Index: linux-2.6-tip/arch/powerpc/mm/tlb_hash64.c > > =================================================================== > > --- linux-2.6-tip.orig/arch/powerpc/mm/tlb_hash64.c > > +++ linux-2.6-tip/arch/powerpc/mm/tlb_hash64.c > > @@ -32,6 +32,8 @@ > > #include <asm/bug.h> > > #include <asm/machdep.h> > > > > +DEFINE_PER_CPU(struct ppc64_tlb_batch, ppc64_tlb_batch); > > + > > /* > > * A linux PTE was changed and the corresponding hash table entry > > * neesd to be flushed. This function will either perform the flush Will, could you see if the below makes your splat go away? diff --git a/arch/powerpc/include/asm/tlb.h b/arch/powerpc/include/asm/tlb.h index ec82dac..3ddc8f6 100644 --- a/arch/powerpc/include/asm/tlb.h +++ b/arch/powerpc/include/asm/tlb.h @@ -38,6 +38,8 @@ struct arch_mmu_gather { struct pte_freelist_batch *batch; }; +#define ARCH_MMU_GATHER_INIT (struct arch_mmu_gather){ .batch = NULL, } + #if !defined(CONFIG_PPC_STD_MMU) #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index 7f2167e..50a09de 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h @@ -71,6 +71,10 @@ tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int full_m tlb->nr = ~0U; tlb->fullmm = full_mm_flush; + +#ifdef HAVE_ARCH_MMU_GATHER + tlb->arch = ARCH_MMU_GATHER_INIT; +#endif } static inline void -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html