From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTP id D96CFDDE34 for ; Thu, 9 Aug 2007 15:27:21 +1000 (EST) In-Reply-To: <20070808110029.43c110ef@weaponx.rchland.ibm.com> References: <20070807042050.GJ13522@localhost.localdomain> <20070808110029.43c110ef@weaponx.rchland.ibm.com> Mime-Version: 1.0 (Apple Message framework v752.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <57F869A4-38DE-4CC9-A07D-C3A873CE9268@kernel.crashing.org> From: Kumar Gala Subject: Re: Fix small race in 44x tlbie function Date: Thu, 9 Aug 2007 00:28:20 -0500 To: Josh Boyer Cc: linuxppc-dev@ozlabs.org, Volkmar Uhlig , Paul Mackerras , Todd Inglett , David Gibson List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Aug 8, 2007, at 11:00 AM, Josh Boyer wrote: > On Wed, 8 Aug 2007 10:20:45 -0500 > Kumar Gala wrote: > >> >> On Aug 6, 2007, at 11:20 PM, David Gibson wrote: >> >>> The 440 family of processors don't have a tlbie instruction. So, we >>> implement TLB invalidates by explicitly searching the TLB with >>> tlbsx., >>> then clobbering the relevant entry, if any. Unfortunately the >>> PID for >>> the search needs to be stored in the MMUCR register, which is also >>> used by the TLB miss handler. Interrupts were enabled in _tlbie >>> (), so >>> an interrupt between loading the MMUCR and the tlbsx could cause >>> incorrect search results, and thus a failure to invalide TLB entries >>> which needed to be invalidated. >>> >>> This patch fixes the problem in both arch/ppc and arch/powerpc by >>> inhibiting interrupts (even critical and debug interrupts) across >>> the >>> relevant instructions. >>> >>> Signed-off-by: David Gibson >>> --- >>> Paul, this one's a bugfix, which I think should go into 2.6.23. >> >> Did you actually see this happen? > > Yes. When? We don't have critical wired to anything, I don't expect watchdog to cause another fault.. so just wondering. - k