>
>
>
> I still fail to see how this is not an issue with IOAT - if you want to
> DMA into the user buffer, you better have that pinned and locked doe the
> duration of the DMA transfer.
I checked and you are right! there is pinning of the pages (
http://lxr.linux.no/linux/net/ipv4/tcp.c#L1158).
Aviv Greenberg wrote:
>
> 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.
>
> >
> > 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
Hi Aviv,
Answers like yours make linux-il a fun list :-)
Aviv Greenberg wrote:
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 wasti
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