[alsa-devel] commit 109fef9edcc100952eec980acbc2e1295627fbab ALSA: timer: automatically load the high-resolution timer causing MIDI playback tempo problems

Arthur Marsh arthur.marsh at internode.on.net
Sun Jan 23 15:45:22 CET 2011


Hi, on an old machine I have with Intel 440BX chipset and PII-266 CPU, I 
found recent kernels causing MIDI sound output from a Soundblaster 
Audigy 2 ZS to be varying widely in tempo.

dmesg reports with recent kernels (both those that allow correct 
playback of MIDI files and those that give wide variation in playback 
tempo):

Clocksource tsc unstable (delta = 132040172 ns)
Switching to clocksource pit

After git-bisection I found:

git bisect bad
109fef9edcc100952eec980acbc2e1295627fbab is the first bad commit
commit 109fef9edcc100952eec980acbc2e1295627fbab
Author: Clemens Ladisch <clemens at ladisch.de>
Date:   Thu Nov 18 09:53:54 2010 +0100

     ALSA: timer: automatically load the high-resolution timer

     Increase the default timer limit so that snd-hrtimer.ko can be
     automatically loaded when needed, e.g., when used as the default
     sequencer timer.  This replaces the check for the obsolete
     CONFIG_SND_HPET.

     Signed-off-by: Clemens Ladisch <clemens at ladisch.de>
     Signed-off-by: Takashi Iwai <tiwai at suse.de>

:040000 040000 c7b3b046ea99e563228f36ea4a00f9b763bf5813 
741f137a201b31bdf5eaaa58c3031b4b2a68c6d6 M      sound

diff --git a/sound/core/timer.c b/sound/core/timer.c
index 13afb60..b3aaa60 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -34,8 +34,8 @@
  #include <sound/initval.h>
  #include <linux/kmod.h>

-#if defined(CONFIG_SND_HPET) || defined(CONFIG_SND_HPET_MODULE)
-#define DEFAULT_TIMER_LIMIT 3
+#if defined(CONFIG_SND_HRTIMER) || defined(CONFIG_SND_HRTIMER_MODULE)
+#define DEFAULT_TIMER_LIMIT 4
  #elif defined(CONFIG_SND_RTCTIMER) || defined(CONFIG_SND_RTCTIMER_MODULE)
  #define DEFAULT_TIMER_LIMIT 2
  #else

I am currently rebuilding kernel 2.6.38-rc2 with this patch reverted to 
verify that this commit triggers the problem with this machine.

Arthur.



More information about the Alsa-devel mailing list