Subject: Re: New read & write syscalls
To: Ignatios Souvatzis <is@jocelyn.rhein.de>
From: Chris G. Demetriou <cgd@netbsd.org>
List: tech-kern
Date: 06/30/1999 12:33:32
Ignatios Souvatzis <is@jocelyn.rhein.de> writes:
> ok... actually, for modern register-passing-ABI cpus, I see that read/write
> is faster... I was only thinking of stack ABI cpus, which might even be
> able to have a zero-copy (hm, actually: one-copy) assembler stub.

Except, the iovec structure itself isn't an argument, it's pointed to
by an argument on the stack.

So, on stack-based ABIs, you:
	* do whatever you do to copy in the syscall args.
	* then, once you're in the common code, you still have to
	  copyin() the iovec.

I don't see how you can make this better except by special-casing the
copyin(), and that seems to me to be even worse hair (and additional
code) than just having the extra syscall entry...


cgd
-- 
Chris Demetriou - cgd@netbsd.org - http://www.netbsd.org/People/Pages/cgd.html
Disclaimer: Not speaking for NetBSD, just expressing my own opinion.