em performs worse than igb (latency wise) in 12?

Kris von Mach mach at swishmail.com
Fri Apr 5 15:08:27 UTC 2019


Hello,

I've upgraded from Stable 11 to Stable 12, and noticed that igb has been 
removed and is now part of em driver. However, the performance seems a 
lot worse. This is using HP 366FLR which is just HP's version of Intel 
i350 I believe.

I've tried incorporating the sysctl settings I used in 11 into 12:

dev.igb.0.fc=0
dev.igb.0.iflib.rx_budget=65535
hw.igb.rx_process_limit="-1"
hw.igb.num_queues="2"
hw.igb.rxd="2048"  # (default 1024)
hw.igb.txd="2048"  # (default 1024)
hw.igb.max_interrupt_rate="32000" # (default 8000)

hw.em.rx_process_limit="-1"
hw.em.num_queues="2"
hw.em.rxd="2048"  # (default 1024)
hw.em.txd="2048"  # (default 1024)
hw.em.max_interrupt_rate="32000"

But that didn't seem to help.

Switching back to 11, of course restored the performance.

The performance hit I'm talking about seems to be with latency, not 
throughput.

To give you an example, this server is serving a website that is 
monitored from different locations and all locations the latency has 
increased by about 30-50% using stable 12.

Any ideas as to how to improve latency in 12? Can you compile igb driver 
in 12? Has something else other than the network driver changed in 12 
that could cause an increase in latency?






More information about the freebsd-stable mailing list