From patchwork Fri Nov 9 23:16:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Rajkumar Manoharan X-Patchwork-Id: 10676681 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A7A6914E2 for ; Fri, 9 Nov 2018 23:17:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9A4FC2F174 for ; Fri, 9 Nov 2018 23:17:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8C5132F187; Fri, 9 Nov 2018 23:17:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 32B532F174 for ; Fri, 9 Nov 2018 23:17:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728690AbeKJJAK (ORCPT ); Sat, 10 Nov 2018 04:00:10 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:56366 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727012AbeKJJAK (ORCPT ); Sat, 10 Nov 2018 04:00:10 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 3B6BF60ADD; Fri, 9 Nov 2018 23:17:25 +0000 (UTC) Received: from smtp.codeaurora.org (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: rmanohar@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 5CA0C602BC; Fri, 9 Nov 2018 23:17:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 5CA0C602BC Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=pass (p=none dis=none) header.from=qti.qualcomm.com Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=pass smtp.mailfrom=rmanohar@qti.qualcomm.com Received: by smtp.codeaurora.org (sSMTP sendmail emulation); Fri, 09 Nov 2018 15:17:22 -0800 From: Rajkumar Manoharan To: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Cc: make-wifi-fast@lists.bufferbloat.net, Rajkumar Manoharan Subject: [PATCH v2 0/6] Move TXQ scheduling and airtime fairness into mac80211 Date: Fri, 9 Nov 2018 15:16:55 -0800 Message-Id: <1541805421-27309-1-git-send-email-rmanohar@qti.qualcomm.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Here is the consolidated series of mac80211, ath9k and ath10k changes for moving TXQ scheduling and airtime fairness into mac80211 and support airtime fairness. Three main APIs are defined for TXQ scheduling. - ieee80211_next_txq - ieee80211_return_txq - ieee80211_txq_may_transmit and two APIs for synchronization when the driver wants to iterate through all TXQs. - ieee80211_txq_schedule_start - ieee80211_txq_schedule_end The earlier discussions: https://patchwork.kernel.org/project/linux-wireless/list/?series=&submitter=&state=*&q=TXQ+scheduling&archive=both&delegate= -Rajkumar v2: - replaced driver specific airtime default by multiplier - fixed tab intent - fixed author and commit log Kan Yan (1): ath10k: reporting estimated tx airtime for fairness Toke Høiland-Jørgensen (5): mac80211: Add TXQ scheduling API cfg80211: Add airtime statistics and settings mac80211: Add airtime accounting and scheduling to TXQs ath9k: Switch to mac80211 TXQ scheduling and airtime APIs ath10k: migrate to mac80211 txq scheduling drivers/net/wireless/ath/ath10k/core.c | 2 - drivers/net/wireless/ath/ath10k/core.h | 8 +- drivers/net/wireless/ath/ath10k/htc.h | 1 - drivers/net/wireless/ath/ath10k/htt_rx.c | 9 ++ drivers/net/wireless/ath/ath10k/mac.c | 155 +++++++++++------- drivers/net/wireless/ath/ath10k/txrx.c | 4 + drivers/net/wireless/ath/ath9k/ath9k.h | 14 -- drivers/net/wireless/ath/ath9k/debug.c | 3 - drivers/net/wireless/ath/ath9k/debug.h | 8 - drivers/net/wireless/ath/ath9k/debug_sta.c | 70 --------- drivers/net/wireless/ath/ath9k/init.c | 3 +- drivers/net/wireless/ath/ath9k/recv.c | 9 +- drivers/net/wireless/ath/ath9k/xmit.c | 244 +++++++++-------------------- include/net/cfg80211.h | 10 +- include/net/mac80211.h | 121 +++++++++++++- include/uapi/linux/nl80211.h | 15 ++ net/mac80211/agg-tx.c | 2 +- net/mac80211/cfg.c | 3 + net/mac80211/debugfs.c | 3 + net/mac80211/debugfs_sta.c | 50 +++++- net/mac80211/driver-ops.h | 9 ++ net/mac80211/ieee80211_i.h | 11 ++ net/mac80211/main.c | 9 ++ net/mac80211/sta_info.c | 46 +++++- net/mac80211/sta_info.h | 13 ++ net/mac80211/status.c | 6 + net/mac80211/tx.c | 140 ++++++++++++++++- net/wireless/nl80211.c | 28 ++++ 28 files changed, 640 insertions(+), 356 deletions(-)