On 11/07/2014 03:45 PM, Sebastian Reimers wrote:
> $ /usr/bin/jackd -R -P89 -dalsa -d hw:0,0 -r48000 -p1024 -n3
> 
> With: kernel.sched_rt_runtime_us = -1
uhhh. Why do you need this?
Once the ISO transfer completes, we get an interrupt. It is likely that
the real transfer is not done yet so poll via a timer. Once the
transfer is complete we invoke that completion handler which will
schedule the tasklet which could lead to another delay if some
interrupts fire up…

There should be two back traces.
> [   79.236750] cppi41_irq() q 138 desc 00000000
One where we got an interrupt but the descriptor was gone.

> [   83.768813] ------------[ cut here ]------------
> [   83.773711] WARNING: CPU: 0 PID: 278 at drivers/dma/cppi41.c:612
> cppi41_dma_control+0x2ac/0x2d8()
> [   83.828893] [<c02c9790>] (cppi41_dma_control) from [<c0391068>]

and here we try to cancel a transfer but the descriptor is not coming
out. And we had a complete transfer without a transfer…

> [   83.858292] [<c038ca5c>] (musb_urb_dequeue) from [<c0374ff0>]
> [   83.921365] [<c03ee79c>] (snd_pcm_do_stop) from [<c03eda30>]
> [   83.975034] [<c00ef134>] (SyS_ioctl) from [<c000e440>]

and the transfer is canceled because jack assumed it took too long to
complete? You didn't stop it on your own right?

Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to