From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x243.google.com (mail-lj1-x243.google.com [IPv6:2a00:1450:4864:20::243]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 99BCB3B2A4 for ; Thu, 14 Nov 2019 21:04:25 -0500 (EST) Received: by mail-lj1-x243.google.com with SMTP id d5so8888926ljl.4 for ; Thu, 14 Nov 2019 18:04:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=k+RkCsTHdY2ZkVMOeC5oUQogAL9fLuSmbUmi8ZzczVk=; b=folNVsCeRICwPLDGWyppsoOrCQyy+uledLfhdhdLxyUq1LcIw5h74H6XE1/wpFlp7n WsF92nzEW5TrRSYESZcfTmrFgMwzAXZiskr0xbM+lDBdGL1tqC8OsWGgTFmOyE0XH7mR AyYa//UR6qiz8U2jb2d2cmZscGR9ZZGCOUAaheCu2bhvtNRthmexFXIPIKKd1UJ7zps8 WSrE1e4IvT3i4ikRlE71kGz0rc5l+B77+8VRDxaYbM7J+feHJKm+Ege5fmvyHxLFIvHS lkpRY7l4l7nCL1XcKznCy6hkYChIQuWOoCyIbAcuKpQpO2KMkK0L1g54a4I59Dkjve7x ZObA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=k+RkCsTHdY2ZkVMOeC5oUQogAL9fLuSmbUmi8ZzczVk=; b=fnp2GScL3X0BfEMPWz4REufpSSJDjsrQo0t5jkVxHvD9FcZFIW/PQzIDCuwisvCfWN ioWebAn2mpy9wzpx2Afu9CVdc8DoLcfo/MIv3+zXAMQCoEJUQkB2S17lanDb0CLTED7Q EGBy+r5BkSTwJnp5/gT+KGZ6vHNoShJDLXDGMrhDDsrgdhf8JW9QplEsA0H53Z2UK7Xb 6Q2rbzKbRw60Vlp5WG4MJ+yC2sU4NI7Y5ff27/reZTWFczEeX1gFfZUwcDFdq5L1knEG /odx+3Br6Pqv6WYddxaFIbeE/BIgGDV1gUhz1EuSZCL93N1Xvw0cI9WhzZ5nt98R2PO3 zFcg== X-Gm-Message-State: APjAAAVLZfZKVglajrpnej83OmbcurPlza9fo3zTGgYBz+gjLEwABqhz ztD7JpqWGArslQI1G1TO0i97/UtfLSCQjX7kcp03+g== X-Google-Smtp-Source: APXvYqwzP255AuNJVA3k98w7XR8qF5Z/vP0RFS5NY3Ln9yDLuKdInTsCYhlE8vbV5zEgMgUHJRNOjhFz80yPOJWQzd8= X-Received: by 2002:a2e:9ad8:: with SMTP id p24mr9126760ljj.114.1573783462751; Thu, 14 Nov 2019 18:04:22 -0800 (PST) MIME-Version: 1.0 References: <20191115014846.126007-1-kyan@google.com> In-Reply-To: <20191115014846.126007-1-kyan@google.com> From: Kan Yan Date: Thu, 14 Nov 2019 18:04:11 -0800 Message-ID: To: Johannes Berg Cc: linux-wireless@vger.kernel.org, Make-Wifi-fast , =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= , Felix Fietkau , Yibo Zhao , John Crispin , Lorenzo Bianconi , Rajkumar Manoharan , Kevin Hayes Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [Make-wifi-fast] [PATCH v8 0/2] Implement Airtime-based Queue Limit (AQL) X-BeenThere: make-wifi-fast@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Nov 2019 02:04:25 -0000 I have tested it with Toke's patch "[PATCH v6 4/4] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue", but didn't include it here, as it is self contained and Toke has plan to update it. The platform (QCA9984) used in my test doesn't support 802.11ax, so I was not able to test the HE mode support added in v7 update of "Import airtime calculation code from mt76" from Toke. On Thu, Nov 14, 2019 at 5:48 PM Kan Yan wrote: > > This patch series port the Airtime Queue Limits concept from the out-of-t= ree > ath10k implementation[0] to mac80211. This version takes my patch to do t= he > throttling in mac80211, and replaces the driver API with the mechanism fr= om > Toke's series, which instead calculated the expected airtime at dequeue t= ime > inside mac80211, storing it in the SKB cb field. > > This version has been tested on QCA9984 platform. > > [0] https://chromium-review.googlesource.com/c/chromiumos/third_party/ker= nel/+/1703105/7 > > Changelog: > > v8: > - Includes Toke's v7 version of "mac80211: Import airtime calculation c= ode from mt76" > - Don't clobber sta's customized queue limit when configuring the defau= lt via debugfs > - Fix a racing condition when reset aql_tx_pending. > > v7: > - Fix aql_total_pending_airtime underflow due to insufficient locking. > > v6: > - Fix sta lookup in ieee80211_report_used_skb(). > - Move call to ieee80211_sta_update_pending_airtime() to a bit later in > __ieee80211_tx_status() > v5: > - Add missing export of ieee80211_calc_rx_airtime() and make > ieee80211_calc_tx_airtime_rate() static (kbuildbot). > - Use skb_get_queue_mapping() to get the AC from the skb. > - Take basic rate configuration for the BSS into account when calculati= ng > multicast rate. > v4: > - Fix calculation that clamps the maximum airtime to fit into 10 bits > - Incorporate Rich Brown's nits for the commit message in Kan's patch > - Add fewer local variables to ieee80211_tx_dequeue() > v3: > - Move the tx_time_est field so it's shared with ack_frame_id, and use = units > of 4us for the value stored in it. > - Move the addition of the Ethernet header size into ieee80211_calc_exp= ected_tx_airtime() > v2: > - Integrate Kan's approach to airtime throttling. > - Hopefully fix the cb struct alignment on big-endian architectures. > > > > Kan Yan (1): > mac80211: Implement Airtime-based Queue Limit (AQL) > > Toke H=C3=B8iland-J=C3=B8rgensen (1): > mac80211: Import airtime calculation code from mt76 > > include/net/cfg80211.h | 7 + > include/net/mac80211.h | 41 +++ > net/mac80211/Makefile | 3 +- > net/mac80211/airtime.c | 597 +++++++++++++++++++++++++++++++++++++ > net/mac80211/debugfs.c | 85 ++++++ > net/mac80211/debugfs_sta.c | 43 ++- > net/mac80211/ieee80211_i.h | 8 + > net/mac80211/main.c | 10 +- > net/mac80211/sta_info.c | 38 +++ > net/mac80211/sta_info.h | 8 + > net/mac80211/tx.c | 47 ++- > 11 files changed, 872 insertions(+), 15 deletions(-) > create mode 100644 net/mac80211/airtime.c > > -- > 2.24.0.rc1.363.gb1bccd3e3d-goog >