From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-x22a.google.com (mail-lf0-x22a.google.com [IPv6:2a00:1450:4010:c07::22a]) (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 E97603B306 for ; Thu, 14 Apr 2016 08:16:27 -0400 (EDT) Received: by mail-lf0-x22a.google.com with SMTP id j11so106084182lfb.1 for ; Thu, 14 Apr 2016 05:16:27 -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:in-reply-to:references; bh=c5iUkiLamibSpvOLvyikXRRpq6WvqyhB8l4uU46CVlw=; b=vB9tmbNLTbGxWpQn9yZXSVfDtrqrodGFABFN4I7k+m10Jueb7CjFY18CvmWL9fXqUH kda4kQQrYBwPCpN2lBdmjNWiz5K9hj9dXJHFlxOM9ZxemDbY+ndI6njWy2kqclIZ+6XR /kZ7nzGR7oDVnts5AKolynY3IKzbIus8zPzQA= 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:in-reply-to :references; bh=c5iUkiLamibSpvOLvyikXRRpq6WvqyhB8l4uU46CVlw=; b=NMysOP2mdqM4DU7lFeoLZrlgwvgh143Rl3ytFbO5KSzGaU6IG4YETIHWx7kaTdYec2 7jkrLWjtBT7QL0y9aYgvVZqPLm8Mbc5vM38ktta2JOlpJpgUWUYDIdlf8X/E+EfxelI3 ITDYOhEKaCFZvebV53KRQtkGYSUc+0yz1HaLI5aMv6pn8lkX/1hlvgYslmxYEOFxgJAC D1It1Qw4F5qmkJaATZ60agqmDzsN1BhiYr6Jc+ku9fHEYUrv0ylaqW4tF2raqNfQJx3f Tp+G640WKeVmBHfZNs/Z7YdOWGVLIoOy3tXNYA2y/pgZJEHKLF4vWekJu+usIIeouejs snhQ== X-Gm-Message-State: AOPr4FVTv4VkJwxz7rmnbJDAYsV4rxCORV09SyVuDxtNfD+zs0rbBz3Kq9kZ4YjV4t3IosE1Zd3S0jcLYwqj/Q/Or5/spZE/ARqBbDUcU8zkyxgIHE1CLoeoun2Kgqjzrm/+vnVbUay7AV0SKAoxMg== X-Received: by 10.25.201.143 with SMTP id z137mr5658535lff.158.1460636186649; Thu, 14 Apr 2016 05:16:26 -0700 (PDT) Received: from localhost.localdomain ([91.198.246.10]) by smtp.gmail.com with ESMTPSA id b195sm6940112lfb.5.2016.04.14.05.16.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 14 Apr 2016 05:16:25 -0700 (PDT) From: Michal Kazior To: linux-wireless@vger.kernel.org Cc: johannes@sipsolutions.net, dave.taht@gmail.com, make-wifi-fast@lists.bufferbloat.net, codel@lists.bufferbloat.net, apenwarr@gmail.com, Michal Kazior Date: Thu, 14 Apr 2016 14:18:17 +0200 Message-Id: <1460636302-31161-1-git-send-email-michal.kazior@tieto.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1459420104-31554-1-git-send-email-michal.kazior@tieto.com> References: <1459420104-31554-1-git-send-email-michal.kazior@tieto.com> X-DomainID: tieto.com Subject: [Make-wifi-fast] [PATCHv3 0/5] 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: Thu, 14 Apr 2016 12:16:28 -0000 Hi, This patchset disables qdiscs for drivers using software queuing and performs fq_codel-like dequeuing on txqs. I've reworked it as per Avery's suggestion (and more). I've (re)tested it against ath10k with and without DQL (my ath10k RFC which is limited but sufficient for some proofing scenarios) and got quite nice looking results: http://imgur.com/a/8ruhK http://kazikcz.github.io/dl/2016-04-12-flent-fqmac-ath10k-dql.tar.gz All DQL cases show incremental improvement and are within expectations. The "dql-fq" case loses TCP fairness/convergence (compared to "dql-taildrop") because it removes per-txq 64 packet limit and "dql-fqcodel" gets it back. v3: * split taildrop, fq and codel functionalities into separate patches [Avery] v2: * fix invalid ptr deref * fix compilation for backports Michal Kazior (5): mac80211: skip netdev queue control with software queuing mac80211: implement fair queueing per txq mac80211: add debug knobs for fair queuing mac80211: implement codel on fair queuing flows mac80211: add debug knobs for codel include/net/mac80211.h | 17 ++- net/mac80211/agg-tx.c | 8 +- net/mac80211/codel.h | 265 ++++++++++++++++++++++++++++++++++++++++ net/mac80211/codel_i.h | 100 +++++++++++++++ net/mac80211/debugfs.c | 91 ++++++++++++++ net/mac80211/debugfs_netdev.c | 28 ++++- net/mac80211/debugfs_sta.c | 45 +++++++ net/mac80211/fq.h | 276 ++++++++++++++++++++++++++++++++++++++++++ net/mac80211/fq_i.h | 82 +++++++++++++ net/mac80211/ieee80211_i.h | 32 ++++- net/mac80211/iface.c | 26 ++-- net/mac80211/main.c | 10 +- net/mac80211/rx.c | 2 +- net/mac80211/sta_info.c | 14 +-- net/mac80211/tx.c | 274 ++++++++++++++++++++++++++++++++++------- net/mac80211/util.c | 34 ++---- 16 files changed, 1204 insertions(+), 100 deletions(-) create mode 100644 net/mac80211/codel.h create mode 100644 net/mac80211/codel_i.h create mode 100644 net/mac80211/fq.h create mode 100644 net/mac80211/fq_i.h -- 2.1.4