From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761298AbZDCJnk (ORCPT ); Fri, 3 Apr 2009 05:43:40 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1762250AbZDCJma (ORCPT ); Fri, 3 Apr 2009 05:42:30 -0400 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 Subject: Re: [Announce] 2.6.29-rt2 From: Peter Zijlstra To: will_schmidt@vnet.ibm.com 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 In-Reply-To: <1238693053.8813.27.camel@lexx> References: <1238688145.8813.16.camel@lexx> <1238693053.8813.27.camel@lexx> Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Fri, 03 Apr 2009 11:43:13 +0200 Message-Id: <1238751793.798.22.camel@twins> Mime-Version: 1.0 X-Mailer: Evolution 2.26.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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