Re: bad networking related lag in v2.6.22-rc2

From: Ingo Molnar
Date: Mon May 21 2007 - 16:46:53 EST



* Anant Nitya <kernel@xxxxxxxxxxxxxx> wrote:

> I am posting links to the information you asked for. One more thing,
> after digging a bit more I found its QoS shaping that is making the
> box crawl. Once I disabled the traffic shaping everything comes back
> to smooth and normal. Shaping being done on very low speed residential
> ADSL 256/64 Kbps connection. If you want me to post shaping rules,
> please free to ask. BTW its a simple HTB/SFQ rules.
[...]
> http://cybertek.info/taitai/trace-to-ingo.txt.bz2

thanks! This trace indeed includes the smoking gun, htb_dequeue() and
__qdisc_run():

privoxy-12926 1.Ns1 1597us : rb_first (htb_dequeue)

this goes on, non-preemptible, for 160 milliseconds (!):

privoxy-12926 1.Ns1 161568us : rb_first (htb_dequeue)
privoxy-12926 1.Ns1 161568us : qdisc_watchdog_schedule (htb_dequeue)

and finally manages to escape the loop:

privoxy-12926 1.Ns1 161597us : rb_first (htb_dequeue)
privoxy-12926 1.Ns1 161597us : rb_first (htb_dequeue)
privoxy-12926 1.Ns1 161599us : htb_safe_rb_erase (htb_dequeue)
privoxy-12926 1.Ns1 161599us : rb_erase (htb_safe_rb_erase)
privoxy-12926 1.Ns1 161600us : htb_change_class_mode (htb_dequeue)
privoxy-12926 1.Ns1 161601us : htb_activate_prios (htb_change_class_mode)

and the system recovers.

David, any ideas about what's wrong with htb_dequeue(), based on this
trace?

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/