This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x DCAN: High load of CPU

Other Parts Discussed in Thread: AM3358, TPS65217

To verify the reliability of the driver DCAN (AM335x) for Linux was conducted stress testing.

Channel CAN1 of board on base AM3358 was connected to an external source of traffic CAN bus (microcontroller, which is continuously generated about 90% of CAN bus load, CAN frame: EXT, ID = 0x1, DLC=8, DATA: 0x00 0x00 0x00 0x00 0x00 0x00 0x00).

After some time of normal operation, the driver DCAN began to lose CAN frames and load the CPU at about 85%.

Has anyone faced such a situation ?

How can I resolve this problem ?

Logging:

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.12.27 (user@user-VirtualBox) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #39 Tue Sep 23 16:23:28 VOLT 2014
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: DATAMICRO BRPD
[ 0.000000] cma: CMA: reserved 24 MiB at 9e000000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon )
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129280
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.1.34:/home/user/ti-sdk-am335x-evm-07.00.00.00/targetNFS,nolock rw ip=dhcp
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 484636K/521216K available (4723K kernel code, 509K rwdata, 1512K rodata, 311K init, 212K bss, 36580K reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc061f03c (6237 kB)
[ 0.000000] .init : 0xc0620000 - 0xc066dff4 ( 312 kB)
[ 0.000000] .data : 0xc066e000 - 0xc06ed6b0 ( 510 kB)
[ 0.000000] .bss : 0xc06ed6b0 - 0xc07227b8 ( 213 kB)
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: timer2 at 25000000 Hz
[ 0.000000] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 171798ms
[ 0.000000] OMAP clocksource: timer1 at 25000000 Hz
[ 0.000000] Console: colour dummy device 80x30
[ 0.000275] Calibrating delay loop... 663.55 BogoMIPS (lpj=3317760)
[ 0.049762] pid_max: default: 32768 minimum: 301
[ 0.049852] Security Framework initialized
[ 0.049896] Mount-cache hash table entries: 512
[ 0.057121] CPU: Testing write buffer coherency: ok
[ 0.057496] Setting up static identity map for 0xc04a25e8 - 0xc04a2658
[ 0.058263] devtmpfs: initialized
[ 0.059545] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.119627] omap_hwmod: debugss: _wait_target_disable failed
[ 0.120290] pinctrl core: initialized pinctrl subsystem
[ 0.121050] regulator-dummy: no parameters
[ 0.123249] NET: Registered protocol family 16
[ 0.124912] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.126632] cpuidle: using governor ladder
[ 0.126647] cpuidle: using governor menu
[ 0.133105] platform mpu.1: FIXME: clock-name 'fck' DOES NOT exist in dt!
[ 0.133950] platform 49000000.edma: FIXME: clock-name 'fck' DOES NOT exist in dt!
[ 0.134995] OMAP GPIO hardware version 0.1
[ 0.142623] omap-gpmc 50000000.gpmc: could not find pctldev for node /pinmux@44e10800/nandflash_pins_default, deferring probe
[ 0.142652] platform 50000000.gpmc: Driver omap-gpmc requests probe deferral
[ 0.142953] platform 56000000.sgx: FIXME: clock-name 'fck' DOES NOT exist in dt!
[ 0.144672] DSS not supported on this SoC
[ 0.144688] No ATAGs?
[ 0.144698] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.158114] bio: create slab <bio-0> at 0
[ 0.168388] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 0.169227] wlan-en-regulator: 1800 mV
[ 0.169599] vmmcsd_fixed: 3300 mV
[ 0.171095] usbcore: registered new interface driver usbfs
[ 0.171242] usbcore: registered new interface driver hub
[ 0.171417] usbcore: registered new device driver usb
[ 0.172029] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
[ 0.172050] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
[ 0.172324] pps_core: LinuxPPS API ver. 1 registered
[ 0.172333] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.172433] PTP clock support registered
[ 0.174471] Switched to clocksource timer1
[ 0.188940] NET: Registered protocol family 2
[ 0.189707] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.189776] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.189814] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.189880] TCP: reno registered
[ 0.189892] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.189907] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.190086] NET: Registered protocol family 1
[ 0.190431] RPC: Registered named UNIX socket transport module.
[ 0.190441] RPC: Registered udp transport module.
[ 0.190447] RPC: Registered tcp transport module.
[ 0.190452] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.191198] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.191717] PM: Loading am335x-pm-firmware.bin
[ 0.290186] VFS: Disk quotas dquot_6.5.2
[ 0.290252] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.290780] NFS: Registering the id_resolver key type
[ 0.290858] Key type id_resolver registered
[ 0.290865] Key type id_legacy registered
[ 0.290900] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.291056] msgmni has been set to 994
[ 0.292254] NET: Registered protocol family 38
[ 0.292294] io scheduler noop registered
[ 0.292302] io scheduler deadline registered
[ 0.292320] io scheduler cfq registered (default)
[ 0.293422] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.295335] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.297475] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
[ 0.900378] console [ttyO0] enabled
[ 0.904748] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART1
[ 0.915062] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 60, base_baud = 3000000) is a OMAP UART3
[ 0.925841] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[ 0.940429] brd: module loaded
[ 0.947691] loop: module loaded
[ 0.952326] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 0.959778] CAN device driver interface
[ 0.964969] c_can_platform 481cc000.d_can: c_can_platform device registered (regs=fa1cc000, irq=68)
[ 0.974736] c_can_platform 481d0000.d_can: can't request region for resource [mem 0x44e10644-0x44e10647]
[ 0.984713] c_can_platform 481d0000.d_can: control memory is not used for raminit
[ 0.993278] c_can_platform 481d0000.d_can: c_can_platform device registered (regs=fa1d0000, irq=71)
[ 1.003454] PPP generic driver version 2.4.2
[ 1.008390] NET: Registered protocol family 24
[ 1.013464] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.020344] ehci-pci: EHCI PCI platform driver
[ 1.025196] ehci-omap: OMAP-EHCI Host Controller driver
[ 1.031054] usbcore: registered new interface driver cdc_acm
[ 1.037017] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 1.046570] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[ 1.054403] i2c /dev entries driver
[ 1.059732] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 1.068318] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
[ 1.075584] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
[ 1.114922] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3
[ 1.121964] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2
[ 1.161865] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 1.170766] edma-dma-engine edma-dma-engine.0: allocated channel for 0:13
[ 1.178013] edma-dma-engine edma-dma-engine.0: allocated channel for 0:12
[ 1.185240] mmc0: new high speed SD card at address 0002
[ 1.261549] mmcblk0: mmc0:0002 00000 1.83 GiB
[ 1.267502] mmcblk0: p1 p2
[ 1.295132] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.304888] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
[ 1.312114] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[ 1.319341] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[ 1.325495] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
[ 1.332579] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
[ 1.342780] oprofile: no performance counters
[ 1.347734] oprofile: using timer interrupt.
[ 1.352325] nf_conntrack version 0.5.0 (7956 buckets, 31824 max)
[ 1.359238] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.364979] TCP: cubic registered
[ 1.368454] Initializing XFRM netlink socket
[ 1.372949] NET: Registered protocol family 17
[ 1.377661] NET: Registered protocol family 15
[ 1.382414] Bridge firewalling registered
[ 1.386648] can: controller area network core (rev 20120528 abi 9)
[ 1.393180] NET: Registered protocol family 29
[ 1.397893] can: raw protocol (rev 20120528)
[ 1.402369] can: broadcast manager protocol (rev 20120528 t)
[ 1.408320] can: netlink gateway (rev 20130117) max_hops=1
[ 1.414124] 8021q: 802.1Q VLAN Support v1.8
[ 1.418576] Key type dns_resolver registered
[ 1.423580] cpu cpu0: cpu0 regulator not ready, retry
[ 1.428998] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
[ 1.437301] ThumbEE CPU extension supported.
[ 1.443036] wlan-en-regulator: disabling
[ 1.447266] regulator-dummy: disabling
[ 1.451576] omap-gpmc 50000000.gpmc: GPMC revision 6.0
[ 1.457009] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[ 1.464372] ONFI param page 0 valid
[ 1.468078] ONFI flash detected
[ 1.471377] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xdc (Micron MT29F4G08ABADAWP), 512MiB, page size: 2048, OOB size: 64
[ 1.483335] omap2-nand: detected x8 NAND flash
[ 1.488002] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
[ 1.493600] omap2-nand: using custom ecc layout
[ 1.498509] 16 ofpart partitions found on MTD device omap2-nand.0
[ 1.504923] Creating 16 MTD partitions on "omap2-nand.0":
[ 1.510590] 0x000000000000-0x000000020000 : "NAND.SPL"
[ 1.517405] 0x000000020000-0x000000040000 : "NAND.SPL.backup1"
[ 1.524696] 0x000000040000-0x000000060000 : "NAND.SPL.backup2"
[ 1.531912] 0x000000060000-0x000000080000 : "NAND.SPL.backup3"
[ 1.539177] 0x000000080000-0x0000000c0000 : "NAND.u-boot-spl-os"
[ 1.546722] 0x0000000c0000-0x0000001c0000 : "NAND.u-boot"
[ 1.554229] 0x0000001c0000-0x0000001e0000 : "NAND.u-boot-env"
[ 1.561425] 0x0000001e0000-0x000000200000 : "NAND.u-boot-env.backup1"
[ 1.569344] 0x000000200000-0x000000a00000 : "NAND.kernel"
[ 1.582650] 0x000000a00000-0x000000a40000 : "NAND.u-boot-spl-os.backup1"
[ 1.590977] 0x000000a40000-0x000000b40000 : "NAND.u-boot.backup1"
[ 1.599204] 0x000000b40000-0x000001340000 : "NAND.kernel.backup1"
[ 1.613159] 0x000001340000-0x00000f340000 : "NAND.file-system"
[ 1.803704] 0x00000f340000-0x00001d340000 : "NAND.file-system.backup1"
[ 1.995005] 0x00001d340000-0x00001ff40000 : "NAND.user"
[ 2.037564] 0x00001ff40000-0x000020000000 : "NAND.system"
[ 2.047500] DCDC1: at 1500 mV
[ 2.051610] vdd_mpu: 925 <--> 1375 mV at 1325 mV
[ 2.057413] vdd_core: 925 <--> 1150 mV at 1125 mV
[ 2.063229] LDO1: at 1800 mV
[ 2.067187] LDO2: at 3300 mV
[ 2.071592] LDO3: 1800 mV
[ 2.075253] LDO4: at 3300 mV
[ 2.078942] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[ 2.084970] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 2.092289] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 2.154524] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 2.160934] davinci_mdio 4a101000.mdio: detected phy mask ffffffee
[ 2.168516] libphy: 4a101000.mdio: probed
[ 2.172732] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
[ 2.181154] davinci_mdio 4a101000.mdio: phy[4]: device 4a101000.mdio:04, driver unknown
[ 2.190025] Missing dual_emac_res_vlan in DT.
[ 2.194631] Using 1 as Reserved VLAN for 0 slave
[ 2.199483] Missing dual_emac_res_vlan in DT.
[ 2.204047] Using 2 as Reserved VLAN for 1 slave
[ 2.208899] Detected MACID = c4:ed:ba:8a:eb:b0
[ 2.214533] cpsw: Detected MACID = c4:ed:ba:8a:eb:b2
[ 2.220901] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[ 2.232881] net eth0: initializing cpsw version 1.12 (0)
[ 2.241239] net eth0: phy found : id is : 0x221622
[ 2.250489] 8021q: adding VLAN 0 to HW filter on device eth0
[ 2.256804] net eth1: initializing cpsw version 1.12 (0)
[ 2.265092] net eth1: phy found : id is : 0x221622
[ 2.273332] 8021q: adding VLAN 0 to HW filter on device eth1
[ 4.235388] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
[ 4.254495] Sending DHCP requests ., OK
[ 4.274956] IP-Config: Got DHCP answer from 192.168.1.5, my address is 192.168.1.83
[ 4.285030] IP-Config: Complete:
[ 4.288431] device=eth0, hwaddr=c4:ed:ba:8a:eb:b0, ipaddr=192.168.1.83, mask=255.255.255.0, gw=192.168.1.26
[ 4.299131] host=192.168.1.83, domain=DATAMICRO.local, nis-domain=(none)
[ 4.306623] bootserver=0.0.0.0, rootserver=192.168.1.34, rootpath=
[ 4.313375] nameserver0=192.168.1.5
[ 4.328621] VFS: Mounted root (nfs filesystem) on device 0:14.
[ 4.335694] devtmpfs: mounted
[ 4.339211] Freeing unused kernel memory: 308K (c0620000 - c066d000)
INIT: version 2.88 booting
Error opening /dev/fb0: No such file or directory
Starting udev
[ 5.099975] udevd[719]: starting version 182
[ 5.952748] PM: CM3 Firmware Version = 0x186
[ 10.247904] EXT4-fs (mmcblk0p2): recovery complete
[ 10.252961] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 10.264295] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
ERROR: could not open directory /lib/modules/3.12.27: No such file or directory
WARNING: -e needs -E or -F
ERROR: could not open directory /lib/modules/3.12.27: No such file or directory
FATAL: could not search modules: No such file or directory
Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
bootlogd.
ALSA: Restoring mixer settings...
/usr/sbin/alsactl: load_state:1696: No soundcards found...
NOT configuring network interfaces: / is an NFS mount
Mon Mar 31 02:34:00 UTC 2014
INIT: Entering runlevel: 5
Starting system message bus: dbus.
UIM SYSFS Node Not Found
Starting Dropbear SSH server: dropbear.
Starting telnet daemon.
Starting syslogd/klogd: done
Starting thttpd.
Starting Lighttpd Web Server: lighttpd.
2014-03-31 02:34:01: (log.c.166) server started
/
Starting Matrix GUI application.
***************************************************************
***************************************************************
NOTICE: This file system contains the followin GPLv3 packages:
binutils-symlinks
binutils
gdbserver

