Thread (57 messages) 57 messages, 7 authors, 2004-05-27

Re: [PATCH] ppc64: Fix possible race with set_pte on a present PTE

From: Linus Torvalds <torvalds@osdl.org>
Date: 2004-05-25 22:16:55
Also in: linux-mm, lkml


On Wed, 26 May 2004, Benjamin Herrenschmidt wrote:
Well, just setting one of those 2 bits doesn't require a hash table
invalidate as long as nothing else changes.
I'm starting to doubt this, because:
We do dirty by mapping r/o in the hash table, and accessed on hash
faults (our clear_young triggers a flush). So just setting those bits
in the linux PTE without touching the hash table is fine, we'll just
possibly take an extra fault on the next write or access, but that
might not be much slower than going to the hash update the permissions
directly.
But if we don't update the hash tables, how will the TLB entry _ever_ say 
that the page is writable? So we won't take just _one_ extra fault on the 
next write, we'll _keep_ taking them, since the hash tables will continue 
to claim that the page is read-only, even if the linux sw page tables say 
it is writable.

So I think the code needs to invalidate the hash after having updated the 
pte. No?

		Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help