Strange CPU distributionat very high level bandwidth

Invernizzi Fabrizio fabrizio.invernizzi at
Fri Aug 21 08:15:55 UTC 2009

Thanks for your suggestion.

I hope to have time to do some tests on 8.0  and send some result on the ML next week.

Telecom Italia
Technology - TILAB
Accesso Fisso e Trasporto
Via Reiss Romoli, 274 10148 Torino
Tel.  +39 011 2285497
Mob. +39 3316001344
Fax +39 06 41867287

> -----Original Message-----
> From: owner-freebsd-performance at
> [mailto:owner-freebsd-performance at] On Behalf Of Ivan Voras
> Sent: venerdì 21 agosto 2009 1.14
> To: freebsd-performance at
> Subject: Re: Strange CPU distributionat very high level bandwidth
> Invernizzi Fabrizio wrote:
> > Hi all
> >
> > i am going on with some performance tests on a 10gbe
> network card with FreeBSD.
> >
> > I am doing this test: I send UDP traffic to be forwarded to
> the other port of the card on both the card ports.
> > Using 1492-long packets i am uppering the number  of
> packets per second i sent In order to see wich is the maximum
> bandwidth (or pps) the system can support without losses.
> >
> > The limit seems to be about 1890Mbps per port (3870 Mbps total).
> > Looking more in deep the CPU behaviour i see this :
> >   - uppering the sent pps results in uppering the
> intterrupt time (about 90%)
> >   - when i am very strict to the limit, interrupt time
> falls to about
> > 10% and CPU is always (85%) in system (rx/tx driver procedure)
> >
> > Questions:
> > - Is not the AIM intended to contrast this behaviour to limit
> > interrupts sent to CPU? (nothing changes if i disable it)
> > - Why does the system start loosing pkts in that condition?
> > - Why does the system seem to perform better when it is
> managing more context switches?
> >
> > - FreeBSD 7.2-RELEASE (64 bit)
> One idea for you, not directly tied to forwarding as is but
> to the recent development of multithreaded packet acceptance
> code, is to use 8.x (currently in BETA so usual precautions
> about debugging being enabled apply) and then play with
> netisr and worker thread settings.
> See the source here:
> and the comments starting at "Three direct dispatch policies
> are supported".
> The code is experimental and thus disabled in 8.0 unless a
> combination of the following loader tunables are set:
> net.isr.direct_force
> net.isr.maxthreads
> net.isr.bindthreads
> I think you can start simply by turning off
> net.isr.direct_force and then start increasing
> net.isr.maxthreads until the benefits (if any) go away. Since
> it is experimental code, your benchmarks would be nice to have.

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.

More information about the freebsd-performance mailing list