Reducing system calls overhead

der Mouse mouse at mcgill-vision.UUCP
Sun Sep 11 20:45:53 AEST 1988


In article <28575 at oliveb.olivetti.com>, jerry at olivey.olivetti.com (Jerry Aguirre) writes:
> In article <21606 at ccicpg.UUCP> goshen at ccicpg.UUCP (Shmuel Goshen) writes:
>> The second approach would be to introduce a simple and quick
>> interface for "light weight" system calls [...].
> I once did this for a proprietary OS (not Unix).  [description of how
> this was a win in this case.]

We have a MicroVAX with an auxiliary CPU in it, something for which
very little software appears to exist.  We were building some, which
involved writing a kernel to run on the auxiliary.  In this particular
system, there was one syscall which was used very heavily, and it was a
very simple one: set a couple of flags and return (except for once in a
long while, in which case it did a good deal of work).  Well, it turned
out that adding a couple of tests to the chmk handler to test for that
particular syscall got us a factor of about 5 improvement.  Quite a
win.  (Ultimately, we got an even bigger win my making those particular
flags reside in a piece of memory which was made writeable by user
mode, so no mode-change was necessary.  Turned a full syscall, with all
its overhead, into a assign, test, plus a syscall in the "hard" case.)

					der Mouse

			old: mcgill-vision!mouse
			new: mouse at larry.mcrcim.mcgill.edu



More information about the Comp.unix.wizards mailing list