Well, a big note, that I managed to forget, the SD card is vfat formated, the harddisk is an ext3 filesystem mounted by tomato with this options (rw,nodev,noatime,data=ordered).
I don't know what could differ, I donwloaded the git branch tomato-RT-jyavenard which is based in Toastman-RT when trying to debug the shell "ug" bug and compiled my own adding some debug options to the kernel:
I don't think they are related to your speed problem. The problem with top is that is misleading, in the dd write test to SD I have:
CPU: 0% usr 8% sys 0% nic 0% idle 88% io 0% irq 0% sirq
PID PPID USER STAT VSZ %MEM %CPU COMMAND
6598 30062 root D 1716 1% 7% dd if /dev/zero of dd.zero bs 8k count 64000
419 2 root DW< 0 0% 1% [usb-storage]
51 2 root SW 0 0% 1% [pdflush]
It means, that the cpu is ~8% used (all system/kernel time), and the remaining free time of the cpu is spent waiting for I/O (~88%) (I know they don't add up to 100%). Would I have installed a program like seti@home or similar that were cpu intensive but didn't access often to disks this 88% of cpu time would have been devoted to number crunching, iowait is idle cpu time that no other process has managed to use (but that could have been used).
I know that ntfs-3g is very cpu intensive perhaps trying with a simpler filesystem like vfat or with a native one like ext3 may change results.
And I think the first post from @Christian shows a different problem, he has a high softirq usage (network related), and he has two bcrelay daemons running, I don't have anyone, perhaps he is using a VPN and having a broadcast storm. I don't know, but there seems to be a different problem.