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 ESMTPS id 37893B70B3 for ; Mon, 12 Oct 2009 16:46:23 +1100 (EST) Subject: Re: [PATCH 6/8] 8xx: Add missing Guarded setting in DTLB Error. From: Benjamin Herrenschmidt To: Joakim Tjernlund In-Reply-To: References: <1255278912-8042-1-git-send-email-Joakim.Tjernlund@transmode.se> <1255278912-8042-2-git-send-email-Joakim.Tjernlund@transmode.se> <1255278912-8042-3-git-send-email-Joakim.Tjernlund@transmode.se> <1255278912-8042-4-git-send-email-Joakim.Tjernlund@transmode.se> <1255278912-8042-5-git-send-email-Joakim.Tjernlund@transmode.se> <1255278912-8042-6-git-send-email-Joakim.Tjernlund@transmode.se> <1255278912-8042-7-git-send-email-Joakim.Tjernlund@transmode.se> <1255296330.2192.42.camel@pasglop> <1255301096.2192.44.camel@pasglop> Content-Type: text/plain; charset="UTF-8" Date: Mon, 12 Oct 2009 16:46:14 +1100 Message-Id: <1255326374.2192.112.camel@pasglop> Mime-Version: 1.0 Cc: Scott Wood , "linuxppc-dev@ozlabs.org" , Rex Feany List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, 2009-10-12 at 07:36 +0200, Joakim Tjernlund wrote: > Benjamin Herrenschmidt wrote on 12/10/2009 00:44:56: > > On Mon, 2009-10-12 at 00:19 +0200, Joakim Tjernlund wrote: > > > > > > I hear you, I can remove DTLB error with an add on patch later if that is OK? > > > I cannot remove the DARFix though, when I move that to do_page_fault(), I get > > > duplicate TLB hits on the same insn. It is like when transfer_to_handler() > > > executes rfi, the cpu restarts the the faulting insn instead of jumping > > > to the page fault handler, not always but often. > > > > I'm not sure what you mean here ... > > Just that I need to keep the DAR fix for dcbX insn in the DTLB handler. If I try > to move it to do_page_fault() I get a lot more DTLB errors for dcbX insn. I'm not sure why (ie, I didn't get your explanation about rfi and restarting the faulting insn etc...) but ok, I don't mind having the DAR fixup remain in the asm. It's the whole logic that looks at the PTE and does things with it that I feel has no room in there :-) BTW. Maybe the do_page_fault() thing comes from the fact that we also go there via ITLB Error which doesn't set the DAR and that's normal ? Cheers, Ben.