Re: page table lock patch V15 [0/7]: overview

Linus Torvalds
2005-01-14T17:43:06Z

On Fri, 14 Jan 2005, Andi Kleen wrote:
>
> With all the other overhead (disabling exceptions, saving register etc.)
> will be likely slower. Also you would need fallback paths for CPUs
> without MMX but with PAE (like Ppro). You can benchmark
> it if you want, but I wouldn't be very optimistic.

We could just say that PAE requires MMX. Quite frankly, if you have a
PPro, you probably don't need PAE anyway - I don't see a whole lot of
people that spent huge amounts of money on memory and CPU (a PPro that had
more than 4GB in it was _quite_ expensive at the time) who haven't
upgraded to a PII by now..

IOW, the overlap of "really needs PAE" and "doesn't have MMX" is probably
effectively zero.

That said, you're probably right in that it probably _is_ expensive enough
that it doesn't help. Even if the process doesn't use FP/MMX (so that you
can avoid the overhead of state save/restore), you need to

- disable preemption
- clear "TS" (pretty expensive in itself, since it touches CR0)
- .. do any operations ..
- set "TS" (again, CR0)
- enable preemption

so it's likely a thousand cycles minimum on a P4 (I'm just assuming that
the P4 will serialize on CR0 accesses, which implies that it's damn
expensive), and possibly a hundred on other x86 implementations.

That's in the noise for something that does a full page table copy, but it
likely makes using MMX for single page table entries a total loss.

Linus