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

Dave Jones
2011-03-31T15:04:23Z

On Thu, Mar 31, 2011 at 10:58:50AM -0400, Dave Jones wrote:

bah I missed a level. which seems to be the smoking gun.
something in the tty layer seems to have gone nuts.

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

- 52.24% _raw_spin_unlock_irqrestore
- 39.26% flush_to_ldisc
process_one_work
worker_thread
kthread
kernel_thread_helper
- 32.52% __wake_up
put_ldisc
tty_ldisc_deref
flush_to_ldisc
process_one_work
worker_thread
kthread
kernel_thread_helper
- 28.22% tty_ldisc_try
tty_ldisc_ref
flush_to_ldisc
process_one_work
worker_thread
kthread
kernel_thread_helper
- 18.80% _raw_spin_unlock_irq
process_one_work
worker_thread
kthread
kernel_thread_helper
- 18.80% _raw_spin_unlock_irq
process_one_work
worker_thread
kthread
kernel_thread_helper
- 5.98% process_one_work
worker_thread
kthread
kernel_thread_helper
- 4.81% lock_acquire
process_one_work
worker_thread
kthread
kernel_thread_helper
- 4.70% put_ldisc
tty_ldisc_deref
flush_to_ldisc
process_one_work
worker_thread
kthread
kernel_thread_helper
- 4.17% worker_thread
kthread
kernel_thread_helper
- 4.17% lock_release
process_one_work
worker_thread
kthread
kernel_thread_helper
- 1.28% flush_to_ldisc
process_one_work
worker_thread
kthread
kernel_thread_helper
- 1.28% arch_local_irq_save
- 58.33% lock_release
process_one_work
worker_thread
kthread
kernel_thread_helper
- 41.67% lock_acquire
process_one_work
worker_thread
kthread
kernel_thread_helper
- 0.85% tty_ldisc_deref
flush_to_ldisc
process_one_work
worker_thread
kthread
kernel_thread_helper
- 0.85% _raw_spin_lock_irqsave
- 62.51% flush_to_ldisc
process_one_work
worker_thread
kthread
kernel_thread_helper
- 37.49% tty_ldisc_try
tty_ldisc_ref
flush_to_ldisc
process_one_work
worker_thread
kthread
kernel_thread_helper
- 0.53% tty_ldisc_ref
flush_to_ldisc
process_one_work
worker_thread
kthread

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