Date: Fri, 28 Feb 2014 15:15:40 -0800 From: Jack Vogel <jfvogel@gmail.com> To: Rick Macklem <rmacklem@uoguelph.ca> Cc: FreeBSD Net <freebsd-net@freebsd.org>, John-Mark Gurney <jmg@funkthat.com>, Sami Halabi <sodynet1@gmail.com> Subject: Re: TSO Message-ID: <CAFOYbc=airt=fMe5c-wga0X%2BM4=z7PQX3yq1_qy67iNVetuTPQ@mail.gmail.com> In-Reply-To: <617657923.15165586.1393628503863.JavaMail.root@uoguelph.ca> References: <20140228064202.GN47921@funkthat.com> <617657923.15165586.1393628503863.JavaMail.root@uoguelph.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
Cool Rick, Would be easy enough to add the correct setting into the Intel drivers, thanks for doing this! Jack On Fri, Feb 28, 2014 at 3:01 PM, Rick Macklem <rmacklem@uoguelph.ca> wrote: > John-Mark Gurney wrote: > > Julian Elischer wrote this message on Fri, Feb 28, 2014 at 13:24 > > +0800: > > > On 2/27/14, 5:24 AM, John-Mark Gurney wrote: > > > >Jack Vogel wrote this message on Wed, Feb 26, 2014 at 10:27 -0800: > > > >>Drivers have to work with whatever the requirements/limitations > > > >>of the > > > >>hardware, > > > >>if you have a 5 lb sack you shouldn't be surprised if some drops > > > >>when you > > > >>shove > > > >>6 lbs at it :) > > > >But right now, when that happens, the nic just drops it instead of > > > >telling the kernel to stop giving 6 lbs sacks.. :) It's only > > > >after a > > > >large amount of work by various people did we even find out that > > > >this > > > >is what was happening... > > > so why not look at what would happen if it were people doing this.. > > > > > > person1 would hand person2 a 4 pound sack. > > > all ok.. > > > person 1 then hands person2 a 6 pound sack and person 2 replies > > > "Ouch", that's too much!.. > > > person 1 now knows not to do that.. until he forgets... > > > part of the trick is knowing while assembling the packet, what > > > interface is going to be used.. > > > which from memory is not 100% guaranteed because routes can > > > change... > > > > Umm... TSO depends upon knowlege that the interface supports it... > > if it didn't we couldn't do it.. The default is that the person can > > only ever accept a 1lb bag, but the TSO flag says, they can take > > more.. > > > > If they forget, then they'd go back to the default of 1lb sacks at > > a time... > > > > Plus, we already have something similar for the max size of the TSO, > > so the code is mostly there already, see t_tsomax... > > > I've attached the untested (and I have nothing that does TSO, so I can't > really take this patch any further) patch that adds tsomaxseg to be used > along with t_tsomax by tcp_output() when deciding how big to make the TSO > segment. > The one thing John-Mark Gurney pointed out was that the default value for > tsomaxseg needs to be large, so that it doesn't impact drivers that can > handle more than 32 transmit segments. > > At this point few drivers set if_hw_tsomax and just use the default of > 65535. Drivers would need to be fixed to set if_hw_tsomaxseg for this > patch to be useful. (Assuming it is tested/debugged so it does what I > meant it to;-) > > rick > > > -- > > John-Mark Gurney Voice: +1 415 225 5579 > > > > "All that I will do, has been done, All that I have, has not." > > _______________________________________________ > > freebsd-net@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-net > > To unsubscribe, send any mail to > > "freebsd-net-unsubscribe@freebsd.org" > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFOYbc=airt=fMe5c-wga0X%2BM4=z7PQX3yq1_qy67iNVetuTPQ>