Benjamin Herrenschmidt <b...@kernel.crashing.org> wrote on 12/10/2009 07:46:14: > > On Mon, 2009-10-12 at 07:36 +0200, Joakim Tjernlund wrote: > > Benjamin Herrenschmidt <b...@kernel.crashing.org> 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 :-)
OK, I will send a removal patch too. > > 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 ? I had that idea to, but no. These have different traps numbers and address is set to SRR0 for ITLB and to DAR for DTLB. I test for DTLB trap number before doing anything. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev