Kernel bug (?): Missing SIGALRMs on a Pentium II

Charles 'Buck' Krasic (krasic@cse.ogi.edu)
01 Dec 1997 09:57:25 -0800


[ I'm forwarding this message for a colleague who doesn't read this list -- Buck ]

I have a Pentium II, 233 MHz machine running Linux 2.0.30.

I have a simple SIGALRM test that tests WHEN the signal handler gets woken up,
i.e., it prints out the time difference between calls to SIGALRM. I have run
this test while I am playing sound clips with the real-audio player
'raplayer'. I find that the time difference is often five times the difference
that I expect. It seems that four to five signals are not being delivered for
every signal delivered. For example, if I set the timer interval to be 40
ms., I get signals delivered every 200 ms. This problem does not occur when
raplayer is not running. I think raplayer just exacerbates the problem because
some signals are missed even when the command 'top' updates its screen.

When I ran the same experiment on a Pentium, 166 MHz machine running Linux
2.0.30, this problem did not occur.

A similar problem exists with select. I have a dumb select that should always
timeout. I find that the timeout time is as much as five times the timeout I
specified. Again this happens when raplayer is playing but does not happen
otherwise on the 233 MHz Pentium II.

Has anyone seen similar problems, and if so, are there fixes available.

I can clean up my tests and post them if someone wants to look at the problem.

Thanks,
Ashvin