If you do not wish to distribute GPLv3 components please remove
the above packages prior to distribution. This can be done using
the opkg remove command. i.e.:
opkg remove <package>
Where <package> is the name printed in the list above

NOTE: If the package is a dependency of another package you
will be notified of the dependent packages. You should
use the --force-removal-of-dependent-packages option to
also remove the dependent packages as well
***************************************************************
***************************************************************
Stopping Bootlog daemon: bootlogd.

_____ _____ _ _
| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
|___| |___|

Arago Project http://arago-project.org am335x-evm ttyO0

Arago 2013.12 am335x-evm ttyO0

am335x-evm login: root
root@am335x-evm:~# ip link set can1 up type can bitrate 1000000
[ 20.881417] c_can_platform 481d0000.d_can can1: setting BTR=7f00 BRPE=0000
root@am335x-evm:~# ifconfig
can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:71

eth0 Link encap:Ethernet HWaddr C4:ED:BA:8A:EB:B0
inet addr:192.168.1.83 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:23539 errors:0 dropped:5 overruns:0 frame:0
TX packets:12204 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25803112 (24.6 MiB) TX bytes:1898954 (1.8 MiB)
Interrupt:56

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

root@am335x-evm:~# top -d1 | grep sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
1368 1363 root S 1840 0% 0% grep sirq
CPU: 2% usr 2% sys 0% nic 94% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 1% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 96% idle 0% io 0% irq 2% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 96% idle 0% io 0% irq 2% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 1% sys 0% nic 96% idle 0% io 0% irq 1% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 2% sys 0% nic 96% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 96% idle 0% io 0% irq 2% sirq
CPU: 1% usr 1% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 2% usr 0% sys 0% nic 95% idle 0% io 0% irq 2% sirq
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 2% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 2% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 1% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 2% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 1% sys 0% nic 96% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 2% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 96% idle 0% io 0% irq 2% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 2% usr 0% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 96% idle 0% io 0% irq 3% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 1% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 1% sys 0% nic 96% idle 0% io 0% irq 1% sirq
CPU: 1% usr 1% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 1% sys 0% nic 95% idle 0% io 0% irq 2% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 2% sys 0% nic 94% idle 0% io 0% irq 3% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 1% usr 1% sys 0% nic 95% idle 0% io 0% irq 2% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 2% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 1% sys 0% nic 95% idle 0% io 0% irq 2% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 2% usr 0% sys 0% nic 96% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 2% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 1% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 96% idle 0% io 0% irq 3% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 1% sys 0% nic 95% idle 0% io 0% irq 2% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 2% usr 0% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
[ 207.376970] c_can_platform 481d0000.d_can can1: msg lost in buffer 16
[ 207.390650] c_can_platform 481d0000.d_can can1: msg lost in buffer 16
[ 207.404047] c_can_platform 481d0000.d_can can1: msg lost in buffer 16
[ 207.417871] c_can_platform 481d0000.d_can can1: msg lost in buffer 16
[ 207.431266] c_can_platform 481d0000.d_can can1: msg lost in buffer 16
[ 207.444622] c_can_platform 481d0000.d_can can1: msg lost in buffer 16
CPU: 3% usr 11% sys 0% nic 52% idle 0% io 0% irq 32% sirq
CPU: 3% usr 9% sys 0% nic 0% idle 0% io 0% irq 86% sirq
CPU: 1% usr 12% sys 0% nic 0% idle 0% io 0% irq 86% sirq
CPU: 1% usr 11% sys 0% nic 0% idle 0% io 0% irq 87% sirq
CPU: 3% usr 9% sys 0% nic 0% idle 0% io 0% irq 86% sirq
CPU: 3% usr 8% sys 0% nic 0% idle 0% io 0% irq 88% sirq
CPU: 2% usr 11% sys 0% nic 0% idle 0% io 0% irq 86% sirq
CPU: 5% usr 6% sys 0% nic 0% idle 0% io 0% irq 87% sirq
CPU: 2% usr 8% sys 0% nic 0% idle 0% io 0% irq 88% sirq
CPU: 3% usr 8% sys 0% nic 0% idle 0% io 0% irq 87% sirq
CPU: 3% usr 8% sys 0% nic 0% idle 0% io 0% irq 87% sirq
CPU: 4% usr 9% sys 0% nic 0% idle 0% io 0% irq 86% sirq
CPU: 2% usr 10% sys 0% nic 0% idle 0% io 0% irq 87% sirq
CPU: 3% usr 7% sys 0% nic 0% idle 0% io 0% irq 88% sirq
CPU: 3% usr 6% sys 0% nic 0% idle 0% io 0% irq 89% sirq
CPU: 4% usr 9% sys 0% nic 0% idle 0% io 0% irq 86% sirq
CPU: 3% usr 9% sys 0% nic 0% idle 0% io 0% irq 87% sirq
CPU: 2% usr 8% sys 0% nic 0% idle 0% io 0% irq 89% sirq
CPU: 3% usr 7% sys 0% nic 0% idle 0% io 0% irq 88% sirq
CPU: 1% usr 9% sys 0% nic 0% idle 0% io 0% irq 88% sirq
CPU: 3% usr 10% sys 0% nic 0% idle 0% io 0% irq 86% sirq
CPU: 4% usr 9% sys 0% nic 0% idle 0% io 0% irq 85% sirq
CPU: 5% usr 8% sys 0% nic 0% idle 0% io 0% irq 85% sirq
CPU: 2% usr 7% sys 0% nic 0% idle 0% io 0% irq 89% sirq
CPU: 1% usr 10% sys 0% nic 0% idle 0% io 0% irq 87% sirq
CPU: 4% usr 8% sys 0% nic 0% idle 0% io 0% irq 87% sirq
CPU: 3% usr 7% sys 0% nic 0% idle 0% io 0% irq 89% sirq
CPU: 2% usr 9% sys 0% nic 0% idle 0% io 0% irq 88% sirq
CPU: 0% usr 3% sys 0% nic 94% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 2% sirq
CPU: 0% usr 2% sys 0% nic 96% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 100% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 2% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 1% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 1% usr 1% sys 0% nic 97% idle 0% io 0% irq 0% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 1% usr 0% sys 0% nic 97% idle 0% io 0% irq 1% sirq
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
CPU: 0% usr 0% sys 0% nic 98% idle 0% io 0% irq 0% sirq
root@am335x-evm:~# ifconfig
can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:1478261 errors:6 dropped:0 overruns:0 frame:6
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:11826088 (11.2 MiB) TX bytes:0 (0.0 B)
Interrupt:71

