Bug 11433
Summary: | CONFIG_NO_HZ causes ksoftirqd to load one cpu by 8% even when idle. | ||
---|---|---|---|
Product: | Timers | Reporter: | sc.contact |
Component: | Other | Assignee: | Thomas Gleixner (tglx) |
Status: | REJECTED DOCUMENTED | ||
Severity: | normal | CC: | john.stultz, mingo |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.26.3 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
opreport -cg from a vanilla 2.6.26.3 kernel exhibiting the problem
Output from cat /proc/timer_list; sleep 60; cat /proc/timer_list |
Description
sc.contact
2008-08-27 06:42:14 UTC
Created attachment 17480 [details]
opreport -cg from a vanilla 2.6.26.3 kernel exhibiting the problem
I stopped oprofiled after a minute. I'm not that familiar with it, but I hope this is useful.
can you please provide the output of # cat /proc/timer_list; sleep 60; cat /proc/timer_list Created attachment 17484 [details]
Output from cat /proc/timer_list; sleep 60; cat /proc/timer_list
The idle sleep times of the CPUs: s2 97950027112 82652932873 98057803389 96210226007 s1 37983392768 33623740775 37827261075 36227296513 delta 59966634344 49029192098 60230542314 59982929494 % idle 100 82 100 100 So on CPU 1 we had ~20% activity during that 60 seconds. powertop tells us that the main wakeup source is br_stp_enable_bridge. Can you please check the following: # find /sys -type f -name hello_time | xargs cat find /sys -type f -name hello_time | xargs cat 0 > ------- Comment #5 from sc.contact@gmail.com 2008-08-27 12:25 -------
> find /sys -type f -name hello_time | xargs cat
> 0
Ooops. Can you please do:
find /sys -type f -name hello_time
and tell us the exact file name and verify that the output of
"cat thatveryfilename" is 0 ?
What's the CONFIG_HZ setting of your kernel ?
Thanks,
tglx
CONFIG_HZ=1000 cat /sys/class/net/br0/bridge/hello_time 0 I had copy and pasted the bridge setup from the gentoo qemu wiki which is brctl_br0=( "setfd 0" "sethello 0" "stp off" ) Changing sethello to 1 has now changed the value shown in sysfs to 99, and the load is normal. > ------- Comment #7 from sc.contact@gmail.com 2008-08-27 14:47 -------
> CONFIG_HZ=1000
>
> cat /sys/class/net/br0/bridge/hello_time
> 0
>
> I had copy and pasted the bridge setup from the gentoo qemu wiki which is
> brctl_br0=( "setfd 0" "sethello 0" "stp off" )
>
> Changing sethello to 1 has now changed the value shown in sysfs to 99, and
> the
> load is normal.
Well, that's not a surprise looking at the code. hello_time is in
(kernel internal ticks aka jiffies) which is 1ms in your setup
(CONFIG_HZ=1000). 0 ticks means that the timer expires at within 1 ms,
which is propably not what you want.
Please tell the gentoo qemu wiki folks, that their config is not
really a good idea.
Aside of that auditing the brctl code would be not a bad idea.
Can we close that bug ?
Thanks,
tglx
(In reply to comment #8) > Can we close that bug ? > Sure. |