On Wed, 26 May 2004, Benjamin Herrenschmidt wrote:
Ok, your patch just missed the do_wp_page() case which needs the same
medication as break_cow(), which leaves us with only one caller of
ptep_establish... the one which just sets those 2 bits and shouldn't
be named ptep establish at all ;)
Actually, the do_wp_page() one doesn't change the page, but it potentially
changes _three_ bits: accessed, dirty _and_ writable.
But the fix on ppc64 should be to add the writable bit to the mask of
things, and rename the function to reflect that fact.
I'd rather have ptep_establish do the ptep_clear_flush & set_pte, and
the later just do the bit flip, but then, the arch (and possibly
generic) implementation of that bit flip must also do the TLB flush
when necessary (it's not on ppc).
I agree on the renaming, but please don't use the ptep_clear_flush() in
do_wp_page(), because it really isn't changing the virtual mapping, it's
only a (slightly) extended case of the same old "set another bit".
Linus
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>