Test on 10GBE Intel based network card

Invernizzi Fabrizio fabrizio.invernizzi at telecomitalia.it
Wed Aug 5 09:04:24 UTC 2009


Hi Jack,

Now I have upgraded the driver to 1.8.6 (official intel last release), but no better performance. I am about to test with the settings your are suggesting.

Using the same configuation i used before, i see a reduction on interrupts (from 1 for 14 packets in 1.7.6 to 1 for 40 packets in 1.8.6). This leades to a 5% to 10%  of free CPU, but no higer packet rate.
I tried working with the AIM settings, but no luck.

Where can i download your 1.8.8 driver version?

Fabrizio


________________________________
From: Jack Vogel [mailto:jfvogel at gmail.com]
Sent: martedì 4 agosto 2009 18.42
To: Julian Elischer
Cc: Invernizzi Fabrizio; freebsd-performance at freebsd.org; Stefan Lambrev
Subject: Re: Test on 10GBE Intel based network card

Your nmbclusters is very low, you list it twice so I'm assuming the second value is
what it ends up being, 32K :(

I would set it to:

kern.ipc.nmbclusters=262144

Also, I thought you were using the current driver, but now it looks like you are
using something fairly old,  use my latest code which is 1.8.8

Jack


On Tue, Aug 4, 2009 at 9:17 AM, Julian Elischer <julian at elischer.org<mailto:julian at elischer.org>> wrote:
Invernizzi Fabrizio wrote:
The limitation that you see is about the max number of packets that
FreeBSD can handle - it looks like your best performance is reached at
64 byte packets?
If you are meaning in term of Packet per second, you are right. These
are the packet per second measured during tests:
64 byte:        610119 Pps
512 byte:       516917 Pps
1492 byte:      464962 Pps


Am I correct that the maximum you can reach is around 639,000 packets
per second?
Yes, as you can see the maximum is 610119 Pps.
Where does this limit come from?
ah that's the whole point of tuning :-)
there are severalpossibities:
1/ the card's interrupts are probably attache dto aonly 1 cpu,
so that cpu can do no more work

This seems not to be the problem. See below a top snapshot during a 64byte-long packet storm

last pid:  8552;  load averages:  0.40,  0.09,  0.03                                                                                         up 0+20:36:58  09:40:29
124 processes: 13 running, 73 sleeping, 38 waiting
CPU:  0.0% user,  0.0% nice, 86.3% system, 12.3% interrupt,  1.5% idle
Mem: 13M Active, 329M Inact, 372M Wired, 68K Cache, 399M Buf, 7207M Free
Swap: 2048M Total, 2048M Free

 PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  11 root          1 171 ki31     0K    16K RUN    3  20.2H 51.17% idle: cpu3
  14 root          1 171 ki31     0K    16K RUN    0  20.2H 50.88% idle: cpu0
  12 root          1 171 ki31     0K    16K RUN    2  20.2H 50.49% idle: cpu2
  13 root          1 171 ki31     0K    16K RUN    1  20.2H 50.10% idle: cpu1
  42 root          1 -68    -     0K    16K RUN    1  14:20 36.47% ix0 rxq
  38 root          1 -68    -     0K    16K CPU0   0  14:15 36.08% ix0 rxq
  44 root          1 -68    -     0K    16K CPU2   2  14:08 34.47% ix0 rxq
  40 root          1 -68    -     0K    16K CPU3   3  13:42 32.37% ix0 rxq
....

It looks like the 4 rxq processes are bound to the 4 available cores with equal distribution.



2/ if more than 1 cpu is working, it may be that there is a lock in
heavy contention somewhere.

This I think is the problem. I am trying to understand how to
1- see where the heavy contention is (context switching? Some limiting setting?)
2- mitigate it



there ia a lock profiling tool that right now I can't remember the name of..

look it up with google :-)  FreeBSD lock profiling tool

ah, first hit...

http://blogs.epfl.ch/article/23832



is the machine still responsive to other networks while
running at maximum capacity on this network? (make sure that
the other networks are on a differnet CPU (hmm I can't remember how to
do that :-).



Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie.

This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks.

_______________________________________________
freebsd-performance at freebsd.org<mailto:freebsd-performance at freebsd.org> mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-performance
To unsubscribe, send any mail to "freebsd-performance-unsubscribe at freebsd.org<mailto:freebsd-performance-unsubscribe at freebsd.org>"

Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie.

This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks.

[cid:00000000000000000000000000000001 at TI.Disclaimer]Rispetta l'ambiente. Non stampare questa mail se non è necessario.



More information about the freebsd-performance mailing list