Sound skips
Iain Sandoe
iain at sandoe.co.uk
Mon Apr 9 19:34:01 EST 2001
Hi Giuliano,
>> Note: this is a completely *different* problem from the PowerComputing
>> "DEAD" dbdma one...
>
> Yes, the subject of the message is different too :))
sorry... (don't send mail when tired Iain.. ;-) [there are two threads one
named "sound stoppage" & one named "sound skips"...]
>> This problem exist for _all_ PPC Linux users - and _did_ exist for all x86
>> users (without) applying Andrew Morton's LL patches.
>
> I didn't noticed the problem on my father's x86, but I'm not
> sure. I'll try ASAP.
well, it is widely reported on Linux Audio Dev (and the motivation behind
much debate about the right method to cure it on lkml)...
>> Perhaps I'll ask Andrew about libtool (it may still give hassles on x86).
> libtool is a bash script.
but it must be calling something that does the damage - maybe whatever it
calls still does damage on x86. (unless it's bash itself)...
>> If you look at my latest patches they log overruns (reported as xrun in
>> /dev/sndstat output).
>>
>> I get *lots* on all my systems (without LL patches) even when lightly
>> loaded.
>
> sndstat ? I didn't looked at that.
I'd be interested to see the output of /dev/sndstat when you are running
your tests...
>>
>>>> >(if it doesn't involve libtool).
>>>>
>>>> hmmm. Have you got any idea what libtool does that is different ?
>>>> (does strace work at the moment?)
>>>
>>> The only unusual thing strace shows is thai it calls rt_sigprocmask()
>>> hundred times. rt_sigprocmask() stops irqs for a very short time. A
>>> prog that calls it 1M time shows this is not what I'm looking for.
>>> I searched in all /arch/ppc for something interesting... nothing. I
>>> definitely need a tool to measure how much time the various
>>> spinlock_irq's are hold.
>>
>> Well, I did something for 2.2.x - maybe I'll try and re-do this soon for
>> 2.4.x.
>
> I'll try to write a replacement for spin_*lock_irq*
are you on an SMP machine?
there's a lot more that needs intercepting than that... unfortunately..
>to make use of
> time base facility to measure times.
OK - if you look at www.drfruitcake.com/linux/linuxppc.html there's a link
to the 2.2.x IRQ blocking monitor code...
>The problem is I don't know
> how to store and export the data so all the kernel can see it.
this exports the line & file of each point that does a cli/sti etc. etc.
>I have
> to write a nice /proc interface too. It could take a lot of time...
which is why I haven't re-done it yet... ;-)
(although the version before used access to a kernel memory area - which was
simpler)...
ciao,
Iain.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list