Messages in this thread | | | Subject | Re: [PATCH v3] net:Add sysctl_max_skb_frags | From | Hannes Frederic Sowa <> | Date | Wed, 3 Feb 2016 15:03:50 +0100 |
| |
On 03.02.2016 13:20, Herbert Xu wrote: > 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.
Most normal Ethernet systems and drivers currently don't need tweating this knob at all, only some special kinds of installations. This patch referred to IPoIB as a possible user which drivers/firmware/cards seem to have this problem. Current behavior just leaves everything as-is.
If you use IPoIB you probably use it quite regular and linearizing an skbs *always* seems to be much more work than simply capping the number of frags globally.
> Besides, you have to implement the linearisation anyway because > of virtualisation.
Yes, the slow-path is necessary. But instead of writing a new complicated linearizing function to just reduce the fragments we could also simply linearize it completely and ask the admin to also tune the vm guests.
I only see this tuning in kind in very specific environments where the admins now what they do.
Bye, Hannes
| |