From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-x231.google.com (mail-lf0-x231.google.com [IPv6:2a00:1450:4010:c07::231]) (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 F41393B2C5 for ; Thu, 19 May 2016 04:36:08 -0400 (EDT) Received: by mail-lf0-x231.google.com with SMTP id m64so31605400lfd.1 for ; Thu, 19 May 2016 01:36:08 -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=dd1OII4T6ZcxmVyTr3N2377B+NrwMAIZyMhS6SfYBiY=; b=5LYzmq7upjkpBdxUOnzFUHEeYmCsE29lMy6eATm1HHsuCGd77A5XVD2OsvTTLGQBfs kwJpuEEvfrj9uLM1LNHUqN7i+bLqiLNmbGvHriS6T2bpxPXwa5DpF3h0f+AnsPEpBuoy Y0SZF4T8kCrRNJ92yfVvYUtJ9CAF/Nr2VptPg= 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=dd1OII4T6ZcxmVyTr3N2377B+NrwMAIZyMhS6SfYBiY=; b=gGYNNp8yjCeN+cm2pKz0itCF7/lAiNuM0wofyunaJI65CwtUWs++wZJfH633lBlqhU J3f/b2txGuAiIzRhUhi8ecG0FCTmf8qsSRaQjGLEu1iB4hsaIufsrpPO44Kd20Pdo4UL pMzy6T9ZYvRvfnO2ORdGF60fRmwjwK2WX6YEn2E/NSiL+O6zZlIA4myLBEFnxptn3yvf QvmDOgLcutPlnt6P9Zsvxq0MJya5RjxDAibJSf0hdf5Zr1vrMdimFUHWN4aJNwXMS5td XeYE59sFZGNpNYilpZ4RLlRVm53DeSWXvOfZAdSMviR5F2LtTQ/AeDlJERttze6BYc6H 1Yjw== X-Gm-Message-State: AOPr4FVP4Dk34RNquVaQ5LH0BhsnNa23egGsm5UZj/DRNwC+QNH7L9jhEJaDARAKHJi61L7LSZTdqv6PBOi0UGxlc8N7PU0FNJQ19mPPC9Uu8PlzVRo0GxNpjnmAuVFZUX/eIKFOFvAthS0Dd4RSAg== X-Received: by 10.25.136.132 with SMTP id k126mr3517944lfd.134.1463646967902; Thu, 19 May 2016 01:36:07 -0700 (PDT) Received: from localhost.localdomain ([91.198.246.8]) by smtp.gmail.com with ESMTPSA id ri2sm2151968lbb.41.2016.05.19.01.36.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 19 May 2016 01:36:07 -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, apenwarr@gmail.com, Michal Kazior Date: Thu, 19 May 2016 10:37:52 +0200 Message-Id: <1463647072-16201-6-git-send-email-michal.kazior@tieto.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1463647072-16201-1-git-send-email-michal.kazior@tieto.com> References: <1462446039-1070-1-git-send-email-michal.kazior@tieto.com> <1463647072-16201-1-git-send-email-michal.kazior@tieto.com> X-DomainID: tieto.com Subject: [Make-wifi-fast] [PATCHv5 5/5] mac80211: add debug knobs for 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, 19 May 2016 08:36:09 -0000 This adds a few debugfs entries to make it easier to test, debug and experiment. Signed-off-by: Michal Kazior --- Notes: v5: * use the single "aqm" debugfs knob [Dave] v4: * stats adjustments (in-kernel codel has more of them) net/mac80211/debugfs.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/net/mac80211/debugfs.c b/net/mac80211/debugfs.c index 2906c1004e1a..53a315401a4b 100644 --- a/net/mac80211/debugfs.c +++ b/net/mac80211/debugfs.c @@ -126,13 +126,31 @@ static int aqm_open(struct inode *inode, struct file *file) "R fq_overlimit %u\n" "R fq_collisions %u\n" "RW fq_limit %u\n" - "RW fq_quantum %u\n", + "RW fq_quantum %u\n" + "R codel_maxpacket %u\n" + "R codel_drop_count %u\n" + "R codel_drop_len %u\n" + "R codel_ecn_mark %u\n" + "R codel_ce_mark %u\n" + "RW codel_interval %u\n" + "RW codel_target %u\n" + "RW codel_mtu %u\n" + "RW codel_ecn %u\n", fq->flows_cnt, fq->backlog, fq->overlimit, fq->collisions, fq->limit, - fq->quantum); + fq->quantum, + local->cstats.maxpacket, + local->cstats.drop_count, + local->cstats.drop_len, + local->cstats.ecn_mark, + local->cstats.ce_mark, + local->cparams.interval, + local->cparams.target, + local->cparams.mtu, + local->cparams.ecn ? 1U : 0U); len += scnprintf(info->buf + len, info->size - len, @@ -214,6 +232,7 @@ static ssize_t aqm_write(struct file *file, struct ieee80211_local *local = info->local; char buf[100]; size_t len; + unsigned int ecn; if (count > sizeof(buf)) return -EINVAL; @@ -230,6 +249,16 @@ static ssize_t aqm_write(struct file *file, return count; else if (sscanf(buf, "fq_quantum %u", &local->fq.quantum) == 1) return count; + else if (sscanf(buf, "codel_interval %u", &local->cparams.interval) == 1) + return count; + else if (sscanf(buf, "codel_target %u", &local->cparams.target) == 1) + return count; + else if (sscanf(buf, "codel_mtu %u", &local->cparams.mtu) == 1) + return count; + else if (sscanf(buf, "codel_ecn %u", &ecn) == 1) { + local->cparams.ecn = !!ecn; + return count; + } return -EINVAL; } -- 2.1.4