From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <35BTKXQQKDisRfHUNVVNSL.JVTTHRL-dPMP-MHZaSPZaZ.IbMMLYISVHa.ULa@flex--kyan.bounces.google.com> Received: from mail-pf1-x44a.google.com (mail-pf1-x44a.google.com [IPv6:2607:f8b0:4864:20::44a]) (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 390653B2A4 for ; Mon, 11 Nov 2019 21:11:49 -0500 (EST) Received: by mail-pf1-x44a.google.com with SMTP id z21so14235921pfr.4 for ; Mon, 11 Nov 2019 18:11:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc :content-transfer-encoding; bh=c0XkcrBbJmn29isoFMJEpXbj1UComGd5lQPbOm8JDH4=; b=lb69U/VDW4oJRpPtad/zFO6hoHDkbIoi6r9KeWVcPbM4nd3NhoOvPHspF6Nesfbiod s8IB1577nEQWxpuHHmFTppPfyFaZZZQwtLbdKATaMsUbPUbFEe7eboVKprrmkefqKIM6 DE2INLVTNau9QW9tSfJZ34ZJm3wAjiD0Upnqy7tc+ombLue6OcVx+7Y/bOmpsZbVfvbv erpcqCm6ljiugGWBQP/Vg5g0hU7XFwKlIFOoMyS59ttixqfNt4RS7fDglSJs/SbtR2qA F4lUsqxkk7vMd47REMt8eUVCO+HySqVDlpmZHXD8wnrX9JnMy8yyYYhlrqVolfVQnp3G cvpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc :content-transfer-encoding; bh=c0XkcrBbJmn29isoFMJEpXbj1UComGd5lQPbOm8JDH4=; b=CfhiCMYuAUvUzLs/bPkQzvXrlItcczCCPjB+e/qhq/iCTJ+bG8CYEMy1IAOCdtG12r WR9fSUzB2OpbdqYmNUV4p/5+vdZ9SYTRH0zPa+uP+QqNAbTJwP8ENJaof9KentyqznFX VlWdBIjc9Q76lTk8PW43AX1p1gjeRqHkAdE4aPLIImClo/np3m4C/Ziotl83frwv3PlA 5fYPb4JQoUoSXfPsr0JppLa7HeIQvFW2WLBqj9viH3545J/qULQjH9Mh7dsOVa4IBf41 Pc8J7MV6R4Krh02HjZm2yAydzxuV+xMpEwThazLsP6x3fSiBCxEtwKPSI4wJSKrRyZ3K iTVA== X-Gm-Message-State: APjAAAWglj8whuGb84SFezqNhKORBzsnBZTUQ1ZUiw0HlJW3QX5VAisH /2TKPmlvR9iGqYch6obTVF8ppadc X-Google-Smtp-Source: APXvYqy4IoJMxQUq60MN9iUa2HaVUHGz6vX8IFK1GFwVwUyREO+5oOUInz3I95lOGmpkpiSyNyDIFyVj X-Received: by 2002:a65:670d:: with SMTP id u13mr21326060pgf.19.1573524708148; Mon, 11 Nov 2019 18:11:48 -0800 (PST) Date: Mon, 11 Nov 2019 18:11:34 -0800 Message-Id: <20191112021136.42918-1-kyan@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.24.0.rc1.363.gb1bccd3e3d-goog From: Kan Yan To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, make-wifi-fast@lists.bufferbloat.net, toke@redhat.com, nbd@nbd.name, yiboz@codeaurora.org, john@phrozen.org, lorenzo@kernel.org, rmanohar@codeaurora.org, kevinhayes@google.com, Kan Yan Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [Make-wifi-fast] [PATCH v7 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: Tue, 12 Nov 2019 02:11:49 -0000 This series is a first attempt at porting the Airtime Queue Limits concept = from the out-of-tree ath10k implementation[0] to mac80211. This version takes Ka= n's patch to do the throttling in mac80211, and replaces the driver API with th= e mechanism from the previous version of Toke's series, which instead calcula= ted the expected airtime at dequeue time inside mac80211, storing it in the SKB cb field. This patch series has been tested on QCA9984 plaform. [0] https://chromium-review.googlesource.com/c/chromiumos/third_party/kerne= l/+/1703105/7 Changelog: 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 calculating 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 un= its of 4us for the value stored in it. - Move the addition of the Ethernet header size into ieee80211_calc_expec= ted_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: Use Airtime-based Queue Limits (AQL) on packet dequeue include/net/cfg80211.h | 7 ++++ include/net/mac80211.h | 12 ++++++ net/mac80211/debugfs.c | 78 ++++++++++++++++++++++++++++++++++++++ net/mac80211/debugfs_sta.c | 43 ++++++++++++++++----- net/mac80211/ieee80211_i.h | 4 ++ net/mac80211/main.c | 10 ++++- net/mac80211/sta_info.c | 40 +++++++++++++++++++ net/mac80211/sta_info.h | 8 ++++ net/mac80211/status.c | 33 ++++++++++++++++ net/mac80211/tx.c | 68 +++++++++++++++++++++++++++++++-- 10 files changed, 289 insertions(+), 14 deletions(-) --=20 2.24.0.rc1.363.gb1bccd3e3d-goog