Re: excessive kworker activity when idle. (was Re: vma corruption in today's -git)

Dave Jones
2011-03-31T14:59:53Z

On Wed, Mar 30, 2011 at 10:32:11PM -0700, Linus Torvalds wrote:
> On Wed, Mar 30, 2011 at 8:55 PM, Dave Jones <davej@redhat.com> wrote:
> >
> > I tried that, and wasn't particularly enlightened.
> >
> > +      6.53%  kworker/1:2  [kernel.kallsyms]  [k] read_hpet
> > +      4.83%  kworker/0:0  [kernel.kallsyms]  [k] read_hpet
>
> Go into those, deeper into the callchain. That's how to see what the
> upper-level problem is - by seeing who actually calls it. The leafs
> themselves (where the time is obviously spent) don't tend to be very
> informative, no.

ok, a bit more interesting ?

- 17.67% kworker/0:1 [kernel.kallsyms] [k] read_hpet
- read_hpet
- 76.07% timekeeping_get_ns
- ktime_get
- 64.02% tick_dev_program_event
tick_program_event
hrtimer_interrupt
smp_apic_timer_interrupt
+ apic_timer_interrupt
- 35.30% sched_clock_tick
scheduler_tick
update_process_times
tick_sched_timer
__run_hrtimer
hrtimer_interrupt
smp_apic_timer_interrupt
- apic_timer_interrupt
+ 65.70% _raw_spin_unlock_irqrestore
+ 27.33% _raw_spin_unlock_irq
+ 1.16% lock_acquire
+ 1.16% put_ldisc
+ 1.16% process_one_work
+ 1.16% lock_release
+ 0.78% worker_thread
+ 0.58% _raw_spin_lock_irqsave
+ 0.55% tick_sched_timer
- 23.82% do_timer
tick_do_update_jiffies64
tick_sched_timer
__run_hrtimer
hrtimer_interrupt
smp_apic_timer_interrupt
- apic_timer_interrupt
+ 63.46% _raw_spin_unlock_irqrestore
+ 22.98% _raw_spin_unlock_irq
+ 3.50% put_ldisc
+ 3.28% lock_acquire

btw, I left this on overnight capturing the output of /proc/loadavg
it didn't drop off at all, and this morning the laptop is almost too
hot to hold.

Dave