Re: [PATCH 3/6] 8xx: invalidate non present TLBs
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-10-09 00:57:25
On Fri, 2009-10-09 at 01:01 +0200, Joakim Tjernlund wrote:
Ok, that's my understanding too and I think we had the tlbie inquoted
update_mmu_cache to do the trick, though the comment is misleading making it think that the only reason it's there is for the dcbst problem. At least that's my understanding. That was lost recently in2.6quoted
so I'll have to put it back properly.So you don't think my invalidate "only !present pages" patch in do_page_fault is enough?
It might well be the right solution, I was talking about the code as we have upstream today.
I don't think we do the pre-load to avoid the second fault, but we It won't get much faster than my current patch. Trapping all DTLB Errors to C won't make it faster, only more correct should there be a bug in the asm version. Actually there is one that has been there all the time, guarded flag is not set by DTLB Error.
There's other areas of improvements I suggested that can make it faster such as avoiding the whole kernel/user test in the TLB misses. Removing the stuff in DataTLBError can potentially make normal page faults faster too by avoiding going through a bunch of useless code before going to do the real thing in C :-) As I said, the case of ACCESSED or DIRTY updates are rare enough to not warrant code in the main page fault hot path. Cheers, Ben.