[hppa-linux] syscall work

Michael Shalayeff mickey@lucifier.dial-up.user.akula.net
Mon, 29 Mar 1999 15:41:40 -0500 (EST)

okie, but why emulating gate instruction, when there is already such
instruction exist? (;
page w/ gate instructions needed for existing (3 already) operating systems
compatibility, so it's needed anyway, and btw having the gateway
page mapped (and only one) could result in that it's tlb mapping would
persist in the tlb improving perfomance, while doing if() would
always penilize. this needs actual measurement, but i beleive certain
cases w/ many syscalls being called should be very possible.

Making, drinking tea and reading an opus magnum from Stan Sieler:
> Re:
> > let's think what is less efficient: extra mapped page, or
> > extra indirrect ptr reference?
> > my point is, why map extra page (and waiste extra page) ?
> > one page is 128 page dir entries, hehe (; returning to the pd discussion)
> If you're talking about the gateway page, if you don't actually *allocate*
> a page, but simply rely on the trap that occurs when you try to jump to it,
> then there's 0 storage cost for the extra mapped page approach...no TLB
> entry, no entries in other data structures.  The only cost is the
> additional CPU time in the TLB miss handler to say:
>    if isr.ior = 0xc0000400 (or whatever)
>       then handle system call attempt
>    else
>       handle TLB miss
> BTW, the extra cost of doing a system call mechanism via a non-mapped gateway page
> vs. using a GATE instruction is about 5 microseconds on a 32MHz machine.
> -- 
> Stan Sieler                                          sieler@allegro.com
>                                      http://www.allegro.com/sieler.html

    paranoic mickey       (my employers have changed but, the name has remained)