From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Subject: Re: [Announce] 2.6.29-rt2 Date: Fri, 03 Apr 2009 11:43:13 +0200 Message-ID: <1238751793.798.22.camel@twins> References: <1238688145.8813.16.camel@lexx> <1238693053.8813.27.camel@lexx> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Thomas Gleixner , LKML , rt-users , Ingo Molnar , Steven Rostedt , Carsten Emde , Clark Williams , Frank Rowand , Robin Gareus , Gregory Haskins , Philippe Reynes , Fernando Lopez-Lezcano To: will_schmidt@vnet.ibm.com Return-path: Received: from casper.infradead.org ([85.118.1.10]:56368 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1762245AbZDCJm2 (ORCPT ); Fri, 3 Apr 2009 05:42:28 -0400 In-Reply-To: <1238693053.8813.27.camel@lexx> Sender: linux-rt-users-owner@vger.kernel.org List-ID: 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 > > #include > > > > +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