Re: Long Format VHPT patches

From: Christoph Lameter <christoph_at_lameter.com>
Date: 2004-08-27 06:19:49
One issue that bothers me is that it is no longer possible to swap pte,
pmd and pgd entries via cmpxchg. My page fault scalability patches are based
on that ability. The Itanium can only do a cmpxchg with a 64 bit value.
The long VHPT entries are 32 bytes long.

IMHO the cmpxchg is unavoidable if we want to increase the scalability of
page fault handling because it offers the shortest and most efficient way
to do synchronize updates to the page tables.

The Intel developers manual documents a way to invalidate a long VHPT
entry while updating it. A special pte_cmpxchg would be needed that
invalidates a VHPT via an atomic operation to set the ti bit, then
does the cmpxchg stuff and then validates the VHPT again. The
page fault handler would have to be modified to redo the fault if the ti
bit is set. However, this is may be significantly than a single cmpxchg.
-
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 Aug 26 16:31:01 2004

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