Re: [RFC] [TCP 0/3] Receive from socket into bio without copying

From: Eric Dumazet
Date: Fri Jun 29 2012 - 11:08:44 EST


On Fri, 2012-06-29 at 16:53 +0200, Andreas Gruenbacher wrote:
> Hello,
>
> I'm (still) trying to pass data from the network to the block layer without
> copying. The block layer needs blocks to be contiguous in memory, and may have
> some alignment restrictions as well. A lot of modern network hardware will
> receive large packets into separate buffers, so individual large packets will
> end up in contiguous, aligned buffers. I would like to make use of that, but
> tcp currently doesn't allow me to control what ends up in which packets.
>
> This patch series introduces a new flag for indicating to tcp when it should
> start a new segment. Using that on the sender side, I can get data over the
> network with no cpu copying at all.
>
> [My last posting on this topic from May 8 is archived here:
> http://www.spinics.net/lists/netdev/msg197788.html ]
>
> Thanks,
> Andreas
>
> Andreas Gruenbacher (3):
> tcp: Add MSG_NEW_PACKET flag to indicate preferable packet boundaries
> tcp: Zero-copy receive from a socket into a bio
> fs: Export bio_release_pages()

This looks like yet another zero copy, needing another couple of hundred
of lines.

Why splice infrastructure doesnt fit your needs ?



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/