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.