why should i use RSS ?UFO_Pilot wrote: ↑21 Aug 2024, 19:32I'm sorry for my confusion, what don't you use RSS or the realtek nic?JimCarry wrote: ↑21 Aug 2024, 17:20what should i disable in bios i dont get it ?i have on board realtek nic.
How to correctly set Receive Side Scaling (RSS)
Re: How to correctly set Receive Side Scaling (RSS)
Re: How to correctly set Receive Side Scaling (RSS)
tldr By default Windows uses core 0 and core 1 to process almost everything incluiding network processing.
RSS supposedly is more efficient and allows you to pick less used cores on your cpu and some other improvements.
https://learn.microsoft.com/en-us/windo ... de-scaling
Re: How to correctly set Receive Side Scaling (RSS)
I played for a couple of days, with taskoffload off and different rss settings. so far taskoffload off seems better to me.UFO_Pilot wrote: ↑22 Aug 2024, 02:25tldr By default Windows uses core 0 and core 1 to process almost everything incluiding network processing.
RSS supposedly is more efficient and allows you to pick less used cores on your cpu and some other improvements.
https://learn.microsoft.com/en-us/windo ... de-scaling
tested on i226 internal and rtl8125 external.
Before I didn’t know about taskload and turned off RSS and all available offload nic, it was an i219 controller. Perhaps when 1 core is used for the controller and there is no transfer between cores, the feeling is better, I don’t know.
At that time, I removed the game from core 0 and tied my gpu and usb to different cores, so the core on which the i219 worked was free.
Re: How to correctly set Receive Side Scaling (RSS)
yes, but i think it not depends on taskoffload, disable rss have same feel.
try script from this thread. and test offload on/off.
also, change mtu and rss base from script first.
Re: How to correctly set Receive Side Scaling (RSS)
Where exactly would I edit or add this registry file for "ReceiveScalingMode"?MatrixQW wrote: ↑20 Aug 2024, 08:11"The Intel® Ethernet Connection 82579, I217, I218, and I219 Network Adapters do not support Message Signaled Interrupts (MSI-X), multiple receive queues are thus handled by a single CPU core.UFO_Pilot wrote: ↑18 Aug 2024, 21:03Sorry I misstyped that, enabled would be
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
DisableTaskOffload 0
I'm wondering about this because on this current setup I wanted to use this RSS optimization but can't use TaskOffloads enabled, it's fine for browsing but for games and mostly in CPU bound games oddly it messes with the gameplay pacing games feel slowed down like something is blottlenecking.
This motherboard comes with Intel I219-V network card, on the first years I remember after installing the drivers on advanced tab of network settings there would be an option for enabling RSS but with the latest drivers that option is no longer there.
If I force it and do it from registry a entry shows up in the network card advanced tab as "no description"
This prevents the use of these network connections in SMB-Multichannel configurations."
Intel dropped RSS support in their drivers, you need to add the registry keys manually.
I think if you set RSS queues = 1 you should be able to use it.
: Check Anonymous's 09-27-2023 comment. If after adding the keys it still doesn't work, check if you have that key "ReceiveScalingMode" and maybe remove it or set it to 0. I don't have that key.
Here are my keys in screenshots and a zip with a reg file you can edit, in case you missed something:
I have a Realtek gaming 2.5 GbE family controller (RTL8125BG) onboard NIC and I'm at my wits end with this thing. I have the latest drivers from Realtek, RSS enabled and all that, but my indirection table is still blank when I input Get-NetAdapterRss into powershell. My RssProcessorArray populates just fine, but my indirection table is blank no matter what, I've tried the older Asrock drivers as well from my motherboard, z90 steel legend.
RSS is enabled in the advanced NIC driver settings. I'm at a loss here. I've read that if the indirection table is not populating it usually means that RSS is not configured correctly. Any help would be greatly appreciated.
Re: How to correctly set Receive Side Scaling (RSS)
i know its old but did you see in the cmd if rss is enabled or disabled,also disabletaskoffload 0 or 1 ?op2mus wrote: ↑19 Dec 2024, 03:11Where exactly would I edit or add this registry file for "ReceiveScalingMode"?MatrixQW wrote: ↑20 Aug 2024, 08:11"The Intel® Ethernet Connection 82579, I217, I218, and I219 Network Adapters do not support Message Signaled Interrupts (MSI-X), multiple receive queues are thus handled by a single CPU core.UFO_Pilot wrote: ↑18 Aug 2024, 21:03Sorry I misstyped that, enabled would be
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
DisableTaskOffload 0
I'm wondering about this because on this current setup I wanted to use this RSS optimization but can't use TaskOffloads enabled, it's fine for browsing but for games and mostly in CPU bound games oddly it messes with the gameplay pacing games feel slowed down like something is blottlenecking.
This motherboard comes with Intel I219-V network card, on the first years I remember after installing the drivers on advanced tab of network settings there would be an option for enabling RSS but with the latest drivers that option is no longer there.
If I force it and do it from registry a entry shows up in the network card advanced tab as "no description"
This prevents the use of these network connections in SMB-Multichannel configurations."
Intel dropped RSS support in their drivers, you need to add the registry keys manually.
I think if you set RSS queues = 1 you should be able to use it.
: Check Anonymous's 09-27-2023 comment. If after adding the keys it still doesn't work, check if you have that key "ReceiveScalingMode" and maybe remove it or set it to 0. I don't have that key.
Here are my keys in screenshots and a zip with a reg file you can edit, in case you missed something:
I have a Realtek gaming 2.5 GbE family controller (RTL8125BG) onboard NIC and I'm at my wits end with this thing. I have the latest drivers from Realtek, RSS enabled and all that, but my indirection table is still blank when I input Get-NetAdapterRss into powershell. My RssProcessorArray populates just fine, but my indirection table is blank no matter what, I've tried the older Asrock drivers as well from my motherboard, z90 steel legend.
RSS is enabled in the advanced NIC driver settings. I'm at a loss here. I've read that if the indirection table is not populating it usually means that RSS is not configured correctly. Any help would be greatly appreciated.
Re: How to correctly set Receive Side Scaling (RSS)
Bumping an old thread but as someone who went down a bit of an 'RSS rabbit hole' i thought id add some clarity around the global task offload setting and which drivers to use
I have a Realtek NIC but i have been stupidly using the Realtek drivers directly from their website, if you are using an NIC that is part of an OEM board ( ie you are using a gaming motherboard such as ASUS , GIGBYTE etc and not some corporate or other NIC) you should ALWAYS download the NIC drivers from the motherboard vendor directly , if you don't you will end up with drivers that do not correctly or fully match your Device ID and therefore you will not get the correcting setting appear for your NIC in the advanced settings page in device manager.
I had no RSS setting visible and as soon as i downloaded the drivers from my motherboard vendor directly i then had the correct settings listed in device manager, however as i discovered from an article on the subject ( which i have quoted below) and as someone who often follows "gaming tweak advice " i had TaskOffload disabled which can be confirmed by running ' get-netoffloadglobalsetting ' in power shell and seeing TaskOffload : Disabled
If task offloading is disabled RSS will not work correctly regardless of what you see in the direction tables and regardless of what Get-NetAdapterRss reports, keep TaskOffload enabled and then disable the offloads you want in the NIC settings, ip4v check sum offload is required but the others are not ( tcp, udp, etc)
I have a Realtek NIC but i have been stupidly using the Realtek drivers directly from their website, if you are using an NIC that is part of an OEM board ( ie you are using a gaming motherboard such as ASUS , GIGBYTE etc and not some corporate or other NIC) you should ALWAYS download the NIC drivers from the motherboard vendor directly , if you don't you will end up with drivers that do not correctly or fully match your Device ID and therefore you will not get the correcting setting appear for your NIC in the advanced settings page in device manager.
I had no RSS setting visible and as soon as i downloaded the drivers from my motherboard vendor directly i then had the correct settings listed in device manager, however as i discovered from an article on the subject ( which i have quoted below) and as someone who often follows "gaming tweak advice " i had TaskOffload disabled which can be confirmed by running ' get-netoffloadglobalsetting ' in power shell and seeing TaskOffload : Disabled
If task offloading is disabled RSS will not work correctly regardless of what you see in the direction tables and regardless of what Get-NetAdapterRss reports, keep TaskOffload enabled and then disable the offloads you want in the NIC settings, ip4v check sum offload is required but the others are not ( tcp, udp, etc)
This is because disabletaskoffload relates to how NDIS handles the global setting which offloads certain calculations (like checksums) from the CPU to the NIC. The same setting can be activated in powershell using:
set-netoffloadglobalsetting -taskoffload enable/disable
You can view the setting by entering into powershell:
get-netoffloadglobalsetting
First, the simple explanation for the indirection table disappearing is that RSS does not function without checksum offloading. Second, regardless of your NIC settings, checksum offloading does not function if you have task-offloading disabled. Hence, globally disabling task-offloading prevents RSS from functioning correctly.
Disabling taskoffloading globally also causes some performance issues even without checksums or LSO enabled. Some NIC's have buggy firmware or drivers that do a poor job of handling/calculating certain checksums so despite popular misconception, enabling all checksum offloading on your NIC does not always result in a performance increase. As an example, some older intel NICs perform poorly when handling tcp-ipv6 tx checksums and will generate many re-transmits when tcp-ipv6 tx/rx checksums are enabled. This is very easy to see by looking at the number of "segments retransmitted" under TCP statistics for IPv6 when looking performance statistics using "netstat -s".
However, even in this situation, it is far better to disable those troublesome checksum-offloads individually on the NIC rather than globally disable task-offloading.
