Details
-
Bug
-
Resolution: Out of scope
-
P2: Important
-
None
-
5.14.1
-
None
-
Apalis Evaluation Board v1.0a, Apalis iMX8QM 4 GB WB V1.0B, Boot2Qt 5.14.1
Description
When testing the CAN bus at bitrate 1 MB by generating SFF packets with period of 48..49 microseconds, I noted the loss of CAN packets. When I checked the statistics, I saw packets loss at the driver level. CAN packages are most often lost if the standard Boot2Qt demo is working.
I don't need real-time, but the correct CAN stream shouldn't result in packet loss.
Information about system:
b2qt-apalis-imx8:~# uname -a Linux b2qt-apalis-imx8 4.14.117-0+ge43e3a26e1b7 #1 SMP PREEMPT Fri Jan 24 20:05:14 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux b2qt-apalis-imx8:~# ip link set can0 up type can bitrate 1000000 [ 1583.428097] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready b2qt-apalis-imx8:~# ps -eo pid,cmd,rtprio PID CMD RTPRIO 1 /sbin/init - 2 [kthreadd] - 6 [mm_percpu_wq] - 7 [ksoftirqd/0] - 8 [rcu_preempt] - 9 [rcu_sched] - 10 [rcu_bh] - 11 [migration/0] 99 12 [cpuhp/0] - 13 [cpuhp/1] - 14 [migration/1] 99 15 [ksoftirqd/1] - 18 [cpuhp/2] - 19 [migration/2] 99 20 [ksoftirqd/2] - 23 [cpuhp/3] - 24 [migration/3] 99 25 [ksoftirqd/3] - 28 [cpuhp/4] - 29 [migration/4] 99 30 [ksoftirqd/4] - 33 [cpuhp/5] - 34 [migration/5] 99 35 [ksoftirqd/5] - 38 [kdevtmpfs] - 39 [netns] - 40 [kworker/u12:1] - 43 [kworker/u12:2] - 53 [kworker/5:1] - 56 [kworker/4:1] - 63 [kworker/3:1] - 77 [kworker/1:1] - 779 [oom_reaper] - 780 [writeback] - 782 [kcompactd0] - 783 [ksmd] - 784 [khugepaged] - 785 [crypto] - 786 [kintegrityd] - 788 [kblockd] - 893 [ata_sff] - 949 [edac-poller] - 968 [cfg80211] - 969 [watchdogd] - 1060 [rpciod] - 1061 [xprtiod] - 1102 [kauditd] - 1109 [kswapd0] - 1192 [nfsiod] - 1600 [irq/439-5626800] 50 1601 [irq/440-5626800] 50 1602 [cec-hdp-cec] - 1604 [hdp-cec] - 1697 [scsi_eh_0] - 1698 [scsi_tmf_0] - 1721 [spi0] - 1728 [spi1] - 1866 [ci_otg] - 1868 [ci_power_lost] - 1876 [ci_power_lost] - 1958 [kworker/0:2] - 2030 [cfinteractive] 99 2052 [irq/121-mmc0] 50 2060 [kworker/2:2] - 2062 [irq/122-mmc1] 50 2068 [irq/240-5b02000] 50 2069 [kworker/1:2] - 2073 [irq/123-mmc2] 50 2078 [irq/307-5b03000] 50 2096 [vpu] - 2109 [vpu] - 2110 [vpu] - 2112 [kworker/1:1H] - 2234 [ion_system_heap] 0 2350 [ipv6_addrconf] - 2351 [krfcommd] - 2397 [kworker/2:2H] - 2399 [kworker/3:2H] - 2401 [kworker/0:2H] - 2402 [jbd2/mmcblk1p2-] - 2403 [ext4-rsv-conver] - 2406 [kworker/4:1H] - 2420 [sugov:0] 50 2426 [galcore workque] - 2428 [sugov:4] 50 2430 /lib/systemd/systemd-journa - 2432 /usr/sbin/rngd -f -r /dev/h - 2435 [galcore deamon ] - 2436 [galcore deamon ] - 2444 [kworker/5:1H] - 2458 [kworker/u12:5] - 2645 [kworker/u12:6] - 3293 /lib/systemd/systemd-udevd - 3943 /lib/systemd/systemd-timesy - 3948 [kworker/5:2H] - 3972 /data/user/qt/datacollector - 3987 /sbin/syslogd -n - 3994 /sbin/klogd -n - 3995 /usr/bin/dbus-daemon --syst - 3998 /lib/systemd/systemd-logind - 4001 /usr/sbin/connmand -n - 4011 [MWIFIEX_WORK_QU] - 4012 [MWIFIEX_RX_WORK] - 4037 /usr/sbin/wpa_supplicant -u - 4046 /usr/bin/appcontroller /usr - 4047 /usr/bin/qtlauncher --appli - 4048 /lib/systemd/systemd --user - 4049 (sd-pam) - 4054 [kworker/u13:1] - 4056 [MWIFIEX_DFS_CAC] - 4057 [MWIFIEX_DFS_CHS] - 4078 /usr/bin/qdbd - 4094 [kworker/u13:2] - 4102 /usr/libexec/bluetooth/blue - 4159 [kworker/4:0H] - 4164 [kworker/4:0] - 4180 [kworker/5:2] - 4188 [kworker/1:0H] - 4190 [kworker/3:1H] - 4193 [kworker/3:0] - 4196 [kworker/2:3] - 4200 [kworker/0:0] - 4203 [kworker/2:0H] - 4204 [kworker/0:0H] - 4218 [kworker/4:2] - 4219 [kworker/1:2H] - 4224 [kworker/3:0H] - 4235 [kworker/1:0] - 4237 [kworker/0:1] - 4241 /lib/systemd/systemd-networ - 4243 [kworker/u12:0] - 4248 [kworker/2:1H] - 4251 [kworker/5:0] - 4254 /bin/login -- - 4257 [kworker/0:1H] - 4259 /lib/systemd/systemd --user - 4260 (sd-pam) - 4264 [kworker/2:0] - 4266 -sh - 4271 su - 4272 sh - 4285 ps -eo pid,cmd,rtprio - b2qt-apalis-imx8:~# zcat /proc/config.gz |grep PREEMPT CONFIG_PREEMPT_RCU=y CONFIG_PREEMPT_NOTIFIERS=y # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_PREEMPT_COUNT=y # CONFIG_DEBUG_PREEMPT is not set # CONFIG_PREEMPT_TRACER is not set b2qt-apalis-imx8:~# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 1: 0 0 0 0 0 0 GICv3 25 Level vgic 3: 76518 82587 82077 149325 33670 51630 GICv3 30 Level arch_timer 4: 0 0 0 0 0 0 GICv3 27 Level kvm guest timer 6: 0 0 0 0 0 0 GICv3 209 Level imx8_mu_isr 7: 0 0 0 0 0 0 GICv3 23 Level arm-pmu 8: 0 0 0 0 0 0 GICv3 224 Level dsp_mu_isr 9: 2 0 0 0 0 0 GICv3 504 Level vpu_mu_isr 10: 2 0 0 0 0 0 GICv3 505 Level vpu_mu_isr 11: 0 0 0 0 0 0 GICv3 506 Level vpu_mu_isr 12: 0 0 0 0 0 0 GICv3 64 Level arm-smmu global fault, arm-smmu-context-fault, arm-smmu-context-fault, arm-smmu-context-fault 27: 0 0 0 0 0 0 GICv3 82 Level 56180000.dpu 28: 0 0 0 0 0 0 GICv3 83 Level 56180000.dpu 38: 0 0 0 0 0 0 GICv3 194 Level 57180000.dpu 39: 0 0 0 0 0 0 GICv3 195 Level 57180000.dpu 41: 0 0 0 0 0 0 GICv3 329 Edge 58100000.isi 42: 0 0 0 0 0 0 GICv3 330 Edge 58110000.isi 43: 0 0 0 0 0 0 GICv3 331 Edge 58120000.isi 44: 0 0 0 0 0 0 GICv3 332 Edge 58130000.isi 45: 0 0 0 0 0 0 GICv3 333 Edge 58140000.isi 46: 0 0 0 0 0 0 GICv3 334 Edge 58150000.isi 47: 0 0 0 0 0 0 GICv3 335 Edge 58160000.isi 48: 0 0 0 0 0 0 GICv3 336 Edge 58170000.isi 49: 0 0 0 0 0 0 GICv3 341 Level 58400000.jpegdec 50: 0 0 0 0 0 0 GICv3 337 Level 58450000.jpegenc 51: 0 0 0 0 0 0 GICv3 272 Level 5a880000.adc 52: 0 0 0 0 0 0 GICv3 273 Level 5a890000.adc 53: 99 0 0 0 0 0 GICv3 252 Level 54: 6 0 0 0 0 0 GICv3 253 Level 55: 52 0 0 0 0 0 GICv3 254 Level 60: 10 0 0 0 0 0 IMX8-WU 235 Edge can0 65: 0 0 0 0 0 0 GICv3 248 Level 5a000000.lpspi 66: 0 0 0 0 0 0 GICv3 250 Level 5a020000.lpspi 67: 0 0 0 0 0 0 IMX8-WU 345 Edge fsl-lpuart 68: 2 0 0 0 0 0 IMX8-WU 346 Edge fsl-lpuart 69: 0 0 0 0 0 0 IMX8-WU 347 Edge fsl-lpuart 70: 0 0 0 0 0 0 IMX8-WU 348 Edge fsl-lpuart 79: 259 0 0 0 0 0 GICv3 468 Level edma0-chan14-rx 80: 540 0 0 0 0 0 GICv3 469 Level edma0-chan15-tx 81: 0 0 0 0 0 0 GICv3 470 Level edma0-chan16-rx 82: 0 0 0 0 0 0 GICv3 471 Level edma0-chan17-tx 83: 0 0 0 0 0 0 GICv3 472 Level edma0-chan18-rx 84: 0 0 0 0 0 0 GICv3 473 Level edma0-chan19-tx 94: 0 0 0 0 0 0 GICv3 489 Level edma2-chan8-rx 95: 0 0 0 0 0 0 GICv3 491 Level edma2-chan9-tx 96: 0 0 0 0 0 0 GICv3 493 Level edma2-chan10-rx 97: 0 0 0 0 0 0 GICv3 495 Level edma2-chan11-tx 119: 200438 0 0 0 0 0 GICv3 96 Level galcore:0 120: 193924 0 0 0 0 0 GICv3 97 Level galcore:3d-1 121: 359 0 0 0 0 0 GICv3 264 Level mmc0 122: 19573 0 0 0 0 0 GICv3 265 Level mmc1 123: 0 0 0 0 0 0 GICv3 266 Level mmc2 124: 15928 0 0 0 0 0 IMX8-WU 258 Edge 5b040000.ethernet 125: 0 0 0 0 0 0 IMX8-WU 256 Edge 5b040000.ethernet 126: 0 0 0 0 0 0 IMX8-WU 257 Edge 5b040000.ethernet 127: 0 0 0 0 0 0 IMX8-WU 259 Edge 5b040000.ethernet 128: 343 0 0 0 0 0 IMX8-WU 267 Edge 5b0d0000.usb 129: 193 0 0 0 0 0 IMX8-WU 268 Edge 5b0e0000.usb 130: 156 0 0 0 0 0 IMX8-WU 271 Edge 5b110000.usb3 131: 0 0 0 0 0 0 GICv3 162 Edge ddr_perf 132: 0 0 0 0 0 0 GICv3 163 Edge ddr_perf 133: 0 0 0 0 0 0 GICv3 488 Level 59020000.spdif 134: 0 0 0 0 0 0 GICv3 490 Level 59020000.spdif 135: 0 0 0 0 0 0 GICv3 492 Level 59030000.spdif 136: 0 0 0 0 0 0 GICv3 494 Level 59030000.spdif 137: 0 0 0 0 0 0 GICv3 348 Level sai 138: 0 0 0 0 0 0 GICv3 359 Level sai 139: 0 0 0 0 0 0 GICv3 361 Level sai 140: 0 0 0 0 0 0 GICv3 363 Level sai 141: 0 0 0 0 0 0 GICv3 404 Level 59000000.asrc 143: 0 0 0 0 0 0 GICv3 102 Level mx6-pcie-msi 145: 0 0 0 0 0 0 GICv3 134 Level mx6-pcie-msi 147: 0 0 0 0 0 0 GICv3 120 Level ahci-imx[5f020000.sata] 164: 0 0 0 0 0 0 GICv3 216 Level imx-mu-rpmsg 165: 0 0 0 0 0 0 GICv3 217 Level imx-mu-rpmsg 240: 0 0 0 0 0 0 gpio-mxc 9 Edge 5b020000.usdhc cd 251: 0 0 0 0 0 0 gpio-mxc 20 Edge Wake-Up 307: 0 0 0 0 0 0 gpio-mxc 12 Edge 5b030000.usdhc cd 423: 100149 0 0 0 0 0 DPU 16 Edge imx_drm 424: 1 0 0 0 0 0 DPU 6 Edge imx_drm 425: 93417 0 0 0 0 0 DPU 3 Edge imx_drm 426: 1 0 0 0 0 0 DPU 15 Edge imx_drm 427: 0 0 0 0 0 0 DPU 26 Edge imx_drm 428: 0 0 0 0 0 0 DPU 12 Edge imx_drm 429: 0 0 0 0 0 0 DPU 9 Edge imx_drm 430: 0 0 0 0 0 0 DPU 25 Edge imx_drm 431: 0 0 0 0 0 0 DPU 16 Edge imx_drm 432: 0 0 0 0 0 0 DPU 6 Edge imx_drm 433: 0 0 0 0 0 0 DPU 3 Edge imx_drm 434: 0 0 0 0 0 0 DPU 15 Edge imx_drm 435: 310 0 0 0 0 0 DPU 26 Edge imx_drm 436: 1 0 0 0 0 0 DPU 12 Edge imx_drm 437: 1 0 0 0 0 0 DPU 9 Edge imx_drm 438: 1 0 0 0 0 0 DPU 25 Edge imx_drm 439: 0 0 0 0 0 0 irqsteer 10 Edge 56268000.hdmi 440: 0 0 0 0 0 0 irqsteer 13 Edge 56268000.hdmi 441: 2 0 0 0 0 0 GICv3 485 Level 31430000.jr2 442: 0 0 0 0 0 0 GICv3 486 Level 31440000.jr3 475: 0 0 0 0 0 0 GICv3 105 Level PCIe PME 508: 41 0 0 0 0 0 GICv3 137 Level PCIe PME, MRVL_PCIE IPI0: 167415 270673 106525 155123 34852 24729 Rescheduling interrupts IPI1: 340 966 1015 1056 1411 1523 Function call interrupts IPI2: 0 0 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 0 0 Timer broadcast interrupts IPI5: 1315 670 660 949 159 182 IRQ work interrupts IPI6: 0 0 0 0 0 0 CPU wake-up interrupts Err: 0
The statistic tool show next (logged from other CAN interface at different session; I experimented with different CAN controllers):
b2qt-apalis-imx8:~# ip -s link show can1
3: can1: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 100
link/can
RX: bytes packets errors dropped overrun mcast
0 9987413 1 74 1 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
See also Toradex Apalis iMX8 forum.
I expect packets loss shouldn't occur.