A10S loadavg >= 1 when cpu is idle

Started by fitmik, December 15, 2013, 06:56:18 PM

Previous topic - Next topic

fitmik

Hello,

I just noticed that my a10s board with the Olimex debian image was running at a load of 1 while idling:


root@A10s:~# top

top - 18:48:33 up  1:26,  1 user,  load average: 1,00, 1,01, 0,99
Tasks:  48 total,   1 running,  47 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,0 us,  0,7 sy,  0,0 ni, 99,3 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:    331392 total,   119752 used,   211640 free,    15896 buffers
KiB Swap:        0 total,        0 used,        0 free,    86252 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                               
1801 root      20   0  8692 2888 2244 S   0,3  0,9   0:10.06 sshd                                                   
2196 root      20   0  4220 1264  880 R   0,3  0,4   0:15.99 top                                                   
    1 root      20   0  1684  624  520 S   0,0  0,2   0:02.49 init                                                   
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kthreadd                                               
    3 root      20   0     0    0    0 S   0,0  0,0   0:00.00 ksoftirqd/0                                           
    4 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kworker/0:0                                           
    5 root      20   0     0    0    0 S   0,0  0,0   0:00.25 kworker/u:0                                           
    6 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 cpuset                                                 
    7 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 khelper                                               
    8 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kdevtmpfs                                             
    9 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 netns                                                 
   10 root      20   0     0    0    0 S   0,0  0,0   0:00.01 sync_supers                                           
   11 root      20   0     0    0    0 S   0,0  0,0   0:00.00 bdi-default                                           
   12 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kintegrityd                                           
   13 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kblockd                                               
   14 root      20   0     0    0    0 S   0,0  0,0   0:00.00 khubd                                                 
   15 root      20   0     0    0    0 S   0,0  0,0   0:02.35 kworker/0:1                                           
   16 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 cfg80211                                               
   17 root      20   0     0    0    0 D   0,0  0,0   0:00.84 usb-hardware-sc                                       
   18 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 rpciod                                                 
   19 root      20   0     0    0    0 S   0,0  0,0   0:00.00 khungtaskd                                             



I saw that the a20 had this problem too.

fitmik



Here is a quick how to fix this yourself:

git clone git://github.com/linux-sunxi/sunxi-tools.git
cd sunxi-tools/
make fex2bin

Then retrieve the original script_a10_lime_HDMI.fex from your sdcard and copy it.

vi script_a10_lime_HDMI.fex

I use this setup on the buggy USB port (thanks to Xfer) :

[usbc0]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio = port:PH04
usb_det_vbus_gpio = port:PH05
usb_drv_vbus_gpio = port:PB09
usb_host_init_state = 1
usb_restric_flag = 0

"which keeps the low load (low ksoftirq cpu usage) AND keeps OTG port (mini-USB) working both with USB 1.1 and with USB 2.0 devices, if only in Host mode (which is the most useful anyway)." Xfer

Then you convert it back to script bin.

./fex2bin -v script_a10_lime_HDMI.fex script.bin

And you copy it back to the root of your sdcard.

This should be the default until an official fix is found imho.