[linux-audio-dev] debugging realtime issues with instrumented kernel

Florian Schmidt mista.tapas at gmx.net
Tue Apr 12 11:01:58 UTC 2005


On Tue, 12 Apr 2005 12:28:21 +0200
Robert Jonsson <rj at spamatica.se> wrote:

> Hi,
> 
> I recall someone (Lee?) mentioning something along the lines of using a recent 
> kernel with Ingos patches to get feedback on realtime problems of your own 
> code. It sounded very interesting!
> 
> Now, I can't for the life of me find the message, if someone knows anything 
> about this I would very much appreciate some more information, are there any 
> links?
> 
> Thanks in advance,
> Robert

Hi,

you need a realtime preemptive kernel. Read about them here (i just
updated the RP-patch-script to create a current kernel (the realtime lsm
version i use is a tad bit older. it should still work though, will
update when i come home from university)):

http://www.affenbande.org/~tapas/wiki/index.php?Realtime%20Preemption

You will need to enable user triggered tracing in the kernel hacking
section of the kernel config (i just patched up a recent RP kernel and i
cannot find the option anymore - anyone please fill me in.. maybe you
just need to enable the other tracing mechanisms there and then enable
the user triggered tracing via one of the control in /proc/sys/kernel/.
Ah damn, that's what you get for not following kernel development
closely).. 

You also need to compile jackd (i think you need the CVS version for
this) with the

--enable-preemption-check

flag during ./configure

If an app is preempted now during its process() callback it will receive
a signal SIGUSR2 (iirc), and since most apps don't handle this signal,
they will exit.. The syslog will contain a report about what exactly
triggered the preemption..

Note though that this check is not garanteed to trigger for possibly
unsafe code.. It will trigger only if the process really is preempted.

Flo

P.S.: Please correct me and fill in missing details. I will then create
a page on my site about this..

-- 
Palimm Palimm!
http://affenbande.org/~tapas/



More information about the Linux-audio-dev mailing list