Eric Dumazet <eric.dumazet@xxxxxxxxx> 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 mass"). > 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? -Toke