Xref: utzoo comp.unix.wizards:11065 comp.os.misc:510 Path: utzoo!attcan!uunet!husc6!bloom-beacon!mcgill-vision!mouse From: mouse@mcgill-vision.UUCP (der Mouse) Newsgroups: comp.unix.wizards,comp.os.misc Subject: Re: Reducing system calls overhead Message-ID: <1308@mcgill-vision.UUCP> Date: 11 Sep 88 10:45:53 GMT References: <21606@ccicpg.UUCP> <28575@oliveb.olivetti.com> Organization: McGill University, Montreal Lines: 24 In article <28575@oliveb.olivetti.com>, jerry@olivey.olivetti.com (Jerry Aguirre) writes: > In article <21606@ccicpg.UUCP> goshen@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@larry.mcrcim.mcgill.edu