I update OPNsense to 24.7.8,igc driver miss value

Started by peterchan9, November 20, 2024, 05:37:00 AM

Previous topic - Next topic
miss value:
hw.igc.rx_int_delay
hw.igc.rx_abs_int_delay
hw.igc.tx_int_delay
hw.igc.tx_abs_int_delay
https://man.freebsd.org/cgi/man.cgi?query=igc

now
root@OPNsense:~ # sysctl -a | grep hw.igc
hw.igc.max_interrupt_rate: 8000
hw.igc.enable_aim: 0
hw.igc.eee_setting: 1
hw.igc.sbp: 1
hw.igc.smart_pwr_down: 0
hw.igc.disable_crc_stripping: 0


how to restore old driver?


In the past i have always put txintdelay to 0,gaming delay respond is fast. but new igc driver respond too bad very slow. I'm looking to roll back the old driver.  :'(

Just install the old kernel?

# opnsense-update -kr 24.7.6

What card are you using?


Cheers,
Franco


thank for help. now i restore old kernel to fix it.

I have forwarded this report to the author of the patch.


Cheers,
Franco

So Kevin and we were speculating if you actually think the sysctl works with the older version lowering your latency (against the specification from Intel)?


Cheers,
Franco

December 04, 2024, 08:39:14 PM #8 Last Edit: December 04, 2024, 08:44:24 PM by peterchan9
sorry for the late reply, I'm a over 10 years League of Legends gaming user, I've used different nic and routers, I've found that there is a difference in latency and jitter,  Ping doesn't reflect the real response time of the game, so I build a pc to install opensense. all the settings are designed to get a lower latency.

in my case i put txintdelay to 0 is work, compared to the default value(txintdelay 66),  effect is very obvious. The default setting latency is very high (I don't mean ping, I mean real response time).  I tested a long time. if put txintdelay to 0,old igc driver latency is better than new driver. i hope the old feature will available on the new driver.

my opnsense spec:
cpu:i5 3470
ram:2x8g ddr3 1600
sata ssd:128g
nic:i225-v x4 pcie 2.0x4  (nvm 1.94)
no gpu and disable onboard nic

my opnsense setting(kernel 24.7.6)

net.isr.bindthreads="1"
hw.igc.rx_int_delay="0"
hw.igc.tx_int_delay="0"
hw.igc.rx_abs_int_delay="0"
hw.igc.tx_abs_int_delay="0"
dev.igc.0.iflib.override_nrxds="4096"
dev.igc.1.iflib.override_nrxds="4096"
dev.igc.2.iflib.override_nrxds="4096"
dev.igc.3.iflib.override_nrxds="4096"
dev.igc.0.iflib.override_ntxds="4096"
dev.igc.1.iflib.override_ntxds="4096"
dev.igc.2.iflib.override_ntxds="4096"
dev.igc.3.iflib.override_ntxds="4096"
dev.igc.0.iflib.override_nrxqs="1"
dev.igc.1.iflib.override_nrxqs="1"
dev.igc.2.iflib.override_nrxqs="1"
dev.igc.3.iflib.override_nrxqs="1"
dev.igc.0.iflib.override_ntxqs="1"
dev.igc.1.iflib.override_ntxqs="1"
dev.igc.2.iflib.override_ntxqs="1"
dev.igc.3.iflib.override_ntxqs="1"
dev.igc.0.fc="0"
dev.igc.0.itr="0"
dev.igc.1.fc="0"
dev.igc.1.itr="0"
dev.igc.2.fc="0"
dev.igc.2.itr="0"
dev.igc.3.fc="0"
dev.igc.3.itr="0"

disable checksum offload,TSO and LRO.

Hi,

With the newer kernel Kevin the author of the change said to try this instead:

hw.igc.max_interrupt_rate=20000
hw.igc.enable_aim=0

Does that help your case?


Cheers,
Franco