Packet passing performance study on exotic hardware.

David Gilbert dgilbert at
Fri Oct 8 09:13:39 PDT 2004

>>>>> "Guy" == Guy Helmer <ghelmer at> writes:

Guy> The fixed bug in the em driver for BETA7 may significantly help
Guy> (see Scott Long's response prior to mine).

As I replied, I hand-applied these patches.  They reduced live lock
(or what my tech calls "chunkyness" --- almost live lock), but they
didn't increase performance.

Guy> If you try BETA7 without polling but with SMP, do you get better
Guy> results if you increase hw.em0.rx_int_delay and
Guy> hw.em1.rx_int_delay above 0?

These had little effect.  tx_int_delay had some small effect.
rx_int_delay didn't seem to affect things ... or was slightly negative
in effect above 0.  Tried various values as high as 1000 for these
parameters.  Tried values like 1,2,5,10,25,64, etc.  No substantial

Guy> Have you set sysctls kern.random.sys.harvest.ethernet=0 and
Guy> kern.random.sys.harvest.interrupt=0?

I did not.  We will try those next week.

Guy> I don't know if it will have any effect in your situation, but
Guy> have you increased net.inet.ip.intr_queue_maxlen?

No.  We did increase a number of queues.  According to the net.isr
code, almost no packets were being queued.  I gather this means
they're being delivered to destination by the thread that picks them


|David Gilbert, Independent Contractor.       | Two things can only be     |
|Mail:       dave at                    |  equal if and only if they |
|                              |   are precisely opposite.  |

More information about the freebsd-current mailing list