Re: [PATCH 4/4] net_sched: gred: actually perform idling in WRED mode
From: David Miller <davem@davemloft.net>
Date: 2012-09-13 20:10:46
From: "Ward, David - 0663 - MITLL" <redacted> Date: Thu, 13 Sep 2012 15:38:26 -0400
On 13/09/12 14:08, Jamal Hadi Salim wrote:quoted
On 12-09-13 11:22 AM, David Ward wrote:quoted
gred_dequeue() and gred_drop() do not seem to get called when the queue is empty, meaning that we never start idling while in WRED mode. And since qidlestart is not stored by gred_store_wred_set(), we would never stop idling while in WRED mode if we ever started. This messes up the average queue size calculation that influences packet marking/dropping behavior. Now, we start WRED mode idling as we are removing the last packet from the queue. Also we now actually stop WRED mode idling when we are enqueuing a packet. Cc: Bruce Osler <redacted> Signed-off-by: David Ward <redacted>This is one is not so obvious. Iam assuming you vetted it via some tests. In which case: Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> cheers, jamalBefore applying this patch, the average queue size (as seen with "tc -s qdisc") remained constant forever after I stopped sending any packets through the interface -- it didn't taper off as you would expect. After the patch, the average queue size will now taper off if packets are not being sent.
Applied.