Skip site navigation (1)Skip section navigation (2)
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>