Есть железка в хозяйстве Нанопи Нео Коре, там убунта 16.04 ЛТС, поднял на ней для теста v4l2rtspserver на усб uvc камеру, смотрю rtsp с нее в максималках mjpeg 1920х1080 на 30 кадрах в VLC
На некоторых железках на одном потоке, на других только на 3х клиентах vlc отваливается сеть с таким вот dmeg
[ 260.070727] INFO: rcu_sched self-detected stall on CPU
[ 260.076830] 0-...: (4190 ticks this GP) idle=70e/140000000000002/0 softirq=17072/17072 fqs=1976
[ 260.079968] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 260.085937]
[ 260.091905] (t=4204 jiffies g=8837 c=8836 q=1672)
[ 260.093825] 0-...: (4190 ticks this GP) idle=70e/140000000000002/0 softirq=17072/17072 fqs=1978
[ 260.102957]
[ 260.103041] NMI backtrace for cpu 0
[ 260.103318] CPU: 0 PID: 29 Comm: kworker/0:1 Tainted: G C O 4.14.111 #126
[ 260.104951] (detected by 1, t=4206 jiffies, g=8837, c=8836, q=1672)
[ 260.105020] Hardware name: sun8i
[ 260.105412] Workqueue: events dbs_work_handler
.......................
[ 260.125393] Sending NMI from CPU 1 to CPUs 0:
[ 270.155454] rcu_sched kthread starved for 2000 jiffies! g8837 c8836 f0x0 RCU_GP_DOING_FQS(4) ->state=0x0 ->cpu=2
[ 270.165927] rcu_sched R running task 0 8 2 0x00000000
[ 270.166732] [<c0a2f9b8>] (__schedule) from [<c0a300d8>] (preempt_schedule_common+0x1c/0x2c)
[ 270.167133] [<c0a300d8>] (preempt_schedule_common) from [<c0a30124>] (_cond_resched+0x3c/0x44)
[ 270.167538] [<c0a30124>] (_cond_resched) from [<c0292824>] (rcu_gp_kthread+0x57c/0x928)
[ 270.167960] [<c0292824>] (rcu_gp_kthread) from [<c025d020>] (kthread+0x128/0x158)
[ 270.168347] [<c025d020>] (kthread) from [<c0222058>] (ret_from_fork+0x14/0x3c)
[ 270.173442] NMI backtrace for cpu 0
[ 270.173601] CPU: 0 PID: 29 Comm: kworker/0:1 Tainted: G C O 4.14.111 #126
[ 270.173668] Hardware name: sun8i
[ 270.173743] Workqueue: events dbs_work_handler
[ 270.173881] task: db1c0000 task.stack: db1ba000
[ 270.173968] PC is at __usb_hcd_giveback_urb+0x80/0x148
[ 270.174044] LR is at ehci_urb_enqueue+0xa3c/0xd98
[ 270.174136] pc : [<c06d9da0>] lr : [<c06f39d8>] psr: 60010113
[ 270.174216] sp : db1bbc60 ip : db001a80 fp : 40000000
[ 270.174295] r10: c1202080 r9 : c1061520 r8 : c9ff9ce8
[ 270.174390] r7 : 00000000 r6 : c9ff9c00 r5 : 60010113 r4 : d98cc000
[ 270.174483] r3 : bf544f8c r2 : 00000003 r1 : 00000000 r0 : 00000000
[ 270.174582] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 270.174666] Control: 30c5387d Table: 5a761240 DAC: fffffffd
[ 270.174780] CPU: 0 PID: 29 Comm: kworker/0:1 Tainted: G C O 4.14.111 #126
[ 270.174845] Hardware name: sun8i
[ 270.174912] Workqueue: events dbs_work_handler
предполагаю, что одно ядро не успевает отрабовать прерывания ИСХОДЯЩЕГО трафика, умозаключения сделал на основе темы Расшифровка краха
Судя по предложенным там к просмотру счетчикам, у меня занимается отправкой пакетов NET_TX только 1 ядро, как бы починить-сбалансировать???
Every 2.0s: cat /proc/softirqs Fri Jun 10 07:52:46 2022
CPU0 CPU1 CPU2 CPU3
HI: 4241341 8 0 7
TIMER: 1051360 966099 993020 922395
NET_TX: 40438 8454 5959 6224
NET_RX: 36476 317 374 123
BLOCK: 0 0 0 0
IRQ_POLL: 0 0 0 0
TASKLET: 1371 149 21 20
SCHED: 736057 759687 765668 686260
HRTIMER: 0 0 0 0
RCU: 702873 605518 618290 591059
Every 2.0s: cat /proc/interrupts Fri Jun 10 07:52:47 2022
CPU0 CPU1 CPU2 CPU3
16: 0 0 0 0 GICv2 25 Level vgic
17: 0 0 0 0 GICv2 50 Level /soc/timer@01c20c00
18: 0 0 0 0 GICv2 29 Level arch_timer
19: 4656560 6907099 7007158 7089333 GICv2 30 Level arch_timer
20: 0 0 0 0 GICv2 27 Level kvm guest timer
22: 0 0 0 0 GICv2 120 Level 1ee0000.hdmi, dw-hdmi-cec
24: 0 0 0 0 GICv2 118 Level 1c0c000.lcd-controller
25: 0 0 0 0 GICv2 82 Level 1c02000.dma-controller
26: 25 0 0 0 GICv2 92 Level sunxi-mmc
27: 32580 0 0 0 GICv2 94 Level sunxi-mmc
28: 1 0 0 0 GICv2 103 Level musb-hdrc.4.auto
29: 0 0 0 0 GICv2 104 Level ehci_hcd:usb1
30: 0 0 0 0 GICv2 105 Level ohci_hcd:usb2
31: 0 0 0 0 GICv2 106 Level ehci_hcd:usb3
32: 0 0 0 0 GICv2 107 Level ohci_hcd:usb6
33: 0 0 0 0 GICv2 108 Level ehci_hcd:usb4
34: 0 0 0 0 GICv2 109 Level ohci_hcd:usb7
35: 4316809 0 0 0 GICv2 110 Level ehci_hcd:usb5
36: 0 0 0 0 GICv2 111 Level ohci_hcd:usb8
39: 31658 0 0 0 GICv2 63 Level 1c25000.ths
41: 35715 0 0 0 GICv2 114 Level eth0
42: 1373870485 0 0 0 GICv2 97 Level sun6i-spi
45: 462 0 0 0 GICv2 32 Level ttyS0
46: 8732 0 0 0 GICv2 33 Level ttyS1
49: 0 0 0 0 GICv2 38 Level mv64xxx_i2c
50: 0 0 0 0 GICv2 39 Level mv64xxx_i2c
51: 0 0 0 0 GICv2 40 Level mv64xxx_i2c
52: 0 0 0 0 GICv2 72 Level 1f00000.rtc
106: 1 0 0 0 sunxi_pio_edge 44 Edge usb0-id-det
129: 1 0 0 0 sunxi_pio_edge 3 Edge k1
IPI0: 0 0 0 0 CPU wakeup interrupts
IPI1: 0 0 0 0 Timer broadcast interrupts
IPI2: 3920333 14075889 14485381 14792281 Rescheduling interrupts
IPI3: 56 280 309 68 Function call interrupts
IPI4: 0 0 0 0 CPU stop interrupts
IPI5: 4367 1341 1399 1418 IRQ work interrupts
IPI6: 0 0 0 0 completion interrupts
Err: 0