PXA270 Random Hangs at Low Core Freq
Marek Vasut
marek.vasut at gmail.com
Thu Oct 21 20:22:36 EDT 2010
Dne Po 18. října 2010 19:38:49 Michael Cashwell napsal(a):
> Greetings,
>
> I've been fighting inexplicable hangs on two different PXA270 designs
> running various kernels since early 2.6.28.x. The first board was custom
> (and of dubious integrity) but I'm currently seeing it on Gumstix Verdex
> PROs running 2.6.35.7.
>
> At first I thought it was a problem with CPU-freq code itself hitting some
> unaddressed errata but I've eliminated that possibility. The hangs occur
> even if CPU-freq is disabled in the kernel config. All that's required in
> that case is for u-boot to run the kernel at a core frequency of 312MHz or
> lower. If it runs at 416MHz or higher no hangs occur. (With CPU-freq
> enabled the hangs only occur if speeds at or below 312MHz are allowed.
> With those commented out, no hangs.)
>
> At low core frequencies I can trigger the hang every time by copying a
> several-MB file to a uSD card via the MMC interface. The copy command
> completes but a few seconds later (while the background processes write to
> the card) the CPU hangs.** However, the issue is not specific to uSD/MMC.
> Another developer told me he has seen hangs while receiving data through a
> UART connected via I2C.
>
> The hangs are hard (rendering JTAG inoperable) and since I have no hardware
> with the Embedded Trace Module exposed I have no way to gather a trace of
> execution up to the freeze.
>
> I'd like to solve the problem since the lower speeds are more power
> efficient but I'm somewhat stuck regarding how to debug it. I'd like to
> know if it's something I'm doing wrong so my first step is to ask the
> ARM-Linux community if anyone else has run recent kernels on a PXA270
> system at core clock rates of 312MHz or less. (That's also a not so veiled
> plea for someone to perhaps do so if they have the hardware and a few
> spare cycles.)
Could it be memory-related ? Like, RAM crashes because of refresh speed or
something?
Cheers
>
> Thanks for any information.
> -Mike
>
> **: Here's a hang where I'd just started top while background threads were
> writing to the uSD card. top did its first pass and then everything froze.
> (Is the high rate of context switches and interrupts normal?)
>
> last pid: 389; load avg: 0.13, 0.05, 0.01; up 0+00:28:15
> 12:40:22 27 processes: 1 running, 24 sleeping, 2 uninterruptable
> CPU states: 0.0% user, 0.0% nice, 31.1% system, 13.6% idle, 55.3% iowait
> Kernel: 30832 ctxsw, 16262 intr
> Memory: 32M used, 92M free, 244K buffers, 27M cached
> Swap:
> This terminal can only display 16 processes
> PID USERNAME THR PRI NICE SIZE RES SHR STATE TIME CPU COMMAND
> 236 root 1 20 0 0K 0K 0K disk 0:00 28.43% mmcqd
> 389 root 1 20 0 2696K 804K 648K run 0:00 3.92% top
> 378 root 1 20 0 0K 0K 0K disk 0:00 1.96%
> flush-179:0 1 root 1 20 0 2784K 672K 588K sleep 0:00 0.00%
> init 119 root 1 20 0 0K 0K 0K sleep 0:00 0.00%
> rpciod/0 371 root 1 20 0 4208K 1592K 1340K sleep 0:00 0.00%
> sshd 369 root 1 20 0 2788K 716K 632K sleep 0:00 0.00% ash
> 4 root 1 20 0 0K 0K 0K sleep 0:00 0.00% events/0
> 128 root 1 20 0 0K 0K 0K sleep 0:00 0.00% nfsiod
> 251 root 1 20 0 2784K 460K 380K sleep 0:00 0.00% klogd 249
> root 1 20 0 2784K 464K 396K sleep 0:00 0.00% syslogd 5
> root 1 20 0 0K 0K 0K sleep 0:00 0.00% khelper 370
> root 1 20 0 2784K 440K 376K sleep 0:00 0.00% busybox 103
> root 1 20 0 0K 0K 0K sleep 0:00 0.00% kmmcd 2 root
> 1 20 0 0K 0K 0K sleep 0:00 0.00% kthreadd 3 root
> 1 20 0 0K 0K 0K sleep 0:00 0.00% ksoftirqd/0
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list