From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-ig0-f180.google.com ([209.85.213.180]:40752 "EHLO mail-ig0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757361AbbBEOl3 (ORCPT ); Thu, 5 Feb 2015 09:41:29 -0500 Message-ID: <1423147286.31870.59.camel@edumazet-glaptop2.roam.corp.google.com> (sfid-20150205_154136_159582_EB2E11F8) Subject: Re: Throughput regression with `tcp: refine TSO autosizing` From: Eric Dumazet To: Michal Kazior Cc: Neal Cardwell , linux-wireless , Network Development , eyalpe@dev.mellanox.co.il Date: Thu, 05 Feb 2015 06:41:26 -0800 In-Reply-To: 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> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Thu, 2015-02-05 at 14:44 +0100, Michal Kazior wrote: > Ok. I tried calling skb_orphan() right after I submit each Tx frame > (similar to niu which does this in start_xmit): > > --- a/drivers/net/wireless/ath/ath10k/htt_tx.c > +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c > @@ -564,6 +564,8 @@ int ath10k_htt_tx(struct ath10k_htt *htt, struct > sk_buff *msdu) > if (res) > goto err_unmap_msdu; > > + skb_orphan(msdu); > + > return 0; > > err_unmap_msdu: > > > Now, with {net/master + ath10k GRO + the above} I get 620mbps on a > single flow (even better then before). Wow. > > Does this look ok/safe as a solution to you? Not at all. This basically removes backpressure. A single UDP socket can now blast packets regardless of SO_SNDBUF limits. This basically remove years of work trying to fix bufferbloat. I still do not understand why increasing tcp_limit_output_bytes is not working for you. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: Throughput regression with `tcp: refine TSO autosizing` Date: Thu, 05 Feb 2015 06:41:26 -0800 Message-ID: <1423147286.31870.59.camel@edumazet-glaptop2.roam.corp.google.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> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Neal Cardwell , linux-wireless , Network Development , eyalpe-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org To: Michal Kazior Return-path: In-Reply-To: Sender: linux-wireless-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: netdev.vger.kernel.org On Thu, 2015-02-05 at 14:44 +0100, Michal Kazior wrote: > Ok. I tried calling skb_orphan() right after I submit each Tx frame > (similar to niu which does this in start_xmit): > > --- a/drivers/net/wireless/ath/ath10k/htt_tx.c > +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c > @@ -564,6 +564,8 @@ int ath10k_htt_tx(struct ath10k_htt *htt, struct > sk_buff *msdu) > if (res) > goto err_unmap_msdu; > > + skb_orphan(msdu); > + > return 0; > > err_unmap_msdu: > > > Now, with {net/master + ath10k GRO + the above} I get 620mbps on a > single flow (even better then before). Wow. > > Does this look ok/safe as a solution to you? Not at all. This basically removes backpressure. A single UDP socket can now blast packets regardless of SO_SNDBUF limits. This basically remove years of work trying to fix bufferbloat. I still do not understand why increasing tcp_limit_output_bytes is not working for you. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html