At 12:03 PM -0800 2/24/97, Jonathan S. Shapiro wrote:
>Once all the registers are tied up this way, library calls quickly
>grow, um, entertaining. While you can swap the registers in and out,
>it's a pain in the butt and has *significant* performance costs. I've
>been looking at the number of system calls made by VCSK to provide a
>new page, and it's not pretty. This is one place where we can and
>will get dinged in performance comparisons.
We typically swapped keys out. For example, in most domains, the space bank key was only used during initialization. (Address space was populated thru a fresh segment, so the main domain did not need rapid access to the space bank.)
>
>The RETURNER appears to be truly universal -- any domain that returns
>correctly appears to require it, and it is needed for swapping key
>registers as well. If a domain has the authority to perform key
>invocations, it should certainly have the authority to move keys
>around within it's key register set. If we adopt the KLOAD/KSTORE
>change, I'm tempted to turn RETURNER into a pseudo-instruction as
>well.
If a domain exists in a 1:1 relation to its caller, it doesn't need returner. Only public service domains need returner. It is sometimes quite useful to be able to pass a start key in the 4th posistion and have the invoked domain treat it as a resume key. (You can also generate some very interesting bugs doing this.)
>
>This, however, still doesn't help enough. I'm therefore contemplating
>cutting over to 32 key nodes. This cutover would have several
>positive effects:
Gee, the software will have a modern RISC compliment of capability registers while the brain damaged hardware architecture is still waiting to catch up. :-)
The only real cost is in the space to store unused slots. You will also need to expand the slot identifiers in the entry and exit blocks. (If you define slot zero of a domains capability "registers" as always containing the zero number key, analogous to many RISC designs which have a register which is always zero, then the key mask can be eliminated freeing up 4 bits.)
Bill Frantz | Back from caving in Borneo.| Periwinkle -- Consulting (408)356-8506 | Great caves. We mapped | 16345 Englewood Ave. frantz@netcom.com | 25KM on the expedition. | Los Gatos, CA 95032, USA