|
|
Re: Stable regression with 'tcp: allow splice() to build full TSO packets' |
On Thu, May 17, 2012 at 06:33:24PM +0200, Eric Dumazet wrote: > On Thu, 2012-05-17 at 17:56 +0200, Willy Tarreau wrote: > > On Thu, May 17, 2012 at 05:43:00PM +0200, Eric Dumazet wrote: > > > It's the NIC included in the system-on-chip (Marvell 88F6281), and the NIC > > driver is mv643xx. It's the same hardware you find in sheevaplugs, guruplugs, > > dreamplugs and almost all ARM-based cheap NAS boxes. > > > > > With commit 1d0c0b328a6 in net-next > > > (net: makes skb_splice_bits() aware of skb->head_frag) > > > You'll be able to get even more speed, if NIC uses frag to hold frame. > > > > I'm going to check this now, sounds interesting :-) > > splice(socket -> pipe) does a copy of frame from skb->head to a page > fragment. > > With latest patches (net-next), we can provide a frag for skb->head and > avoid this copy in splice(). You would have a true zero copy > socket->socket mode. That's what I've read in your commit messages. Indeed, we've been waiting for this to happen for a long time. It should bring a real benefit on small devices like the one I'm playing with which have very low memory bandwidth, because it's a shame to copy the data and thrash the cache when we don't need to see them. I'm currently trying to get mainline to boot then I'll switch to net-next. > tg3 drivers uses this new thing, mv643xx_eth.c could be changed as well. I'll try to port your patch (8d4057 tg3: provide frags as skb head) to mv643xx_eth as an exercise. If I succeed and notice an improvement, I'll send a patch :-) Cheers, Willy -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel Discussion] [Ethernet Bridging] [Linux Wireless Networking] [Linux Bluetooth Networking] [Linux Networking Users] [VLAN] [Git] [IETF Annouce] [Linux Assembly] [Security] [Bugtraq] [Photo] [Singles Social Networking] [Yosemite Information] [MIPS Linux] [ARM Linux Kernel] [ARM Linux] [Linux Virtualization] [Linux Security] [Linux IDE] [Linux RAID] [Linux SCSI] [Free Dating]
![]() |
![]() |