Messages in this thread | | | Date | Thu, 13 Jan 2005 14:32:33 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: Make pipe data structure be a circular list of pages, rather |
| |
On Thu, 13 Jan 2005, Ingo Oeser wrote: > > Hmm, that's a pity, because it makes hardware support more difficult. > > I thought you might consider an system call, which "wires up" fds. > > Imagine a device fd, which gets lots of measuring data, wired through a > DSP pipe, spliced to realtime display fd and file storage fd.
I think that the solution to that is to make the pipe _be_ the driver interface.
Remember: a pipe is just a set of buffers. If you have a hardware device that could use the buffers, then there is nothing to say that the driver couldn't be the "actor" that fills the buffers. So doing an "open()" on the device would just create a pipe that gets filled by the hardware.
But that doesn't make the pipe an "actor". The pipe just remains a standard way to encapsulate the notion of "set of buffers". It needs an external actor to do something, but that actor can be a device driver filling it up, or a system call that reads it or moves it to another destination.
Linus - 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/
| |