DragonFly kernel List (threaded) for 2003-07
Re: syscall messaging interface API
On Wed, Jul 23, 2003 at 02:32:30PM -0700, Matthew Dillon wrote:
> : Didn't the L4 folks find a way to make system calls on Pentiums without using
> :software interrupts? Isn't this like 10x faster?
> :I need to read stuff at the Pistachio site again but I think I am correct.
> :Any chance that could get integrated into DflyBSD? [sorry for shortenting :)]
> There are a number of ways to get into kernel mode.
> Call Gates - Really slow
> Trap Gates - Reasonable
> SYSENTER - About twice as fast as a trap gate but there are
> issues (typical intel stupidity)
> Int0x80, 0x81, etc... those are trap gates. Overhead on a 1GHz P3
> is about 100ns to get in and 100ns to get out.
> We are going to stick with trap gates for the foreseeable future. There
> are plenty of other ways to make system calls more efficient in those
> situations that require it, like adding a feature to queue several
> system calls at once, or by chaining messages, etc... 99.9% of
> all programs ever written in the entire history of mankind would not
> have a noticeable improvement in performance so it just isn't worth
> worrying about.
Syscalls speed is critical if you use a hybrid user/kernel space thread
blocking/cond-var primitive to do 1:1 threading. Linux's "futex" mechanism
exploits and optimizes it to serve the "greater threading good". :)
It shouldn't be ignored.