Re: Rescheduling interrupts

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


22 Oca 2008 Sal tarihinde, Ingo Molnar ÅunlarÄ yazmÄÅtÄ:
>
> * S.ÃaÄlar Onur <caglar@xxxxxxxxxxxxx> wrote:
>
> > > My theory is that for whatever reason we get "repeat" IPIs: multiple
> > > reschedule IPIs although the other CPU only initiated one.
> >
> > Ok, please see http://cekirdek.pardus.org.tr/~caglar/dmesg.3rd :)
>
> 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)

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