From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wolverine01.qualcomm.com (wolverine01.qualcomm.com [199.106.114.254]) (using TLSv1.2 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 176F13B2A0 for ; Thu, 15 Dec 2016 03:43:46 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=qca.qualcomm.com; i=@qca.qualcomm.com; q=dns/txt; s=qcdkim; t=1481791427; x=1513327427; h=mime-version:content-transfer-encoding:subject:from: in-reply-to:references:to:cc:message-id:date; bh=YeMHbaJvZEdjUnsRfpIf/OqzIeVunGFB1jMNYPnrTCc=; b=CdGVeNNNTa20i4PHyrpyxzYQoCMsw0d8zmGMpWIgh0AlfFxxZck4WDTT 1AB08ZSrpDB87MSnPJWDWlgMepv41sI8OPzGX9mjf4R+7e52wIOzpZ0OH 1yKMSl7V0lziio0dpO/jVgqWHnoqEfGuArxvi/+3J53r1XledtUFj7ERr k=; X-IronPort-AV: E=Sophos;i="5.33,351,1477983600"; d="scan'208";a="248411345" Received: from unknown (HELO ironmsg02-R.qualcomm.com) ([10.53.140.106]) by wolverine01.qualcomm.com with ESMTP; 15 Dec 2016 00:43:45 -0800 X-IronPort-AV: E=McAfee;i="5700,7163,8379"; a="865095098" X-Amp-Result: CLEAN Received: from nasanexm01h.na.qualcomm.com ([10.85.0.34]) by ironmsg02-R.qualcomm.com with ESMTP/TLS/RC4-SHA; 15 Dec 2016 00:43:45 -0800 Received: from euamsexm01a.eu.qualcomm.com (10.251.127.40) by NASANEXM01H.na.qualcomm.com (10.85.0.34) with Microsoft SMTP Server (TLS) id 15.0.1178.4; Thu, 15 Dec 2016 00:43:44 -0800 Received: from potku.adurom.net (10.80.80.8) by euamsexm01a.eu.qualcomm.com (10.251.127.40) with Microsoft SMTP Server (TLS) id 15.0.1178.4; Thu, 15 Dec 2016 09:43:39 +0100 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Kalle Valo In-Reply-To: <20161128101256.6721-1-toke@toke.dk> References: <20161128101256.6721-1-toke@toke.dk> To: =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= CC: , , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= User-Agent: pwcli/0.0.0-git (https://github.com/kvalo/pwcli/) Python/2.7.3 Message-ID: <5a4a2fe919de44ab8f5ffffcf5db8911@euamsexm01a.eu.qualcomm.com> Date: Thu, 15 Dec 2016 09:43:39 +0100 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: NASANEXM01B.na.qualcomm.com (10.85.0.82) To euamsexm01a.eu.qualcomm.com (10.251.127.40) Subject: Re: [Make-wifi-fast] [v3] ath9k: Introduce airtime fairness scheduling between stations 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, 15 Dec 2016 08:43:47 -0000 Toke Høiland-Jørgensen wrote: > This reworks the ath9k driver to schedule transmissions to connected > stations in a way that enforces airtime fairness between them. It > accomplishes this by measuring the time spent transmitting to or > receiving from a station at TX and RX completion, and accounting this to > a per-station, per-QoS level airtime deficit. Then, an FQ-CoDel based > deficit scheduler is employed at packet dequeue time, to control which > station gets the next transmission opportunity. > > Airtime fairness can significantly improve the efficiency of the network > when station rates vary. The following throughput values are from a > simple three-station test scenario, where two stations operate at the > highest HT20 rate, and one station at the lowest, and the scheduler is > employed at the access point: > > Before / After > Fast station 1: 19.17 / 25.09 Mbps > Fast station 2: 19.83 / 25.21 Mbps > Slow station: 2.58 / 1.77 Mbps > Total: 41.58 / 52.07 Mbps > > The benefit of airtime fairness goes up the more stations are present. > In a 30-station test with one station artificially limited to 1 Mbps, > we have seen aggregate throughput go from 2.14 to 17.76 Mbps. > > Signed-off-by: Toke Høiland-Jørgensen Patch applied to ath-next branch of ath.git, thanks. 63fefa050477 ath9k: Introduce airtime fairness scheduling between stations -- https://patchwork.kernel.org/patch/9449275/ Documentation about submitting wireless patches and checking status from patchwork: https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches