0
Flole

Orange Pi PC2 uvcvideo cpu usage

Recommended Posts

I am running Armbian Focal with Linux 5.4.43-sunxi64 (and now downgraded to 4.19.125-sunxi64) on my Orange Pi PC 2. I use motion software to provide a "18ec:5555 Arkmicro Technologies Inc. USB2.0 PC CAMERA" to the network. I also use pjsip to provide SIP functionality for the same device as audio input. As soon as I start pjsip for some reason I get a very high load average until the kernel detectets stalled CPUs and finally the entire device crashes. This worked fine in a previous version and started after I upgraded to focal. I did a kernel backtrace and this is what I got:

[  401.002517] sysrq: Show backtrace of all active CPUs
[  401.009965] sysrq: CPU1:
[  401.010084] Call trace:
[  401.010394]  dump_backtrace+0x0/0x180
[  401.010573]  show_stack+0x14/0x20
[  401.010811]  showacpu+0x94/0xc8
[  401.011039]  flush_smp_call_function_queue+0x90/0x150
[  401.011247]  generic_smp_call_function_single_interrupt+0x10/0x18
[  401.011471]  handle_IPI+0xf8/0x180
[  401.011634]  gic_handle_irq+0x9c/0xa0
[  401.011806]  el0_irq_naked+0x4c/0x54
[  401.011993] sysrq: CPU3:
[  401.012118] Call trace:
[  401.012372]  dump_backtrace+0x0/0x180
[  401.012533]  show_stack+0x14/0x20
[  401.012743]  showacpu+0x94/0xc8
[  401.012939]  flush_smp_call_function_queue+0x90/0x150
[  401.013137]  generic_smp_call_function_single_interrupt+0x10/0x18
[  401.013346]  handle_IPI+0xf8/0x180
[  401.013506]  gic_handle_irq+0x9c/0xa0
[  401.013675]  el0_irq_naked+0x4c/0x54
[  401.013834] sysrq: CPU0:
[  401.013941] Call trace:
[  401.014159]  dump_backtrace+0x0/0x180
[  401.014342]  show_stack+0x14/0x20
[  401.014548]  showacpu+0x94/0xc8
[  401.014937]  flush_smp_call_function_queue+0x90/0x150
[  401.015139]  generic_smp_call_function_single_interrupt+0x10/0x18
[  401.015345]  handle_IPI+0xf8/0x180
[  401.015501]  gic_handle_irq+0x9c/0xa0
[  401.015657]  el1_irq+0xb8/0x140
[  401.015915]  arch_counter_get_cntpct+0x8/0x18
[  401.016143]  ktime_get+0x40/0xa0
[  401.016633]  uvc_video_decode_start+0x6d8/0x7e8 [uvcvideo]
[  401.017006]  uvc_video_decode_isoc+0xac/0x168 [uvcvideo]
[  401.017359]  uvc_video_complete+0x11c/0x1c8 [uvcvideo]
[  401.017613]  __usb_hcd_giveback_urb+0x70/0x130
[  401.017821]  usb_giveback_urb_bh+0xf0/0x190
[  401.018030]  tasklet_action_common.isra.19+0xc4/0x188
[  401.018182]  tasklet_hi_action+0x24/0x30
[  401.018349]  __do_softirq+0x11c/0x230
[  401.018497]  irq_exit+0x9c/0xb8
[  401.018750]  __handle_domain_irq+0x64/0xb8
[  401.018904]  gic_handle_irq+0x50/0xa0
[  401.019058]  el1_irq+0xb8/0x140
[  401.019279]  clk_core_unprepare+0x0/0x100
[  401.019529]  clk_core_set_rate_nolock+0x1bc/0x1e8
[  401.019725]  clk_set_rate+0x34/0xa0
[  401.019962]  dev_pm_opp_set_rate+0x394/0x4f0
[  401.020230]  set_target+0x3c/0x80 [cpufreq_dt]
[  401.020428]  __cpufreq_driver_target+0x2bc/0x678
[  401.020611]  od_dbs_update+0xb8/0x190
[  401.020801]  dbs_work_handler+0x3c/0x70
[  401.021027]  process_one_work+0x1ec/0x370
[  401.021218]  worker_thread+0x4c/0x4f8
[  401.021401]  kthread+0x120/0x128
[  401.021601]  ret_from_fork+0x10/0x18
[  403.369173] sysrq: Show backtrace of all active CPUs
[  403.375878] sysrq: CPU0:
[  403.375993] Call trace:
[  403.376316]  dump_backtrace+0x0/0x180
[  403.376496]  show_stack+0x14/0x20
[  403.376721]  showacpu+0x94/0xc8
[  403.376942]  flush_smp_call_function_queue+0x90/0x150
[  403.377146]  generic_smp_call_function_single_interrupt+0x10/0x18
[  403.377354]  handle_IPI+0xf8/0x180
[  403.377667]  gic_handle_irq+0x9c/0xa0
[  403.378019]  el1_irq+0xb8/0x140
[  403.378650]  uvc_video_decode_start+0x104/0x7e8 [uvcvideo]
[  403.379181]  uvc_video_decode_isoc+0xac/0x168 [uvcvideo]
[  403.379899]  uvc_video_complete+0x11c/0x1c8 [uvcvideo]
[  403.380312]  __usb_hcd_giveback_urb+0x70/0x130
[  403.380606]  usb_giveback_urb_bh+0xf0/0x190
[  403.380793]  tasklet_action_common.isra.19+0xc4/0x188
[  403.380945]  tasklet_hi_action+0x24/0x30
[  403.381110]  __do_softirq+0x11c/0x230
[  403.381460]  irq_exit+0x9c/0xb8
[  403.381862]  __handle_domain_irq+0x64/0xb8
[  403.382180]  gic_handle_irq+0x50/0xa0
[  403.382497]  el1_irq+0xb8/0x140
[  403.382876]  tcp_sendmsg_locked+0x288/0xc90
[  403.383202]  tcp_sendmsg+0x34/0x58
[  403.383488]  inet_sendmsg+0x40/0x68
[  403.383686]  sock_sendmsg+0x44/0x50
[  403.383869]  __sys_sendto+0xcc/0x130
[  403.384033]  __arm64_sys_sendto+0x24/0x30
[  403.384273]  el0_svc_common.constprop.2+0x88/0x150
[  403.384476]  el0_svc_handler+0x20/0x80
[  403.384636]  el0_svc+0x8/0xc
[  403.384802] sysrq: CPU1:
[  403.384917] Call trace:
[  403.385150]  dump_backtrace+0x0/0x180
[  403.385323]  show_stack+0x14/0x20
[  403.385535]  showacpu+0x94/0xc8
[  403.385747]  flush_smp_call_function_queue+0x90/0x150
[  403.385950]  generic_smp_call_function_single_interrupt+0x10/0x18
[  403.386152]  handle_IPI+0xf8/0x180
[  403.386306]  gic_handle_irq+0x9c/0xa0
[  403.386477]  el0_irq_naked+0x4c/0x54
[  406.143125] sysrq: Show backtrace of all active CPUs
[  406.158279] sysrq: CPU2:
[  406.158407] Call trace:
[  406.158720]  dump_backtrace+0x0/0x180
[  406.158892]  show_stack+0x14/0x20
[  406.159119]  showacpu+0x94/0xc8
[  406.159340]  flush_smp_call_function_queue+0x90/0x150
[  406.159544]  generic_smp_call_function_single_interrupt+0x10/0x18
[  406.159763]  handle_IPI+0xf8/0x180
[  406.159931]  gic_handle_irq+0x9c/0xa0
[  406.160097]  el1_irq+0xb8/0x140
[  406.160303]  __seccomp_filter+0x74/0x5e8
[  406.160484]  __secure_computing+0x38/0xc0
[  406.160701]  syscall_trace_enter+0x100/0x148
[  406.160925]  el0_svc_common.constprop.2+0x54/0x150
[  406.161125]  el0_svc_handler+0x20/0x80
[  406.161282]  el0_svc+0x8/0xc
[  406.161441] sysrq: CPU1:
[  406.161550] Call trace:
[  406.161773]  dump_backtrace+0x0/0x180
[  406.161949]  show_stack+0x14/0x20
[  406.162157]  showacpu+0x94/0xc8
[  406.162349]  flush_smp_call_function_queue+0x90/0x150
[  406.162711]  generic_smp_call_function_single_interrupt+0x10/0x18
[  406.162916]  handle_IPI+0xf8/0x180
[  406.163076]  gic_handle_irq+0x9c/0xa0
[  406.163240]  el0_irq_naked+0x4c/0x54
[  406.163399] sysrq: CPU0:
[  406.163511] Call trace:
[  406.163729]  dump_backtrace+0x0/0x180
[  406.163906]  show_stack+0x14/0x20
[  406.164110]  showacpu+0x94/0xc8
[  406.164311]  flush_smp_call_function_queue+0x90/0x150
[  406.164507]  generic_smp_call_function_single_interrupt+0x10/0x18
[  406.164710]  handle_IPI+0xf8/0x180
[  406.164871]  gic_handle_irq+0x9c/0xa0
[  406.165026]  el1_irq+0xb8/0x140
[  406.165610]  uvc_video_decode_start+0x3d8/0x7e8 [uvcvideo]
[  406.166155]  uvc_video_decode_isoc+0xac/0x168 [uvcvideo]
[  406.166672]  uvc_video_complete+0x11c/0x1c8 [uvcvideo]
[  406.167086]  __usb_hcd_giveback_urb+0x70/0x130
[  406.167451]  usb_giveback_urb_bh+0xf0/0x190
[  406.167804]  tasklet_action_common.isra.19+0xc4/0x188
[  406.168128]  tasklet_hi_action+0x24/0x30
[  406.168458]  __do_softirq+0x11c/0x230
[  406.168691]  irq_exit+0x9c/0xb8
[  406.168922]  __handle_domain_irq+0x64/0xb8
[  406.169071]  gic_handle_irq+0x50/0xa0
[  406.169396]  el1_irq+0xb8/0x140
[  406.169755]  tcp_sendmsg_locked+0x288/0xc90
[  406.170081]  tcp_sendmsg+0x34/0x58
[  406.170441]  inet_sendmsg+0x40/0x68
[  406.170783]  sock_sendmsg+0x44/0x50
[  406.171117]  __sys_sendto+0xcc/0x130
[  406.171444]  __arm64_sys_sendto+0x24/0x30
[  406.171842]  el0_svc_common.constprop.2+0x88/0x150
[  406.172216]  el0_svc_handler+0x20/0x80
[  406.172541]  el0_svc+0x8/0xc
[  408.204456] sysrq: Show backtrace of all active CPUs
[  408.214175] sysrq: CPU1:
[  408.214296] Call trace:
[  408.214624]  dump_backtrace+0x0/0x180
[  408.214813]  show_stack+0x14/0x20
[  408.215046]  showacpu+0x94/0xc8
[  408.215271]  flush_smp_call_function_queue+0x90/0x150
[  408.215477]  generic_smp_call_function_single_interrupt+0x10/0x18
[  408.215870]  handle_IPI+0xf8/0x180
[  408.216039]  gic_handle_irq+0x9c/0xa0
[  408.216216]  el0_irq_naked+0x4c/0x54
[  408.216351] sysrq: CPU2:
[  408.216453] Call trace:
[  408.216675]  dump_backtrace+0x0/0x180
[  408.216843]  show_stack+0x14/0x20
[  408.217054]  showacpu+0x94/0xc8
[  408.217250]  flush_smp_call_function_queue+0x90/0x150
[  408.217456]  generic_smp_call_function_single_interrupt+0x10/0x18
[  408.217666]  handle_IPI+0xf8/0x180
[  408.217824]  gic_handle_irq+0x9c/0xa0
[  408.217985]  el1_irq+0xb8/0x140
[  408.218219]  kmsg_read+0x50/0x60
[  408.218440]  proc_reg_read+0x5c/0xc8
[  408.218632]  __vfs_read+0x18/0x40
[  408.218802]  vfs_read+0x9c/0x188
[  408.218968]  ksys_read+0x64/0xe8
[  408.219142]  __arm64_sys_read+0x18/0x20
[  408.219375]  el0_svc_common.constprop.2+0x88/0x150
[  408.219581]  el0_svc_handler+0x20/0x80
[  408.219739]  el0_svc+0x8/0xc
[  408.219893] sysrq: CPU0:
[  408.219995] Call trace:
[  408.220206]  dump_backtrace+0x0/0x180
[  408.220376]  show_stack+0x14/0x20
[  408.220588]  showacpu+0x94/0xc8
[  408.220782]  flush_smp_call_function_queue+0x90/0x150
[  408.220981]  generic_smp_call_function_single_interrupt+0x10/0x18
[  408.221184]  handle_IPI+0xf8/0x180
[  408.221336]  gic_handle_irq+0x9c/0xa0
[  408.221490]  el1_irq+0xb8/0x140
[  408.221688]  arch_local_irq_restore+0x4/0x10
[  408.221925]  usb_hcd_submit_urb+0xdc/0xad0
[  408.222133]  usb_submit_urb+0x1e0/0x580
[  408.222619]  uvc_video_complete+0x188/0x1c8 [uvcvideo]
[  408.222971]  __usb_hcd_giveback_urb+0x70/0x130
[  408.223348]  usb_giveback_urb_bh+0xf0/0x190
[  408.223700]  tasklet_action_common.isra.19+0xc4/0x188
[  408.224029]  tasklet_hi_action+0x24/0x30
[  408.224350]  __do_softirq+0x11c/0x230
[  408.224589]  irq_exit+0x9c/0xb8
[  408.224822]  __handle_domain_irq+0x64/0xb8
[  408.224972]  gic_handle_irq+0x50/0xa0
[  408.225299]  el1_irq+0xb8/0x140
[  408.225673]  tcp_sendmsg_locked+0x288/0xc90
[  408.226005]  tcp_sendmsg+0x34/0x58
[  408.226364]  inet_sendmsg+0x40/0x68
[  408.226717]  sock_sendmsg+0x44/0x50
[  408.227058]  __sys_sendto+0xcc/0x130
[  408.227391]  __arm64_sys_sendto+0x24/0x30
[  408.227782]  el0_svc_common.constprop.2+0x88/0x150
[  408.228153]  el0_svc_handler+0x20/0x80
[  408.228465]  el0_svc+0x8/0xc

Does anybody know what might be going on here and how I can fix this issue? Or do I need to go back to Ubuntu Bionic with Armbian Linux 4.13.2-sun50iw2 which I was running before?

Share this post


Link to post
Share on other sites

Sure, I had to remove some sensitive information like IPv6 Addresses and NFS Paths though.

 

Share this post


Link to post
Share on other sites
13 hours ago, Flole said:

Sure, I had to remove some sensitive information like IPv6 Addresses and NFS Paths though

No worries. Guess the information collection needs to be enhanced there... (feel free to contribute :P)

 

Quote

(and now downgraded to 4.19.125-sunxi64)

Not sure if I got that right. It does work in 4.13.x but also does in legacy branch 4.19.x?

Share this post


Link to post
Share on other sites

It does not work in the legacy branch, it just used to work on 4.13.x before I upgraded to focal (I think I was on bionic before but I need to check that again). I tried the legacy branch as I was hoping that it could be better, but unfortunately it isn't.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
0