Re: [PATCH 2/2] usb: musb: musb_cppi41: revert to old timer poll intervals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Freitag, den 07.11.2014, 15:17 +0100 schrieb Sebastian Andrzej
Siewior:
> On 11/07/2014 02:57 PM, Sebastian Reimers wrote:
> >> b) Both FS and HS audio devices should still function as before, with
> >> no regression regarding CPU load while streaming.
> > 
> > 
> > The patch destroys audio quality (pops, clicks and alsa underruns).
> > Tested with a USB 2.0 (Focusrite) device.
> 
> Great. I guess appling patch #1 one does not cause any harm, it is just
> #2 that breaks things.

Yes patch #1 should be fine. I debugged that the condition "is_hs" is
really true with my device.

> Is it better or worse than without "usb: musb: cppi41: tweak hrtimer
> values" ?

I will check this too.

> Can you measure how long it takes on average to complete / how often
> you enter the re-try loop?

Yes I figure this out over the weekend.


> > Test case is a simple audio loop:
> > 
> > $ arecord | aplay
> > 
> > Jackd generates cppi41_irq errors.
> 
> Can you paste one of those?

$ /usr/bin/jackd -R -P89 -dalsa -d hw:0,0 -r48000 -p1024 -n3

With: kernel.sched_rt_runtime_us = -1


[   79.236750] cppi41_irq() q 138 desc 00000000
[   83.768813] ------------[ cut here ]------------
[   83.773711] WARNING: CPU: 0 PID: 278 at drivers/dma/cppi41.c:612
cppi41_dma_control+0x2ac/0x2d8()
[   83.783014] Modules linked in:
[   83.786229] CPU: 0 PID: 278 Comm: jackd Tainted: G        W
3.18.0-rc3 #5
[   83.793834] [<c0013ba8>] (unwind_backtrace) from [<c00117a0>]
(show_stack+0x10/0x14)
[   83.801964] [<c00117a0>] (show_stack) from [<c0036324>]
(warn_slowpath_common+0x6c/0x84)
[   83.810454] [<c0036324>] (warn_slowpath_common) from [<c00363d8>]
(warn_slowpath_null+0x1c/0x24)
[   83.819670] [<c00363d8>] (warn_slowpath_null) from [<c02c9790>]
(cppi41_dma_control+0x2ac/0x2d8)
[   83.828893] [<c02c9790>] (cppi41_dma_control) from [<c0391068>]
(cppi41_dma_channel_abort+0xcc/0x140)
[   83.838578] [<c0391068>] (cppi41_dma_channel_abort) from [<c038c758>]
(musb_cleanup_urb.isra.13+0x58/0x11c)
[   83.848799] [<c038c758>] (musb_cleanup_urb.isra.13) from [<c038ca5c>]
(musb_urb_dequeue+0xe8/0x128)
[   83.858292] [<c038ca5c>] (musb_urb_dequeue) from [<c0374ff0>]
(unlink1+0x2c/0x110)
[   83.866234] [<c0374ff0>] (unlink1) from [<c0375a68>]
(usb_hcd_unlink_urb+0x4c/0x84)
[   83.874268] [<c0375a68>] (usb_hcd_unlink_urb) from [<c03fc634>]
(deactivate_urbs+0xd8/0xf4)
[   83.883031] [<c03fc634>] (deactivate_urbs) from [<c03fd718>]
(snd_usb_endpoint_stop+0x30/0x70)
[   83.892070] [<c03fd718>] (snd_usb_endpoint_stop) from [<c0404b9c>]
(stop_endpoints+0x70/0x88)
[   83.901015] [<c0404b9c>] (stop_endpoints) from [<c0404cfc>]
(snd_usb_substream_playback_trigger+0x9c/0xb8)
[   83.911145] [<c0404cfc>] (snd_usb_substream_playback_trigger) from
[<c03ee79c>] (snd_pcm_do_stop+0x54/0x58)
[   83.921365] [<c03ee79c>] (snd_pcm_do_stop) from [<c03eda30>]
(snd_pcm_action_group+0x190/0x20c)
[   83.930490] [<c03eda30>] (snd_pcm_action_group) from [<c03ee604>]
(snd_pcm_action+0x54/0xfc)
[   83.939343] [<c03ee604>] (snd_pcm_action) from [<c03f0918>]
(snd_pcm_common_ioctl1+0xc84/0xf94)
[   83.948470] [<c03f0918>] (snd_pcm_common_ioctl1) from [<c03f1290>]
(snd_pcm_capture_ioctl1+0x1b8/0x464)
[   83.958329] [<c03f1290>] (snd_pcm_capture_ioctl1) from [<c00eeed4>]
(do_vfs_ioctl+0x3fc/0x5f0)
[   83.967365] [<c00eeed4>] (do_vfs_ioctl) from [<c00ef134>] (SyS_ioctl
+0x6c/0x7c)
[   83.975034] [<c00ef134>] (SyS_ioctl) from [<c000e440>]
(ret_fast_syscall+0x0/0x48)
[   83.982972] ---[ end trace 094e700abc52f491 ]---

--
Sebastian

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux