On Thursday, December 11, 2014 7:35:39 AM UTC-5, Julian Gold wrote: > > On both B and C revisions of Beaglebone black, our application (running > under either the shipped Angstrom or Debian distros) locks up after random > amounts of time. The debug port reports the following problems: > > [ 752.038977] BUG: soft lockup - CPU#0 stuck for 22s! [kworker/0:1:15] > [ 752.063631] BUG: scheduling while atomic: kworker/0:1/15/0x40010100 > [ 754.935632] Kernel panic - not syncing: softlockup: hung tasks > [ 754.946347] [<c0010443>] (unwind_backtrace+0x1/0x8a) from [<c0455ced>] > (panic > +0x51/0x148) > [ 754.960814] [<c0455ced>] (panic+0x51/0x148) from [<c00678df>] > (watchdog_timer > _fn+0xc3/0xf8) > This is a watchdog non-maskable interrupt (NMI). The kernel needs to write a fixed pattern to a hardware register once in a while to prevent the interrupt. If it does not, the Watchdog Timer (WDT) will count down and an interrupt will automatically occur. It's used as a last effort to recover from a cpu lockup. My guess from the stack trace is the CPU is handling so many interrupts from the USB drivers that the watchdog is not serviced. I've seen a similar issue on a IEEE80211/usb driver. Don't expect high-performance computing from a $50 card.
Possible solutions (recognizing I know nothing about FTDI) 1) The best is to squelch the traffic flow, thus reducing the interrupts. Review the amount of traffic on the FTDI interface and see if some can be dropped or filtered before hitting the interface. Or program the FTDI chip to filter before sending through the USB interface. If still a problem, modify the driver to discard some types of FTDI packets. 2) Change to a more powerful CPU. The multicore TI offerings (e.g. Pandaboard has an dual-core Cortex-A9, the forthcoming BBB X15 has a dual-core A15 I think, TI Keystone line) should do the trick. But almost everything on that level is $$$$ compared to the BBB. If you try to change the interrupt priorities or disable the WDT you'll just be moving the problem to another logical area. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
