Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp68383ybl; Thu, 12 Dec 2019 14:11:43 -0800 (PST) X-Google-Smtp-Source: APXvYqwg/Ifj5b5JDuzoN+HKv5hR2zouNZbbP6C5r5MxSidXHg6HQd2naM77d0CJUeTStRUxtsqE X-Received: by 2002:a05:6830:1707:: with SMTP id 7mr11182047otk.185.1576188703379; Thu, 12 Dec 2019 14:11:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576188703; cv=none; d=google.com; s=arc-20160816; b=V3C5o7A1b1/zQkswYepScKIbRQO2iAVk9RRuZaty5Ygv+xHA0kT+5MDW1sBh9SDB0A akyHSStAbCabFJ1MysF3fubfiNi64s2JDkr7OJKmkoEXsgIDjwozic4+9Fqy9XEoa8lb r+HvSufplZkHfjVrIbwli/e91H4lvWS/5v6RS+5El/NCi1DQzEqgla3Ad3foXnWHTacj bvIUvCgShYwMq5d1mZaOwn1Ji8qAbWtl0Xd9IxpYepXH/RPIZH/ri+C+Hg+n84qZkSMJ Y5qweC7Q0dCAUMYc3lLDyZVduvfCrmXtlPjG7ih1mTxWRs32MMGUx7PcB+8eDEYYeMHt xnDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject :dkim-signature:dkim-filter; bh=We6613WLfu4qACRIBiuwsgabgnxnKqcp6OVEPPW5+c8=; b=FfkH4B6caFhjfOfRL07AlX8gZxLUW7ks/3rtUwhBtIS6VIzE+/ZsfEPsGEXkslCO6x 1CaU78hc6nJnn3E4FfwmCye5rRd+7QhEzECWkELmciW95TKLCJSj/GZrkleF42DX3beh YgXOTznQalOARYs6FlMrZOj8Zvbyikh3OL7lqH8cqCx395ShZ3zGu902fctl8WEUpg+E o2smIbn09soMcJrl3TdSHzHtcUU+gnhNt3fn1ELxuJCtxlSFfPXETYkcy8aGs1GP6ujW k0ixU8uLQdP1Q0LJK3MTL8s970W1ILQU2qplqi7/e+PJeXCYccV7MJlrTNR1WwI7+weR bA1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@candelatech.com header.s=default header.b=hjbdk+JE; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=candelatech.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j7si4075851otp.323.2019.12.12.14.11.24; Thu, 12 Dec 2019 14:11:43 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@candelatech.com header.s=default header.b=hjbdk+JE; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=candelatech.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731250AbfLLV6M (ORCPT + 99 others); Thu, 12 Dec 2019 16:58:12 -0500 Received: from mail2.candelatech.com ([208.74.158.173]:51042 "EHLO mail3.candelatech.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730779AbfLLV6M (ORCPT ); Thu, 12 Dec 2019 16:58:12 -0500 Received: from [192.168.100.195] (50-251-239-81-static.hfc.comcastbusiness.net [50.251.239.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail3.candelatech.com (Postfix) with ESMTPSA id DE78813C2B0; Thu, 12 Dec 2019 13:58:10 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail3.candelatech.com DE78813C2B0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=candelatech.com; s=default; t=1576187891; bh=mc4LwkIoijYEDOrgpkpHsgVxA6b5cRimdg12OtJw/FI=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=hjbdk+JEz1JKGv5oYdJK/pK9RzDrJa0Z57d0rgpIjcVJyhB/8wK8rky5qWssETWrO Rs2BjH8+oFjxZFzvyBFgRVV+qGxXPpvV/LCySQvU5pOzle1aWbhErZKqGy+SKCqwXF QZrzOIre2AEfuGmBtQyoJy7iqZH6AHkhw8w84HAg= Subject: Re: debugging TCP stalls on high-speed wifi To: Johannes Berg , Eric Dumazet , Neal Cardwell Cc: =?UTF-8?Q?Toke_H=c3=b8iland-J=c3=b8rgensen?= , linux-wireless@vger.kernel.org, Netdev References: <14cedbb9300f887fecc399ebcdb70c153955f876.camel@sipsolutions.net> <99748db5-7898-534b-d407-ed819f07f939@gmail.com> <04dc171a-7385-6544-6cc6-141aae9f2782@candelatech.com> <49cd2d6c7bf597c224edb8806cd56c126b5901b4.camel@sipsolutions.net> From: Ben Greear Organization: Candela Technologies Message-ID: <4689a558-4fbe-a488-3384-24981a99fb1d@candelatech.com> Date: Thu, 12 Dec 2019 13:58:09 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 MIME-Version: 1.0 In-Reply-To: <49cd2d6c7bf597c224edb8806cd56c126b5901b4.camel@sipsolutions.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On 12/12/19 1:46 PM, Johannes Berg wrote: > On Thu, 2019-12-12 at 13:29 -0800, Ben Greear wrote: >> >>> (*) Hmm. Now I have another idea. Maybe we have some kind of problem >>> with the medium access configuration, and we transmit all this data >>> without the AP having a chance to send back all the ACKs? Too bad I >>> can't put an air sniffer into the setup - it's a conductive setup. >> >> splitter/combiner? > > I guess. I haven't looked at it, it's halfway around the world or > something :) > >> If it is just delayed acks coming back, which would slow down a stream, then >> multiple streams would tend to work around that problem? > > Only a bit, because it allows somewhat more outstanding data. But each > stream estimates the throughput lower in its congestion control > algorithm, so it would have a smaller window size? > > What I was thinking is that if we have some kind of skew in the system > and always/frequently/sometimes make our transmissions have priority > over the AP transmissions, then we'd not get ACKs back, and that might > cause what I see - the queue drains entirely and *then* we get an ACK > back... > > That's not a _bad_ theory and I'll have to find a good way to test it, > but I'm not entirely convinced that's the problem. > > Oh, actually, I guess I know it's *not* the problem because otherwise > the ss output would show we're blocked on congestion window far more > than it looks like now? I think? If you get the rough packet counters or characteristics, you could set up UDP flows to mimic download and upload packet behaviour and run them concurrently. If you can still push a good bit more UDP up even with small UDP packets emulating TCP acks coming down, then I think you can be confident that it is not ACKs clogging up the RF or AP being starved for airtime. Since the windows driver works better, then probably it is not much to do with ACKs or downstream traffic anyway. >> TCP_TSQ=200 > > Setting it to 200 is way excessive. In particular since you already get > the *8 from the default mac80211 behaviour, so now you effectively have > *1600, which means instead of 1ms you can have 1.6s worth of TCP data on > the queues ... way too much :) Yes, this was hacked in back when the pacing did not work well with ath10k. I'll do some tests to see how much this matters on modern kernels when I get a chance. This will allow huge congestion control windows.... Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com