From: Herbert Xu > Sent: 03 February 2016 12:21 > On Wed, Feb 03, 2016 at 12:36:21PM +0100, Hannes Frederic Sowa wrote: > > > > Agreed that it feels like a hack, but a rather simple one. I would > > consider this to be just a performance improvement. We certainly need > > a slow-path when virtio drivers submit gso packets to the stack (and > > already discussed with Hans). The sysctl can't help here. But without > > the sysctl the packets would constantly hit the slow-path in case of > > e.g. IPoIB and that would also be rather bad. > > So you want to penalise every NIC in the system if just one of > them is broken? This is insane. Just do the partial linearisation > in that one driver that needs it and not only won't you have to > penalise anyone else but you still get the best result for that > driver that needs it. > > Besides, you have to implement the linearisation anyway because > of virtualisation.
And if a MAC driver needs to linearize a tx frame it might as well copy it into a separately allocated tx buffer area. Indeed it can copy fragments until the number left is less than the fragment limit. David