Date: Tue, 27 Jul 1999 09:42:38 -0600 From: "Justin T. Gibbs" <gibbs@caspian.plutotech.com> To: Mike Smith <mike@smith.net.au> Cc: "Justin T. Gibbs" <gibbs@plutotech.com>, cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: Re: cvs commit: src/release/sysinstall tcpip.c Message-ID: <199907271542.JAA22174@caspian.plutotech.com> In-Reply-To: Your message of "Tue, 27 Jul 1999 08:26:44 PDT." <199907271526.IAA03481@dingo.cdrom.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>> The target area is a RAM buffer/parity generating device that for all >> intents and purposes looks just like CPU memory to any device on the PCI >> bus. We want to dump the data directly to this "external" ram, compute >> parity, and then ship the data either to our A/V board or out to >> disk. Since we need to sustain an aggregate bandwidth of 50-100MB/s >> (depends on configuration), doing an extra copy is not a pleasant >> option. > >Understood. I presume that you'll be handling the unwrappping of the >payload in this second shipping-out phase? We control the sender, so the payload doesn't need to be unwrapped. >> I don't expect FreeBSD to support this configuration out >> of the box (we need the target to be a specific physical address, not >> just any old page shoved into our user address space), but I do expect >> us to support zero-copy receive for more standard applications so long >> as they allocate receive space in a sane fashion. > >I have to admit that I cannot see how you can hope to do zero-copy on >receive. How are you going to know in advance what the next datagram >is going to be? We can't. >You need to know that in order to set up the scatter/gather to get the >payload into the recipient's buffer, but you don't know which potential >recipient the next datagram is for, nor whether the next datagram is even >going to be for them (as opposed to, say, an ICMP or ARP message). We have access to the Tigon firmware and will add a special receive ring for packets to specific port addresses, etc. This is the reason why I would not expect FreeBSD to support this configuration directly. -- Justin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907271542.JAA22174>