[Make-wifi-fast] [PATCH v3] mac80211: Dynamically set CoDel parameters per station

Toke Høiland-Jørgensen toke at toke.dk
Thu Apr 6 11:58:25 EDT 2017

Eric Dumazet <eric.dumazet at gmail.com> writes:

> On Thu, 2017-04-06 at 11:38 +0200, Toke Høiland-Jørgensen wrote:
>> +
>> +	if (thr && thr < STA_SLOW_THRESHOLD * sta->local->num_sta) {
>> +		sta->cparams.target = MS2TIME(50);
>> +		sta->cparams.interval = MS2TIME(300);
>> +		sta->cparams.ecn = false;
>> +	} else {
>> +		sta->cparams.target = MS2TIME(20);
>> +		sta->cparams.interval = MS2TIME(100);
>> +		sta->cparams.ecn = true;
>> +	}
>> +}
> Why ECN is flipped on/off like that ?

The reasoning is that at really low bandwidths we're better off dropping
the packet and getting potentially latency-sensitive data queued behind
it through (see Dave's various rants with the topic "Packets have

> ECN really should be an admin choice.

Well, the trouble is that the mac80211 queues don't really have an admin
interface currently. So it'll always use ECN (before this change).

> Also, this change in parameters looks suspect to me, adding a bimodal
> behavior. I would consult Kathleen and Van on this possibility.

Yeah, I agree that it's somewhat of a hack from a theoretical point of
view. I've also been experimenting with Kathy's recommended way of
dealing with bursty MACs (turning off CoDel when there's less than an
MTU's worth of data left), but have not had a lot of success with it.
Guess I can go back and try some variants on that, unless someone else
has better ideas?


More information about the Make-wifi-fast mailing list