Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-82610

CAN packets dropped if high bus load on Apalis iMX8 Boot2Qt image and working GUI

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P2: Important
    • None
    • 5.14.1
    • SerialBus: CAN Bus
    • None
    • Apalis Evaluation Board v1.0a, Apalis iMX8QM 4 GB WB V1.0B, Boot2Qt 5.14.1
    • Linux/Wayland

    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.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ablasche Alex Blasche
            vitaliybortsov vitaliybortsov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes