Date: Wed, 26 Feb 2014 19:49:44 -0500 (EST) From: Rick Macklem <rmacklem@uoguelph.ca> To: Jack Vogel <jfvogel@gmail.com> Cc: FreeBSD Net <freebsd-net@freebsd.org>, Sami Halabi <sodynet1@gmail.com>, Scott Long <scott4long@yahoo.com> Subject: Re: TSO Message-ID: <1445354566.13933652.1393462184879.JavaMail.root@uoguelph.ca> In-Reply-To: <CAFOYbcmfRiwuhrhJkx2pY_iTFXX92T5SvNth0w7a_vL%2BR0W9%2BA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Jack Vogel wrote: > Nah that wouldn't be very practical would it :) I was thinking the > max > segment value could be > kept in the interface struct, but as I think about it I guess that > wouldn't > really help. So, you > have other ideas Scott?? > > Jack > I won't pretend to be Scott, but I have an untested patch that allows the device to specify its maximum # of segments for transmit (something like if_hw_maxtsoseg to go along with if_hw_maxtso) and then tcp_output() uses that along with if_hw_maxtso to limit the segment size handed to the device. (I don't have any hardware that does TSO, so I can't do anything more with it. If anyone wants to look at it, email and I'll send you a copy.) John-Mark Gurney looked at it and mentioned a concern w.r.t. "fixing the drivers that could handle long mbuf chains". I think this means that the default would need to be large instead of 30. rick > > > On Wed, Feb 26, 2014 at 1:13 PM, Scott Long <scott4long@yahoo.com> > wrote: > > > Are you proposing that the network stack track the physical memory > > segment > > details of the mbufs as they are formed and chained together? > > > > Scott > > > > On Feb 26, 2014, at 10:27 AM, Jack Vogel <jfvogel@gmail.com> wrote: > > > > > 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 :) > > > > > > Why not have this limit in the interface so the stack can avoid > > > exceeding > > > it? > > > > > > Jack > > > > > > > > > > > > > > > On Wed, Feb 26, 2014 at 10:07 AM, John-Mark Gurney > > > <jmg@funkthat.com> > > wrote: > > > > > >> Sami Halabi wrote this message on Wed, Feb 26, 2014 at 19:37 > > >> +0200: > > >>> I'm reading (almost) all mailing emails in mailig list... > > >>> > > >>> Almost every / many problem in network performancr / packets > > >>> loss ended > > >> up > > >>> suggesting disabling TSO. > > >>> > > >>> I wonder why.. Is it a bug in the implementation? Or bybdesign? > > >>> What are the usecases that TSO is needed? Myabe it should be > > >>> disabled > > bt > > >>> default? > > >> > > >> It looks like most of the problems are in drivers that don't > > >> handle > > >> packets with a large number of segments properly... The problem > > >> is > > >> that some drivers limit to how segments a packet can be broken > > >> into, and > > >> then if they receive such a packet, instead of doing their > > >> darnest to > > >> deliver it, they drop it... > > >> > > >> There are some patches that help address the issue... > > >> > > >> Drivers should complain more loudly when a packet gets dropped > > >> by the > > >> driver, since it is likely that the OS may retry the same > > >> packet, > > >> just to have it fail, though sometimes it'll try a different > > >> set, and > > >> it might go through, so all the user may notice is a slight lag > > >> if > > >> they notice anything at all... > > >> > > >> -- > > >> 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" > > >> > > > _______________________________________________ > > > 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" > > > > > _______________________________________________ > 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?1445354566.13933652.1393462184879.JavaMail.root>