From: Arthur Marsh <arthur.marsh@internode.on.net>
To: alsa-devel@alsa-project.org
Cc: tiwai@suse.de
Subject: Re: commit 109fef9edcc100952eec980acbc2e1295627fbab ALSA: timer: automatically load the high-resolution timer causing MIDI playback tempo problems
Date: Mon, 24 Jan 2011 02:18:31 +1030 [thread overview]
Message-ID: <4D3C4DCF.60800@internode.on.net> (raw)
In-Reply-To: <4D3C3F02.7050008@internode.on.net>
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.
prev parent reply other threads:[~2011-01-23 15:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
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 message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D3C4DCF.60800@internode.on.net \
--to=arthur.marsh@internode.on.net \
--cc=alsa-devel@alsa-project.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.