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

From: Patrick McHardy
Date: Mon May 21 2007 - 17:02:28 EST


Ingo Molnar wrote:
> * 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?


This looks like fallout from the switch to hrtimers. Anant, please
send me your HTB script, I'll try to reproduce it.

-
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/