On Mon, 2006-06-26 at 01:08 +0200, Pieter Palmers wrote: > Hi, > > We are experiencing 'soft' deadlocks when running our code (Freebob, > i.e. userspace lib for firewire audio) on RT kernels. After a few > seconds, I get a kernel panic message that signals a soft lockup. >
Can we see the kernel panic message? ;-) Lee > The problems occur when an ISO stream (receive and/or transmit) is shut > down in a SCHED_FIFO thread. More precisely when running the freebob > jackd backend in real-time mode. And even more precise: they only seem > to occur when jackd is shut down. There are no problems when jackd is > run without RT scheduling. > > I havent been able to reproduce this with other test programs that are > shutting down streams in a SCHED_FIFO thread. > > printk() debugging point to the tasklet_kill() call in > ohci1349_unregister_iso_tasklet (drivers/ieee1394/ohci1394.c), that > doesn't seem to return. For experiment, i've put a tasklet_disable > before the tasklet_kill, and that causes the soft lockup to be due to > the tasklet_disable. > > I would like to ask if anyone has a clue why this is happening. The only > thing I can come up with is that jackd is stopped by a CTRL-C, and that > the stream shutdown happens in signal handler context, which somehow > interacts with the tasklet_kill. But I don't have the time now to dig > into this, so for a change I ask for advice early instead of first > banging my head against the wall for some days :). > > Thx, > > Pieter Palmers > >
