From owner-freebsd-net@FreeBSD.ORG Fri Feb 28 23:15:41 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 95B226EE; Fri, 28 Feb 2014 23:15:41 +0000 (UTC) Received: from mail-vc0-x22e.google.com (mail-vc0-x22e.google.com [IPv6:2607:f8b0:400c:c03::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3EAEB13D7; Fri, 28 Feb 2014 23:15:41 +0000 (UTC) Received: by mail-vc0-f174.google.com with SMTP id im17so1411244vcb.5 for ; Fri, 28 Feb 2014 15:15:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=VrO2uBkCiDqeexQC+BJ/PP65HD9Hs8tFnSaCmCIYMWc=; b=G7TEguZ4MqKnNpQmhB3Kvd2wSqqb+NjwAnv2a9AEDlK7VMAr1mbNj5rtAxBOIf3uj0 tp3rq8sC7dUdfW4O4scLEemJmDppeqRFlefZDBW7H959oaVIsi0ajNqFnU1UXBLhqZlX LlVP23G/VinPQ18BytSVj00rBRkGo36aXqnH95FlIa6Wf0Qo30um05zOGuEFf8uItnVs 1cVvq6Ntiw7LBQU45iQk8tDOd3xCSWT2HzVN06hqhJowBK0uCVFy+ezX1xb10Ao349Ll AwBVKG996OIC+19CD0JI5DQZLzddQwwS06L9tH/fMLjOOfyvRnZxCKwytnfNdNv2V+7K CY6w== MIME-Version: 1.0 X-Received: by 10.52.108.228 with SMTP id hn4mr2773395vdb.43.1393629340314; Fri, 28 Feb 2014 15:15:40 -0800 (PST) Received: by 10.221.11.135 with HTTP; Fri, 28 Feb 2014 15:15:40 -0800 (PST) In-Reply-To: <617657923.15165586.1393628503863.JavaMail.root@uoguelph.ca> References: <20140228064202.GN47921@funkthat.com> <617657923.15165586.1393628503863.JavaMail.root@uoguelph.ca> Date: Fri, 28 Feb 2014 15:15:40 -0800 Message-ID: Subject: Re: TSO From: Jack Vogel To: Rick Macklem Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: FreeBSD Net , John-Mark Gurney , Sami Halabi X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Feb 2014 23:15:41 -0000 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 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" > > >