[netperf-talk] global question concerning Netperf test and SMP support

Rick Jones rick.jones2 at hp.com
Thu Mar 29 11:43:10 PDT 2012


On 03/29/2012 01:01 AM, Simon Duboue wrote:
> Hello everyone,
>
> I am quite new in the Netperf community but I follow actively this talk.
>
> I'm using netperf 2.4 to test a multi core platform with a 10G NIC.
> I have a host which is based on a 8 cores SoC and with a Linux SMP 3.0
> and a client based on a dual core motherboard with a Suse 11.
>
> First, I have a question concerning the test of the loopback local
> interface (lo):
> -how could we interpret the results provided by Netperf in term of
> throughput? is it limiting for the rest of the test concerning the network?

Tests against lo are only that - tests against lo.  I never can recall 
exactly where the looping-back takes place, but I know it includes no 
driver path.  I would consider it merely a measure of CPU performance. 
I suppose if loopback didn't do more than say 5 Gbit you wouldn't expect 
to get > 5 Gbit with a "real" NIC, but seeing say 24 Gbit/s does not 
guarantee one will get 10 Gbit/s through a 10GbE NIC.

> Then concerning the network test itself, I get a maximal throughput of 4
> Gbits/s with a unidirectional UDP STREAM test from client to host.
> I am waiting more than that (8-9 GBit/s) and I am asking what could be
> limiting. I am already performing Jumbo frames and I suppose that Linux
> kernel are auto tuned concerning buffer and socket. I try to tune Linux
> by increasing the max buffer size but the effects are quite limited. I
> also modify timestamps, arp filtering and once again the effects are
> limited.

I'm not sure that UDP sockets get autotuned.  They are what they are, 
and what netperf reports will be what they are.  What message size are 
you sending?

You should look at per-CPU utilization, and the udp statistics in 
netstat -s output - particularly on the receiver.  For completeness you 
should also look at the ethtool -S statistics for the interfaces on 
either side.

> In TCP STREAM test, I also run two tests: a standard TCP STREAM and a
> standard TCP MAERTS and the results are very different with a 10x ratio
> for the TCP MAERTS. How is it possible?

In addition to repeating the things to check from above, Please provide 
the specific command lines being used.

> The last question concerns the implementation of TCPIP stack in Linux
> kernel. Does it fully perform SMP or does TCPIP stack is reserved to a
> defined core.

Based on how I interpret your question, the TCP/IP stack is fully SMP. 
However...  a single "flow" (eg TCP connection) will not make use of the 
services of more than one or possibly two CPUs on either end.  One 
unless one binds the netperf/netserver to a CPU other than the one 
taking interrupts from the NIC.

happy benchmarking,

rick jones

>
> I hope being clear. If not, please consider these mistakes as beginner
> ones.
>
> Thank you in advance.
>
> Simon Duboué<www.ces.ch>
>
>
>
> _______________________________________________
> netperf-talk mailing list
> netperf-talk at netperf.org
> http://www.netperf.org/cgi-bin/mailman/listinfo/netperf-talk



More information about the netperf-talk mailing list