Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp257027ybf; Wed, 26 Feb 2020 12:31:26 -0800 (PST) X-Google-Smtp-Source: APXvYqz8XHdsv6PgRZyzZix3xCRVN2Sl9ObtjTUOGSj/9eYeltGK3bfOo0HzbLDldIWxEtnVVQjA X-Received: by 2002:a9d:6f8f:: with SMTP id h15mr442007otq.1.1582749086326; Wed, 26 Feb 2020 12:31:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582749086; cv=none; d=google.com; s=arc-20160816; b=k9ZYitndk9isVT14oRJRosAO6uAGd4w0WgWdHfxsojULU/9dOk5Vta3jUOz9elVQoO mTEd3t3nFS/Wa/5jfCcaYncQemAEZsbTCQSAoAtmLVhzJXkVzlc+8dekj60yeqrUzLYb 45UFslNHI7IV0GXtFCn9UIDzB8SPWzaAp5r0BQh8i88sSOA+yaWgsh7bi+9wrBBZDvk/ o5ZY1WCCEPUG9482TtDuGB9vcZdRJxzunhkNstS+Jp7s4Jso19ix1KOZfZPvnBdkzhfD Y764ZzjV6jiNgVpGvgquWNO2lhT03AjpV19pulBc+lm0FMMFGPrTY8fLHGPbYTt3O+I0 9stA== 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:autocrypt:from:references:cc:to:subject:dkim-signature; bh=CuJBcy0jg4vl70mGbbrdit0BO7Mtnv0NCDeZrcvTURc=; b=GisY9VUSsjDPT5Ou+8hzjECmxSE5snlzYPQWDNA6pFcTt5Z7+YCqnx28QEc/akRdHL xqF5iEFXi0kOYZF20e+A5ZJ0xnlp39iUNZGMntwIdDFGeydTr7cqf33r7wDTulm+jq6G UxRw5Gsmfi08sswlqFT8k7FvTIemLGmv02vHLTC5lMhZMuYNgkWFiGuWqqS7srouVdkp CuRpyDdQQ3PRheZvxzMOHEELzaZl+GeVoqSilBtn0go47RiXw3TltGu0aOIDeZcOZZYe QFbZteqqcRRZetkZZvB3+YJuZT/lIE8OuBcIP5D3nwFrm8PgRxX+aMvFwV8c+S73XoBq ISDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@nbd.name header.s=20160729 header.b=OoHakT6+; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e7si314305otr.183.2020.02.26.12.30.57; Wed, 26 Feb 2020 12:31:26 -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=fail header.i=@nbd.name header.s=20160729 header.b=OoHakT6+; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727506AbgBZUan (ORCPT + 99 others); Wed, 26 Feb 2020 15:30:43 -0500 Received: from nbd.name ([46.4.11.11]:46328 "EHLO nbd.name" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727277AbgBZUam (ORCPT ); Wed, 26 Feb 2020 15:30:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nbd.name; s=20160729; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=CuJBcy0jg4vl70mGbbrdit0BO7Mtnv0NCDeZrcvTURc=; b=OoHakT6+Wj1rZJxGh2d/Hr46EV DtJ99JphVGYAHRzxE4Zq2UST90EwSIiO0kppmAHMIOIh1G0AzZuEfA+DKIZElUiaptXXaCbIPjvmA F3KZcp1qbhiL8lv/iOGzye9UeduPaB7wmir0ufo3Ja22pOfhVUsDdM0cyH4TqbcktX0M=; Received: from [80.255.7.116] (helo=nf.local) by ds12 with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1j73KF-00043G-Hn; Wed, 26 Feb 2020 21:30:35 +0100 Subject: Re: [PATCH v11 4/4] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue To: Kan Yan , johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, make-wifi-fast@lists.bufferbloat.net, toke@redhat.com, yiboz@codeaurora.org, john@phrozen.org, lorenzo@kernel.org, rmanohar@codeaurora.org, kevinhayes@google.com References: <20191119060610.76681-1-kyan@google.com> <20191119060610.76681-5-kyan@google.com> From: Felix Fietkau Autocrypt: addr=nbd@nbd.name; prefer-encrypt=mutual; keydata= xsDiBEah5CcRBADIY7pu4LIv3jBlyQ/2u87iIZGe6f0f8pyB4UjzfJNXhJb8JylYYRzIOSxh ExKsdLCnJqsG1PY1mqTtoG8sONpwsHr2oJ4itjcGHfn5NJSUGTbtbbxLro13tHkGFCoCr4Z5 Pv+XRgiANSpYlIigiMbOkide6wbggQK32tC20QxUIwCg4k6dtV/4kwEeiOUfErq00TVqIiEE AKcUi4taOuh/PQWx/Ujjl/P1LfJXqLKRPa8PwD4j2yjoc9l+7LptSxJThL9KSu6gtXQjcoR2 vCK0OeYJhgO4kYMI78h1TSaxmtImEAnjFPYJYVsxrhay92jisYc7z5R/76AaELfF6RCjjGeP wdalulG+erWju710Bif7E1yjYVWeA/9Wd1lsOmx6uwwYgNqoFtcAunDaMKi9xVQW18FsUusM TdRvTZLBpoUAy+MajAL+R73TwLq3LnKpIcCwftyQXK5pEDKq57OhxJVv1Q8XkA9Dn1SBOjNB l25vJDFAT9ntp9THeDD2fv15yk4EKpWhu4H00/YX8KkhFsrtUs69+vZQwc0cRmVsaXggRmll dGthdSA8bmJkQG5iZC5uYW1lPsJgBBMRAgAgBQJGoeQnAhsjBgsJCAcDAgQVAggDBBYCAwEC HgECF4AACgkQ130UHQKnbvXsvgCgjsAIIOsY7xZ8VcSm7NABpi91yTMAniMMmH7FRenEAYMa VrwYTIThkTlQzsFNBEah5FQQCACMIep/hTzgPZ9HbCTKm9xN4bZX0JjrqjFem1Nxf3MBM5vN CYGBn8F4sGIzPmLhl4xFeq3k5irVg/YvxSDbQN6NJv8o+tP6zsMeWX2JjtV0P4aDIN1pK2/w VxcicArw0VYdv2ZCarccFBgH2a6GjswqlCqVM3gNIMI8ikzenKcso8YErGGiKYeMEZLwHaxE Y7mTPuOTrWL8uWWRL5mVjhZEVvDez6em/OYvzBwbkhImrryF29e3Po2cfY2n7EKjjr3/141K DHBBdgXlPNfDwROnA5ugjjEBjwkwBQqPpDA7AYPvpHh5vLbZnVGu5CwG7NAsrb2isRmjYoqk wu++3117AAMFB/9S0Sj7qFFQcD4laADVsabTpNNpaV4wAgVTRHKV/kC9luItzwDnUcsZUPdQ f3MueRJ3jIHU0UmRBG3uQftqbZJj3ikhnfvyLmkCNe+/hXhPu9sGvXyi2D4vszICvc1KL4RD aLSrOsROx22eZ26KqcW4ny7+va2FnvjsZgI8h4sDmaLzKczVRIiLITiMpLFEU/VoSv0m1F4B FtRgoiyjFzigWG0MsTdAN6FJzGh4mWWGIlE7o5JraNhnTd+yTUIPtw3ym6l8P+gbvfoZida0 TspgwBWLnXQvP5EDvlZnNaKa/3oBes6z0QdaSOwZCRA3QSLHBwtgUsrT6RxRSweLrcabwkkE GBECAAkFAkah5FQCGwwACgkQ130UHQKnbvW2GgCfTKx80VvCR/PvsUlrvdOLsIgeRGAAn1ee RjMaxwtSdaCKMw3j33ZbsWS4 Message-ID: <789d592c-5b1b-b785-6d9c-86b7cc7d57f4@nbd.name> Date: Wed, 26 Feb 2020 21:30:34 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <20191119060610.76681-5-kyan@google.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Hi, I've take a closer look at the AQL implementation, and I found some corner cases that need to be addressed soon: - AQL estimated airtime does not take into account A-MPDU, so it is significantly overestimating airtime use for aggregated traffic, especially on high rates. My proposed solution would be to check for a running aggregation session and set estimated tx time to something like: expected_airtime(16 * skb->len) / 16. - We need an API that allows the driver to change the pending airtime values, e.g. subtract estimated tx time for a packet. mt76 an ath9k can queue packets inside the driver that are not currently in the hardware queues. Typically if the txqs have more data than what gets put into the hardware queue, both drivers will pull an extra frame and queue it in its private txq struct. This frame will get used on the next txq scheduling round for that particular station. If you have lots of stations doing traffic (or having driver buffered frames in powersave mode), this could use up a sizable chunk of the AQL budget. While removing the airtime of those packages would lead to AQL temporarily underestimating airtime, I think it would be better than overestimating it. I will work on some patches. What do you think about these issues and my proposed fixes? - Felix