Reducing system calls overhead
Shmuel Goshen
goshen at ccicpg.UUCP
Thu Aug 25 04:42:25 AEST 1988
I have been looking recently at ways to reduce the system call overhead.
One approach would be to move *simple* system calls form the kernel out
to the user. This is quite limited since many kernel data structures
cannot be accessed from User Mode.
The second approach would be to introduce a simple and quick interface
for "light weight" system calls (like getpid(), umask() etc'), which
perform simple tasks and never sleep. This quick interface will run
in kernel mode, thus enabling access to kernel data structures, but
will not include operations like saving the context (setjmp), signal
delivery and allowing rescheduling upon return from the call.
The net effect is almost as having the system call run in user mode.
I am looking for opinions on these approaches. My main concern is side
effects caused by eliminating signal delivery and rescheduling until
a "software forced exception" or a *heavy* system call is executed
by the process. (Consider, for example, a program running getpid()
calls in a loop).
--
Shmuel Goshen (714) 951-8053
Computer Consoles Inc. (714) 458-7282
Irvine, CA. {allegra!hplabs!felix,seismo!rlgvax}!ccicpg!goshen
More information about the Comp.unix.wizards
mailing list