On Sat, Dec 15, 2007 at 08:10:04PM +0100, Sjoerd Simons wrote:
On Thu, Dec 13, 2007 at 10:21:06PM +0100, Michael Biebl wrote:
> [0] I suspect it is 10 times a second, because that's the number of
> libata wakeups I see, but I haven't actually checked.

Hal polls the CD drive every 2 seconds afaik.

Hal indeed polls every 2 seconds at most and even less when something hints hal
that nobody the machine is idle.

hald-addon-storage claims it is polling every two seconds:

lakeview ok % ps ax | grep hald-addon-storage
 3600 ?        S      0:06 hald-addon-storage: polling /dev/scd0 (every 2 sec)

Could you strace the running hald-addon-storage to check if indeed it's polling
your drive multiple times a second ?

Output of strace:

open("/dev/scd0", O_RDONLY|O_EXCL|O_NONBLOCK) = 5
ioctl(5, CDROM_DRIVE_STATUS, 0x7fffffff) = 2
close(5)                                = 0
poll([{fd=3, events=POLLIN}], 1, 1981)  = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
open("/dev/scd0", O_RDONLY|O_EXCL|O_NONBLOCK) = 5
ioctl(5, CDROM_DRIVE_STATUS, 0x7fffffff) = 2
close(5)                                = 0
poll([{fd=3, events=POLLIN}], 1, 1980)  = 0
open("/dev/scd0", O_RDONLY|O_EXCL|O_NONBLOCK) = 5
ioctl(5, CDROM_DRIVE_STATUS, 0x7fffffff) = 2
close(5)                                = 0
poll([{fd=3, events=POLLIN}], 1, 1981)  = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
open("/dev/scd0", O_RDONLY|O_EXCL|O_NONBLOCK) = 5
ioctl(5, CDROM_DRIVE_STATUS, 0x7fffffff) = 2
close(5)                                = 0
poll([{fd=3, events=POLLIN}], 1, 1981)  = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0

Is it possible that opening and closing the drive is causing the wakeups? I ask because I'm seeing 10 libata wakeups and about 10
"rescheduling interrupts" wakeups whenever hal is polling:

Top causes for wakeups:
  28.2% ( 54.3)       <interrupt> : uhci_hcd:usb1, yenta, [EMAIL 
PROTECTED]:0000:00:02.0
24.3% ( 46.9) <interrupt> : uhci_hcd:usb2, HDA Intel, firewire_ohci 23.0% ( 44.3) <kernel IPI> : Rescheduling interrupts 6.1% ( 11.7) <interrupt> : libata 4.9% ( 9.5) <interrupt> : extra timer interrupt
   2.1% (  4.0)   <kernel module> : usb_hcd_poll_rh_status (rh_timer_func)

versus when it isn't:

Top causes for wakeups:
  31.6% ( 52.9)       <interrupt> : uhci_hcd:usb1, yenta, [EMAIL 
PROTECTED]:0000:00:02.0
28.0% ( 46.9) <interrupt> : uhci_hcd:usb2, HDA Intel, firewire_ohci 20.3% ( 33.9) <kernel IPI> : Rescheduling interrupts 3.3% ( 5.5) <interrupt> : extra timer interrupt
   2.4% (  4.0)   <kernel module> : usb_hcd_poll_rh_status (rh_timer_func)
   1.9% (  3.2)              Xorg : do_setitimer (it_real_fn)


--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 713 440 7475 | http://crustytoothpaste.ath.cx/~bmc | My opinion only
a typesetting engine: http://crustytoothpaste.ath.cx/~bmc/code/thwack
OpenPGP: RSA v4 4096b 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

Attachment: signature.asc
Description: Digital signature

Reply via email to