[parisc-linux] ldcw in __pthread_acquire
Matthew Wilcox
matthew@wil.cx
Mon, 18 Dec 2000 15:59:21 +0000
On Mon, Dec 18, 2000 at 07:49:32AM -0700, LaMont Jones wrote:
> > Since hppa its apparently 2 clocks to the syscall the numbers are apparently
> > different.
>
> Actually, the sequence consists of:
>
> libc_stub:
> bl gateway_page_addr
> ...
>
> gateway_page_addr:
> gate .+8
> ...
> ...
>
> And we find ourselves in kernel mode after 2 branches (unconditional
> and pre-computed ==> predict correctly) and two delay slots. At that
> point we have kernel data structures at our fingertips, but have in no
> way done a complete 'syscall' entry - those are (at least on hp-ux) a
> bit more expensive... (It also means that kernel vs user detection in
> traps code needs to look at the priv level, not the stack pointer...)
... ignoring the potential pain of TLB misses caused by losing locality.
But this is merely a quibble, I think.
--
Revolutions do not require corporate support.