Re: Page fault scalability patch V18: Drop first acquisition of ptl

From: Christoph Lameter <clameter_at_sgi.com>
Date: 2005-03-03 16:51:43
On Wed, 2 Mar 2005, David S. Miller wrote:

> Actually, I guess I could do the pte_cmpxchg() stuff, but only if it's
> used to "add" access.  If the TLB miss handler races, we just go into
> the handle_mm_fault() path unnecessarily in order to synchronize.
>
> However, if this pte_cmpxchg() thing is used for removing access, then
> sparc64 can't use it.  In such a case a race in the TLB handler would
> result in using an invalid PTE.  I could "spin" on some lock bit, but
> there is no way I'm adding instructions to the carefully constructed
> TLB miss handler assembler on sparc64 just for that :-)

There is no need to provide pte_cmpxchg. If the arch does not support
cmpxchg on ptes (CONFIG_ATOMIC_TABLE_OPS not defined)
then it will fall back to using pte_get_and_clear while holding the
page_table_lock to insure that the entry is not touched while performing
the comparison.
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Mar 3 01:05:58 2005

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:36 EST