Return-path: Received: from mail-we0-f171.google.com ([74.125.82.171]:62925 "EHLO mail-we0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751367Ab3CAKWa (ORCPT ); Fri, 1 Mar 2013 05:22:30 -0500 Received: by mail-we0-f171.google.com with SMTP id u54so2405104wey.30 for ; Fri, 01 Mar 2013 02:22:29 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <51307F80.4010202@openwrt.org> References: <1360329197-72631-1-git-send-email-nbd@openwrt.org> <20757.1753.863278.858198@gargle.gargle.HOWL> <511508A6.8020104@openwrt.org> <51152D9E.1040106@openwrt.org> <20130227192030.GW12537@pogo> <512ECE01.8010102@openwrt.org> <20130228114724.GB16369@localhost> <512F5709.60907@openwrt.org> <512FAB01.2050104@openwrt.org> <51307F80.4010202@openwrt.org> Date: Fri, 1 Mar 2013 02:22:29 -0800 Message-ID: (sfid-20130301_112234_794702_A990E66F) Subject: Re: [RFC] ath9k: remove ath9k_rate_control From: Adrian Chadd To: Felix Fietkau Cc: Bob Copeland , "Luis R. Rodriguez" , Paul Stewart , Sujith Manoharan , linux-wireless Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-wireless-owner@vger.kernel.org List-ID: On 1 March 2013 02:14, Felix Fietkau wrote: >> Having access to schedule which peer and how much to send to each peer >> would be nice. Stuff like "peer X only can have up to x ms in this WME >> class this round", so you don't have a busy, close peer monopolising >> the air. It also means you can start doing smart things with far away >> peers who retransmit a lot - they're likely tying up a lot of airtime. >> >> None of this is new. It's just, you know, new to open source. :-) > In my opinion this doesn't really belong into a rate control module. > There should be a tx scheduling API to take care of this. Before I > implement something like this, I plan on exposing all per-station driver > queues to mac80211. This is necessary for a few other things anyway, > e.g. unifying software aggregation logic and fixing its buffer management. Sure, but then some more clever tricks end up being difficult to implement. For example, knowing if a client is tying up too much airtime at the given rate and whether to back them off for a bit. Or to use smaller aggregation limits for certain clients because your'e trying to be "fairer" when trying to keep latency low. That kind of thing. I think "rate control" should likely be expanded to "tx scheduling" as a whole, rather than sitting as a separate thing that just selects the rate for a node who has already been chosen to transmit. Adrian