From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-x232.google.com (mail-lb0-x232.google.com [IPv6:2a00:1450:4010:c04::232]) (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 887F73B2FE for ; Wed, 16 Mar 2016 06:15:49 -0400 (EDT) Received: by mail-lb0-x232.google.com with SMTP id x1so44541618lbj.3 for ; Wed, 16 Mar 2016 03:15:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tieto.com; s=google; h=from:to:cc:subject:date:message-id; bh=rL7vj5at7AhkRXO7JEfkLS/vORNtO0dhgX4UQcKOWZU=; b=HELviiattgzPUQY9b/nZqIrvBvtZfja9o3VnOQOvgNA0nHtKzefJ4C/ieHWRi1pgid jAU/CnvhhXMNaPseU9y3UWJI6rCAzO0DHmgNv3tDrENqlxRbNA2W8ekRJdBk+/rqL0VX 1Ce8aWo9/bwGizggmI0ggCuY0YCKJCrqstOqA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=rL7vj5at7AhkRXO7JEfkLS/vORNtO0dhgX4UQcKOWZU=; b=Ka1lGYIO9UuQC4GWWGtNoFYnwkdEi8RXIaCNYro8A3COXQCRzg/F9fz6IEcCyQm21U I7id9Qns3kvdEAlNipmf7lq0hHIEwdUN7cLw+u0Ib5RMzJ7UQ1zix2x+6Y9qI22o/+r1 ppiV3/9FxjyaOEegVt9fCJSZHmC2Yd8NYDNOJiX2UlsvUgeGqaegcsLgIc5xFZETplYe Xj7dgjdX7BEUMNS2xlNZD+FrsjUmww+lPUHiBY3/W1iaRZXXtpDNmySRwF7IeOz7jqLR Wcsdq7N9cZZPl97dr27iqI5m09U89g9W/4lK840iOTblgZUGfXlIlo3H2OFBHc4HoQ8q T8Ig== X-Gm-Message-State: AD7BkJJyDgGlyWcb2CgvPmuptkRrVuN8iKiugCkBv5G5w5ujyW+eAJaoaNIbFsaORWkZxCGjvvvHMdvo6+qd/TDgPywrSJ18Zi3mpQKI0qMV3Wx1xLrt9OCLlDbD2lauDfHUez7k0Ax0JG89OMTNAg== X-Received: by 10.112.146.201 with SMTP id te9mr1053864lbb.9.1458123347827; Wed, 16 Mar 2016 03:15:47 -0700 (PDT) Received: from localhost.localdomain ([91.198.246.10]) by smtp.gmail.com with ESMTPSA id 95sm399651lfu.15.2016.03.16.03.15.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Mar 2016 03:15:46 -0700 (PDT) From: Michal Kazior To: linux-wireless@vger.kernel.org Cc: ath10k@lists.infradead.org, johannes@sipsolutions.net, netdev@vger.kernel.org, dave.taht@gmail.com, emmanuel.grumbach@intel.com, nbd@openwrt.org, Tim Shepard , make-wifi-fast@lists.bufferbloat.net, codel@lists.bufferbloat.net, Michal Kazior Date: Wed, 16 Mar 2016 11:17:55 +0100 Message-Id: <1458123478-1795-1-git-send-email-michal.kazior@tieto.com> X-Mailer: git-send-email 2.1.4 X-DomainID: tieto.com X-Mailman-Approved-At: Wed, 16 Mar 2016 11:41:57 -0400 Subject: [Make-wifi-fast] [RFCv2 0/3] mac80211: implement fq codel 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: Wed, 16 Mar 2016 10:15:49 -0000 Hi, Most notable changes: * fixes (duh); fairness should work better now, * EWMA codel target based on estimated service time, * new tx scheduling helper with in-flight duration limiting (same idea Emmanuel had for iwlwifi), * added a few debugfs hooks. * ath10k proof-of-concept that uses the new tx scheduling (will post results in separate email) The patch grew pretty big and I plan on splitting it before next submission. Any suggestions? The tx scheduling probably needs more work and testing. I didn't evaluate how CPU intensive it is nor how it influences things like peak throughput (lab conditions et al) yet. I've uploaded a branch for convenience: https://github.com/kazikcz/linux/tree/fqmac-rfc-v2 This is based on Kalle's ath tree. Michal Kazior (3): mac80211: implement fq_codel for software queuing ath10k: report per-station tx/rate rates to mac80211 ath10k: use ieee80211_tx_schedule() drivers/net/wireless/ath/ath10k/core.c | 2 - drivers/net/wireless/ath/ath10k/core.h | 8 +- drivers/net/wireless/ath/ath10k/debug.c | 61 ++- drivers/net/wireless/ath/ath10k/mac.c | 126 +++--- drivers/net/wireless/ath/ath10k/wmi.h | 2 +- include/net/mac80211.h | 96 ++++- net/mac80211/agg-tx.c | 8 +- net/mac80211/cfg.c | 2 +- net/mac80211/codel.h | 264 +++++++++++++ net/mac80211/codel_i.h | 89 +++++ net/mac80211/debugfs.c | 267 +++++++++++++ net/mac80211/ieee80211_i.h | 45 ++- net/mac80211/iface.c | 25 +- net/mac80211/main.c | 9 +- net/mac80211/rx.c | 2 +- net/mac80211/sta_info.c | 10 +- net/mac80211/sta_info.h | 27 ++ net/mac80211/status.c | 64 ++++ net/mac80211/tx.c | 658 ++++++++++++++++++++++++++++++-- net/mac80211/util.c | 21 +- 20 files changed, 1629 insertions(+), 157 deletions(-) create mode 100644 net/mac80211/codel.h create mode 100644 net/mac80211/codel_i.h -- 2.1.4