Messages in this thread | | | Date | Fri, 14 Jan 2005 08:52:46 -0800 (PST) | From | Christoph Lameter <> | Subject | Re: page table lock patch V15 [0/7]: overview |
| |
On Thu, 14 Jan 2005, Andi Kleen wrote:
> > I think this is not necessary. Most IA32 processors do 64 > > bit operations in an atomic way in the same way as IA64. We can cut out > > all the stuff we put in to simulate 64 bit atomicity for i386 PAE mode if > > we just use convince the compiler to use 64 bit fetches and stores. 486 > > That would mean either cmpxchg8 (slow) or using MMX/SSE (even slower > because you would need to save FPU stable and disable > exceptions).
It strange that the instruction set does not contain some simple 64bit store or load and the FPU state seems to be complex to manage...sigh.
Looked at arch/i386/lib/mmx.c. It avoids the mmx ops in an interrupt context but the rest of the prep for mmx only saves the fpu state if its in use. So that code would only be used rarely. The mmx 64 bit instructions seem to be quite fast according to the manual. Double the cycles than the 32 bit instructions on Pentium M (somewhat higher on Pentium 4).
One could simply do a movq.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |