Re: Mapping a piece of one process' addrspace to another?

From: Alexander Viro (viro@math.psu.edu)
Date: Wed Mar 07 2001 - 04:09:31 EST


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...
                                                        Cheers,
                                                                Al

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.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