alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* commit 109fef9edcc100952eec980acbc2e1295627fbab ALSA: timer: automatically load the high-resolution timer causing MIDI playback tempo problems
@ 2011-01-23 14:45 Arthur Marsh
  2011-01-23 15:48 ` Arthur Marsh
  0 siblings, 1 reply; 2+ messages in thread
From: Arthur Marsh @ 2011-01-23 14:45 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai

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@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@ladisch.de>
     Signed-off-by: Takashi Iwai <tiwai@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.

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: commit 109fef9edcc100952eec980acbc2e1295627fbab ALSA: timer: automatically load the high-resolution timer causing MIDI playback tempo problems
  2011-01-23 14:45 commit 109fef9edcc100952eec980acbc2e1295627fbab ALSA: timer: automatically load the high-resolution timer causing MIDI playback tempo problems Arthur Marsh
@ 2011-01-23 15:48 ` Arthur Marsh
  0 siblings, 0 replies; 2+ messages in thread
From: Arthur Marsh @ 2011-01-23 15:48 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai

Arthur Marsh wrote, on 24/01/11 01:15:
> 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@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@ladisch.de>
>       Signed-off-by: Takashi Iwai<tiwai@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.

I forgot to mention, the kernels I have been using have all had

CONFIG_SND_HPET* undefined
CONFIG_SND_HRTIMER=m
CONFIG_SND_RTC* undefined

as per Debian kernel 2.6.32-5-686 version 2.6.32-30.

With the above patch applied,

both snd_hrtimer and snd_seq_dummy get loaded, but without the patch 
applied, neither of snd_hrtimer or snd_seq_dummy gets loaded.

Without the patch applied, if the CPU has some idle time, the sound 
playback using aplaymidi is fine, with the patch, the sound tempo can 
vary widely even with idle CPU time.

Arthur.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-23 15:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-23 14:45 commit 109fef9edcc100952eec980acbc2e1295627fbab ALSA: timer: automatically load the high-resolution timer causing MIDI playback tempo problems Arthur Marsh
2011-01-23 15:48 ` Arthur Marsh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).