Return-path: Received: from mail-ie0-f175.google.com ([209.85.223.175]:42423 "EHLO mail-ie0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755718AbbBFPCQ (ORCPT ); Fri, 6 Feb 2015 10:02:16 -0500 Message-ID: <1423234933.31870.140.camel@edumazet-glaptop2.roam.corp.google.com> (sfid-20150206_160225_747079_1235C85F) Subject: Re: Throughput regression with `tcp: refine TSO autosizing` From: Eric Dumazet To: David Laight Cc: Michal Kazior , Neal Cardwell , linux-wireless , Network Development , "eyalpe@dev.mellanox.co.il" Date: Fri, 06 Feb 2015 07:02:13 -0800 In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6D1CADF4EC@AcuExch.aculab.com> References: <1422537297.21689.15.camel@edumazet-glaptop2.roam.corp.google.com> <1422628835.21689.95.camel@edumazet-glaptop2.roam.corp.google.com> <1422903136.21689.114.camel@edumazet-glaptop2.roam.corp.google.com> <1422926330.21689.138.camel@edumazet-glaptop2.roam.corp.google.com> <1422973660.907.10.camel@edumazet-glaptop2.roam.corp.google.com> <1423051045.907.108.camel@edumazet-glaptop2.roam.corp.google.com> <1423053531.907.115.camel@edumazet-glaptop2.roam.corp.google.com> <1423055810.907.125.camel@edumazet-glaptop2.roam.corp.google.com> <1423056591.907.130.camel@edumazet-glaptop2.roam.corp.google.com> <1423084303.31870.15.camel@edumazet-glaptop2.roam.corp.google.com> <1423141038.31870.38.camel@edumazet-glaptop2.roam.corp.google.com> <1423142342.31870.49.camel@edumazet-glaptop2.roam.corp.google.com> <1423147286.31870.59.camel@edumazet-glaptop2.roam.corp.google.com> <1423156205.31870.86.camel@edumazet-glaptop2.roam.corp.google.com> <1423230001.31870.128.camel@edumazet-glaptop2.roam.corp.google.com> <1423230785.31870.131.camel@edumazet-glaptop2.roam.corp.google.com> <1423231841.31870.133.camel@edumazet-glaptop2.roam.corp.google.com> <063D6719AE5E284EB5DD2968C1650D6D1CADF4EC@AcuExch.aculab.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Fri, 2015-02-06 at 14:31 +0000, David Laight wrote: > From: Eric Dumazet > > On Fri, 2015-02-06 at 05:53 -0800, Eric Dumazet wrote: > > > > > > > wifi could eventually do that, providing in skb->tx_completion_delay_us > > > the time spent in wifi driver. > > > > > > This way, we would have no penalty for network devices doing normal skb > > > orphaning (loopback interface, ethernet, ...) > > > > Another way would be that wifi does an automatic orphaning after 1 or > > 2ms. > > Couldn't you do byte counting? > So orphan enough packets to keep a few ms of tx traffic (at the current > tx rate) orphaned. > You might need to give the hardware both orphaned and non-orphaned (parented?) > packets and orphan some when you get a tx complete for an orphaned packet. We already have byte counting. The thing is : A driver can keep an skb for itself, but calling skb_orphan() in time to allow a socket to send more packets. For say a UDP server, it would be quite mandatory, as it usually uses a single UDP socket to receive and send messages.