Adding a tuneable ?

Started by hushcoden, June 03, 2023, 05:00:23 PM

Previous topic - Next topic
I'm testing the RSS with i225 (igc) and before enabling that the net.inet.rss.bits value was 2 (it's a 4-core/4-thread CPU), but after enabling RSS the net.inet.rss.bits was set to '3', how come?

And should I leave it to 3 or should I add a tunable and set net.inet.rss.bits=2 ?

Tia.

Hard to say why it changed. But refferencing the OPNsense Guide

https://docs.opnsense.org/troubleshooting/performance.html


Furthermore, the RSS implementation also provides a few necessary sysctls:

    net.inet.rss.enabled = 1

Makes sure RSS is enabled. This is disabled by default to prevent regressions on NICs that do not properly implement the RSS interface.

    net.inet.rss.bits = X

This one is dependent on the amount of cores you have. By default the amount of bits here represent the amount of cores x 2 in binary. This is done on purpose to provide load-balancing, though there is no current implementation for this so we recommend setting this value to the amount of bits representing the number of CPU cores. This means we use the following values:

    for 4-core systems, use '2'

    for 8-core systems, use '3'

    for 16-core systems, use '4'

    Etc.
Networking is love. You may hate it, but in the end, you always come back to it.

OPNSense HW
APU2D2 - deceased
N5105 - i226-V | Patriot 2x8G 3200 DDR4 | L 790 512G - VM HA(SOON)
N100   - i226-V | Crucial 16G  4800 DDR5 | S 980 500G - PROD

Thanks, so I added the tunable net.inet.rss.bits=2