On Wed, 7 Mar 2001, Jeremy Elson wrote:
> Well, because it's a character device :-). i.e,. the framework allows
> you to write a userspace program that services callbacks for character
> devices. Inside the kernel, all open()/release()/ioctl()/etc calls
> for the device are proxied out to userspace where a library calls a
> userspace callback, and the result goes back to the kernel where it is
> then returned to the calling process.
Double ugh. Why bother with ioctl() when you can just have a second
channel and do read()/write() on it?
> The problem is just that to return data (instead of just a retval), as
> is needed for read and some ioctls, it leads to 3 copies as I
> described earlier.
> BTW, where are the zerocopy patches for pipes? Maybe I'm missing
> something but it seems that pipes inside the kernel are still
> implememented by copying into the kernel and then copying out.
> Whatever method the zerocopy pipes use is probably what I'm looking
> for though.
Ask DaveM or look through l-k archives for URL of recent variant...
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Mar 07 2001 - 21:00:22 EST