On Tue, Jan 09, 2001 at 03:40:56PM +0100, Ingo Molnar wrote:
> i'd love to first see these kinds of applications (under Linux) before
> designing for them.
Things like Beowulf have been around for a while now, and SGI have
been doing that sort of multimedia stuff for ages. I don't think that
there's any doubt that there's a demand for this.
> Eg. if an IO operation (eg. streaming video webcast)
> does a DMA from a camera card to an outgoing networking card, would it be
> possible to access the packet data in case of a TCP retransmit?
I'm not thinking about pci-to-pci as much as pci-to-memory-to-pci
with no memory-to-memory copies. That's no different to writepage:
doing a zero-copy writepage on a page cache page still gives you the
problem of maintaining retransmit semantics if a user mmaps the file
or writes to it after your initial transmit.
And if you want other examples, we have applications such as Oracle
who want to do raw disk IO in chunks of at least 128K. Going through
a page-by-page interface for large IOs is almost as bad as the
existing buffer_head-by-buffer_head interface, and we have already
demonstrated that to be a bottleneck in the block device layer.
Jes has also got hard numbers for the performance advantages of
jumbograms on some of the networks he's been using, and you ain't
going to get udp jumbograms through a page-by-page API, ever.