OPNsense Forum

English Forums => Hardware and Performance => Topic started by: peterchan9 on November 20, 2024, 05:37:00 AM

Title: I update OPNsense to 24.7.8,igc driver miss value
Post by: peterchan9 on November 20, 2024, 05:37:00 AM
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?
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: franco on November 20, 2024, 07:59:42 AM
https://github.com/opnsense/src/commit/82ec23b1ccc9
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: peterchan9 on November 20, 2024, 08:51:11 AM
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.  :'(
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: franco on November 20, 2024, 11:35:06 AM
Just install the old kernel?

# opnsense-update -kr 24.7.6

What card are you using?


Cheers,
Franco
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: peterchan9 on November 20, 2024, 04:13:17 PM
intel i225-v x4
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: peterchan9 on November 20, 2024, 04:23:39 PM
thank for help. now i restore old kernel to fix it.
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: franco on November 20, 2024, 05:03:12 PM
I have forwarded this report to the author of the patch.


Cheers,
Franco
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: franco on November 25, 2024, 12:22:57 PM
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
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: peterchan9 on December 04, 2024, 08:39:14 PM
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.
Title: Re: I update OPNsense to 24.7.8,igc driver miss value
Post by: franco on December 11, 2024, 09:31:07 AM
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