> > So I followed the tracing steps in the tutorial (with the 1 sec sleep), > > which gave me this: > > http://damien.wyart.free.fr/trace_2.6.29-rc5_ksoftirqd_prob.txt.gz > thanks. There's definitely some weirdness visible in the trace, > for example: > 0) gpm-1879 => ksoftir-4 > ------------------------------------------ > 0) 0.964 us | finish_task_switch(); > 0) ! 1768184 us | } > 0) | do_softirq() { > 0) | __do_softirq() { > 0) | rcu_process_callbacks() { > the 1.7 seconds 'overhead' there must be a fluke - you'd notice it if > ksoftirqd _really_ took that much time to execute. > One possibility for these symptoms would be broken scheduler timestamps. > Could you enable absolute timestamp printing via: > echo funcgraph-abstime > trace_options Mmm, seems I do not have this option recognized in rc5, so could not test. Will retry all this with tip tomorrow... > Also, my guess is that if you boot via idle=poll, the symptoms go away. > This would strengthen the suspicion that it's scheduler-clock troubles. In fact, with idle=poll, the symptoms do not go away, they are much stronger: without it, ksotirqd have a few % of CPU in top output; with it, they have 20 or 30% and the global average is not far from 1. On my laptop (I do not have it at hand today), with rc3-gitX (did not retest with rc5), the load avg was ok, but I saw that after boot, ksoftird threads had a quite higher running time in top than with 2.6.28. I am surprised nobody reported this yet... I attach to this mail config and dmesg if needed (this is rc5 without idle=poll). If a trace with funcgraph-abstime is interesting for you with tip, I will do this tomorrow. -- Damien Wyart