Hello Ira, You talked about many things....
First off, Zero Copy I/O is enabled in Linux only using the sendfile syscall. You also must have a network device that has Checksum Offload (calculate ip/tcp csum and put it on the packet). The "regular" socket api does not enable zero copy. Interrupt Swizzling won't give any benefit on 10G or modern 1G devices that uses MSI/MSI-X interrupts. Today there are 2 main ways of doing interupts, INTx (the legacy way) and the new MSI/MSI-X. "Swizzling" is a way to optimize the legacy interrupt mechanism. Just use MSI enabled devices. Also, looks for devices that have multi receive and transmit queues (per-cpu) - it all plays good together. IOAT - its not a TCP offload engine. Intel's assumption is that the CPU is wasting a lot of cycles to copy data (from kernel to user and vv). IOAT is just a smart DMA engine that can move data (copy) without wasting the main CPU cycles. There are more details (cpu caching optimizationetc) but this is the basic idea. I would be happy to discuss these issues with you. I sent you a private email. Thanks, Aviv On 2/12/08, Ira Abramov <[EMAIL PROTECTED]> wrote: > > Howdie, > > I seem to be getting "edge cases" this week :-) > > A client of mine wanted "extreme I/O performance" out of a full-duplex > Gigbit interface. Specifically he asked about intel I/OAT and IRQ > Swizzling. I had to look those up: > > http://www.intel.com/technology/ioacceleration/ > seems like it's a TCP Offloader built into the Woodcrest CPUs. found > lots of whitepaprers, but not a word about how to turn it on. > > http://fireverse.org/?p=55 > http://download.intel.com/design/chipsets/applnots/31433702.pdf > Swizzling, if I got it right, is a BIOS switch to enable Intel chipset > 5000 series to let me see each NIS on a different IRQ so I can do > affinity balancing (otherwise all NICs are on the same IRQ). this > doesn't seem to do any good for a single NIC though. > > Anyone knows about either? I refered the client to GBY, being a > kernel hacker unlike myself, but he also never heard of either > technology. All I could find by Googling were lots of white papers, but > no howto, except for that fireverse.org link about it being supported in > CP SPLAT. > > Also, I never looked into "Zero Copy". I know it's a cool feature > supported only in some NIC drivers. Is it something that needs toying > with or is it turned on by default when I use the driver? > > Thanks in advance, > Ira. > > -- > Your hetero life mate > Ira Abramov > http://ira.abramov.org/email/ > > ================================================================= > To unsubscribe, send mail to [EMAIL PROTECTED] with > the word "unsubscribe" in the message body, e.g., run the command > echo unsubscribe | mail [EMAIL PROTECTED] > >