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

From: Benjamin Herrenschmidt
Date: Tue May 25 2004 - 17:19:50 EST


On Wed, 2004-05-26 at 07:54, Linus Torvalds wrote:
> 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.
>
> Ok. And nothing ever writes to the SW page tables outside the page table
> lock, right? So on ppc64, we could just do
>
> #define ptep_update_dirty_accessed(ptep, entry, dirty) \
> *(ptep) = (entry)
>
> and be done with it. No?
>
> I'm not going to do it without a big ack from you.

No. The hash fault path will update the PTE dirty/accessed on a hash miss
exception without holding the page table lock (acts a bit like a HW TLB
as far as linux is concerned). That's why it needs to be atomic.

Ben.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/