Re: Rescheduling interrupts

From: S.ÃaÄlar Onur
Date: Tue Jan 22 2008 - 11:22:34 EST


Hi;

22 Oca 2008 Sal tarihinde, S.ÃaÄlar Onur ÅunlarÄ yazmÄÅtÄ:
> > hm, the IPI sending and receiving is nicely paired up:
> >
> > [ 625.795008] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#1:
> > [ 625.795223] IPI (@native_smp_send_reschedule) from task amarokapp:2882 on CPU#1:
> >
> > amarokapp does wake up threads every 20 microseconds - that could
> > explain it. It's probably Xorg running on one core, amarokapp on the
> > other core. That's already 100 reschedules/sec.
>
> Heh, killing amarok ends up with following;
>
> PowerTOP version 1.9 (C) 2007 Intel Corporation
>
> Cn Avg residency P-states (frequencies)
> C0 (cpu running) ( 0,9%)
> C1 0,0ms ( 0,0%)
> C2 0,2ms ( 0,0%)
> C3 5,1ms (99,1%)
>
>
> Wakeups-from-idle per second : 197,8 interval: 10,0s
> no ACPI power usage estimate available
>
> Top causes for wakeups:
> 34,7% (130,7) USB device 3-2 : HP Integrated Module (Broadcom Corp)
> 26,5% (100,0) <interrupt> : uhci_hcd:usb3
> 5,8% ( 22,0) java : futex_wait (hrtimer_wakeup)
> 5,3% ( 20,0) <interrupt> : iwl3945
> 4,1% ( 15,4) USB device 2-2 : Microsoft Wireless Optical Mouse .00 (Microsoft)
> 2,9% ( 11,0) <interrupt> : libata
> 2,7% ( 10,1) <interrupt> : extra timer interrupt
> 2,7% ( 10,0) java : schedule_timeout (process_timeout)
> 2,7% ( 10,0) <kernel core> : scan_async (ehci_watchdog)
> 2,4% ( 9,0) <kernel IPI> : Rescheduling interrupts
> 2,1% ( 8,0) <kernel module> : usb_hcd_poll_rh_status (rh_timer_func)
> 1,7% ( 6,4) <interrupt> : uhci_hcd:usb2
> 1,7% ( 6,4) artsd : schedule_timeout (process_timeout)
> 0,6% ( 2,1) <interrupt> : ohci1394, uhci_hcd:usb4, nvidia
> 0,5% ( 2,0) <kernel core> : clocksource_check_watchdog (clocksource_watchdog)
> 0,5% ( 1,7) wpa_supplicant : schedule_timeout (process_timeout)
> 0,3% ( 1,0) kicker : schedule_timeout (process_timeout)
> 0,3% ( 1,0) kwin : schedule_timeout (process_timeout)
> 0,3% ( 1,0) kdesktop : schedule_timeout (process_timeout)
> 0,3% ( 1,0) klipper : schedule_timeout (process_timeout)
> 0,3% ( 1,0) kwrapper : do_nanosleep (hrtimer_wakeup)
> 0,3% ( 1,0) X : nv_start_rc_timer (nv_kern_rc_timer)

By the way loging out from KDE also suffers same problem, this time kdm migrated to CPU1 and powertop reports ~300 wakeups for "<kernel IPI> : Rescheduling interrupts" again.

[...]
[ 2058.246692] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#0:
[ 2058.246737] IPI (@native_smp_send_reschedule) from task kdm_greet:6122 on CPU#1:
[ 2058.246812] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#1:
[ 2058.278947] IPI (@native_smp_send_reschedule) from task X:2073 on CPU#0:
[ 2058.279070] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#0:
[ 2058.279175] IPI (@native_smp_send_reschedule) from task kdm_greet:6122 on CPU#1:
[ 2058.279251] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#1:
[ 2058.279301] IPI (@native_smp_send_reschedule) from task X:2073 on CPU#0:
[ 2058.279377] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#0:
[ 2058.279425] IPI (@native_smp_send_reschedule) from task kdm_greet:6122 on CPU#1:
[ 2058.279503] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#1:
[ 2058.279565] IPI (@native_smp_send_reschedule) from task X:2073 on CPU#0:
[ 2058.279637] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#0:
[ 2058.279683] IPI (@native_smp_send_reschedule) from task kdm_greet:6122 on CPU#1:
[ 2058.279758] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#1:
[ 2058.311903] IPI (@native_smp_send_reschedule) from task X:2073 on CPU#0:
[ 2058.312028] IPI (@smp_reschedule_interrupt) from task swapper:0 on CPU#0:
[...]

Cheers
--
S.ÃaÄlar Onur <caglar@xxxxxxxxxxxxx>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
--
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/