I have tested mcf54455 fei performance on m54455evb + linuxBsp using netperf-2.4.4.tar.gz. I used a ethernet cable connect linux pc to m54455evb ,so no other net devices can affect test result.test result here:
1. M54455EVB(server)<-->M54455EVB(client)(on single machine): 83Mbits/s.
(on single machine ,first execute netserver,and then execute netperf -H 127.0.0.1)
2. M54455EVB(server,192.100.185.183)<-->linux pc (client,192.100.185.185): 23Mbits/s.
(run netserver on m5445evb,run netperf -H 192.100.185.183 on pc linux)
3. M54455EVB(client,192.100.185.183)<-->linux pc(server,192.100.185.185): 12Mbits/s.
(run netserver on linux pc,run netperf -H 192.100.185.185 on m54455evb)
But,I run netperf -H 192.100.185.185 on AT91RM9200+Linux2.6,the result is 60Mbit/s. AT91RM9200 run on 180Mhz(200mips),mcf5445x run on 266mhz(410mips).
I have update the patch (2008/08/08 )
Can you tell me why?
Please forgive my pool english.
my result is(cpu:200mhz,memory:64m bytes):
top:
top - 00:30:01 up 30 min, 0 users, load average: 0.04, 0.01, 0.00
Tasks: 20 total, 1 running, 19 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.7%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 99.3%hi, 0.0%si, 0.0%
st
Mem: 62568k total, 7320k used, 55248k free, 0k buffers
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
364 0 20 0 3200 864 592 S 5.3 1.4 0:01.13 netperf
vmstat:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 55320 0 4184 0 0 0 0 469 334 1 99 0 0
I have worse result.
M54455EVB <--> M54455EVB 28. 71 10^6 bps
M54455EVB netserver <--> PC Suse Linux 2.6.28 netperf 9.45 10^6 bps
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to localhost (127.0.0.1) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.02 28.71
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.0.0.110 (10.0.0.110) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.10 9.45
Can you get a measurement of cpu load under these test conditions? I too have run tests with netperf on the mcf54455 evb and from what I can see, netperf consumes virtually all the cpu resource. Furthermore, if I run a UDP test with netperf (or netcat) user space is totally starved such that the console is completely unresponsive. This really shouldn't be the case. Interestingly, running top from the procps package in ltib indicates that even when idling, cpu resource is at ~ 99% but this time seems to be spent doing hw interrupts:
top indicates: top - 00:08:13 up 8 min, 1 user, load average: 0.00, 0.02, 0.00 Tasks: 24 total, 1 running, 23 sleeping, 0 stopped, 0 zombie Cpu(s): 0.8%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 99.2%hi, 0.0%si, 0.0%st Mem: 255320k total, 7736k used, 247584k free, 0k buffers Swap: 0k total, 0k used, 0k free, 4280k cached vmstat indicates: procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 2 0 0 247304 0 4280 0 0 0 0 153 210 1 99 0 0
Can you confirm if this is the same for you?