Slender wrote: ↑19 Aug 2024, 14:57
JimCarry wrote: ↑19 Aug 2024, 08:34
@Slender I have disabled rss in net adapter settings and in cmd,the first screen is default the second is after change msg from 1 to 4 ,then net adapter runs from core 0 to core 1,2,3.as you can see also the irqs after restarts goes from 1 to 4.@UFO_Pilot and @Slender do you think i should disbletaskoffload and the other offloadstuff?
wow, i dont hear about this soft.
now you can make affinity for all driver using specifed core for all.
set usb to 4 core
gpu to 3 core
your nic to 2 core (msi limit 2)
edit: i think nic isr and nic dpc (with taskload off) need work on one core. idk how to move nic dpс from 0 core.
"gpu to 3 core"
When a game runs on the same core where GPU interrupts are, performance will go down with a high CPU load.
Since Windows distributes the load, it will also go to core0 but less often I suppose.
If you have a game with an integrated benchmark utility or a command through the game's console, exclude the game from the gpu's interrupts core in Task Manager and test this. Try gpu default(core0) and gpu on last core.
With Hyper-Threading you need to set core to an even number(0,2,4,6,8, etc), for interrupts and RSS.
"idk how to move nic dpс from 0 core."
It works in Line-Based interrupts. You can set ethernet ISR to a specific core and RSS (DPC) to a different one.
There is no need for more than 1 RSS queue, one single core can handle 1GB connection. More queues are only useful for servers.
You can set everything through PowerShell as admin: (example with 4 cores cpu without Hyper-Threading)
Set-NetAdapterRss -Name "Ethernet" -Profile NUMAStatic -NumaNode 0 -MaxProcessorNumber 3 -MaxProcessors 3 -BaseProcessorNumber 3 -NumberOfReceiveQueues 1 -Enabled $true
I use a batch file for Xperf:
Code: Select all
d:
cd "D:\Data\Documents\Xperf"
xperf -on base+interrupt+dpc
pause
xperf -d dpcisr.etl
xperf -i dpcisr.etl -o dpcisr.txt -a dpcisr
This is my Xperf result for ethernet while playing online:
Code: Select all
--------------------------
DPC Info
--------------------------
CPU 0 Usage, CPU 1 Usage, CPU 2 Usage, CPU 3 Usage,
usec %, usec %, usec %, usec %, Module
6881 0.00, 0 0.00, 0 0.00, 50530 0.02, ndis.sys
Total = 27198 for module ndis.sys
Elapsed Time, > 0 usecs AND <= 1 usecs, 1814, or 6.67%
Elapsed Time, > 1 usecs AND <= 2 usecs, 15315, or 56.31%
Elapsed Time, > 2 usecs AND <= 4 usecs, 9491, or 34.90%
--------------------------
Interrupt Info (ISR)
--------------------------
CPU 0 Usage, CPU 1 Usage, CPU 2 Usage, CPU 3 Usage,
usec %, usec %, usec %, usec %, Module
0 0.00, 105499 0.04, 0 0.00, 0 0.00, ndis.sys
Total = 26649 for module ndis.sys
Elapsed Time, > 0 usecs AND <= 1 usecs, 0, or 0.00%
Elapsed Time, > 1 usecs AND <= 2 usecs, 0, or 0.00%
Elapsed Time, > 2 usecs AND <= 4 usecs, 16293, or 61.14%
Elapsed Time, > 4 usecs AND <= 8 usecs, 10356, or 38.86%