eth0 Link encap:Ethernet HWaddr C4:ED:BA:8A:EB:B0
inet addr:192.168.1.83 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:24668 errors:0 dropped:29 overruns:0 frame:0
TX packets:12719 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25936097 (24.7 MiB) TX bytes:1974952 (1.8 MiB)
Interrupt:56

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

root@am335x-evm:~#

  • Hi Dimitry,

    Are you working with TI EVM board or custom board ?

    [ 0.959778] CAN device driver interface
    [ 0.964969] c_can_platform 481cc000.d_can: c_can_platform device registered (regs=fa1cc000, irq=68)
    [ 0.974736] c_can_platform 481d0000.d_can: can't request region for resource [mem 0x44e10644-0x44e10647]
    [ 0.984713] c_can_platform 481d0000.d_can: control memory is not used for raminit
    [ 0.993278] c_can_platform 481d0000.d_can: c_can_platform device registered (regs=fa1d0000, irq=71)

    Have you changed the D_CAN driver in linux ?

    Have you tried to increase the RAM size ?

    mem=1024M

  • Hello,

    Titusrathinaraj Stalin said:

    Are you working with TI EVM board or custom board ?

    I am using custom board based on AM3358 with 512 MB DDR3 of RAM.

    Titusrathinaraj Stalin said:

    Have you changed the D_CAN driver in linux ?

    I haven't changed D_CAN driver in Linux.

    This problem was in Linux 3.12.10 (from SDK 7.0) too.

    Titusrathinaraj Stalin said:

    Have you tried to increase the RAM size ?

    mem=1024M

    What type of memory do you mean ?
    Where is this setting changed ?
    Му board has only 512 MB of RAM.

    [ 0.959778] CAN device driver interface
    [ 0.964969] c_can_platform 481cc000.d_can: c_can_platform device registered (regs=fa1cc000, irq=68)
    [ 0.974736] c_can_platform 481d0000.d_can: can't request region for resource [mem 0x44e10644-0x44e10647]
    [ 0.984713] c_can_platform 481d0000.d_can: control memory is not used for raminit
    [ 0.993278] c_can_platform 481d0000.d_can: c_can_platform device registered (regs=fa1d0000, irq=71)

    What does the text in bold mean ?

  • Hello,

    [ 0.959778] CAN device driver interface
    [ 0.964969] c_can_platform 481cc000.d_can: c_can_platform device registered (regs=fa1cc000, irq=68)
    [ 0.974736] c_can_platform 481d0000.d_can: can't request region for resource [mem 0x44e10644-0x44e10647]
    [ 0.984713] c_can_platform 481d0000.d_can: control memory is not used for raminit
    [ 0.993278] c_can_platform 481d0000.d_can: c_can_platform device registered (regs=fa1d0000, irq=71)

    After apply two patches the message in bold is gone.

    But problem is still exist. After some time of normal operation, the driver DCAN began to lose CAN frames and load the CPU at about 85%.

    Patches:

    https://lkml.org/lkml/2014/8/8/732

    http://www.spinics.net/lists/stable/msg58928.html

    Logging:

    [ 0.959540] CAN device driver interface
    [ 0.964704] c_can_platform 481cc000.d_can: c_can_platform device registered (regs=fa1cc000, irq=68)
    [ 0.975163] c_can_platform 481d0000.d_can: c_can_platform device registered (regs=fa1d0000, irq=71)

  • I'm also seeing a similar sounding issue with 3.14.26 kernel (source from EZSDK 8). We see 90-99% CPU usage on sirqs when CAN is enabled, and when we do ifconfig can0 down, the CPU is immediately freed up.

    I haven't seen this issue on the old 3.2 kernel.
  • This may be related to: e2e.ti.com/.../1434940

    Try the workaround mentioned in the comments of that thread and see if your performance improves. It appears to have helped us.

    Here's the workaround:

    "We are still working on the correct solution. One suggestion to keep you going and not getting into the slow state, can you modify arch/arm/mach-omap2/cpuidle33xx.c and comment out the C1 state in am33xx_ddr3_states:

    // {
    // .exit_latency = 130,
    // .target_residency = 200,
    // .power_usage = 497,
    // .flags = CPUIDLE_FLAG_TIME_VALID | AM33XX_FLAG_MPU_PLL,
    // .enter = am33xx_enter_idle,
    // .name = "C1",
    // .desc = "Bypass MPU PLL",
    // },

    This will stop the slowdown but should still allow standby/resume."