Page 1 of 109
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
… or another attempt to improve latencies
Little bit of theory:
*****
From «Windows Internals» by Mark Russinovich, David A. Solomon, Alex Ionescu
Line-Based vs. Message Signaled-Based Interrupts
Shared interrupts are often the cause of high interrupt latency and can also cause stability issues. They are typically undesirable and a side effect of the limited number of physical interrupt lines on a computer. For example, in the previous example of the 7-in-1 media card reader, a much better solution is for each device to have its own interrupt and for one driver to manage the different interrupts knowing which device they came from. However, consuming four IRQ lines for a single device quickly leads to IRQ line exhaustion. Additionally, PCI devices are each connected to only one IRQ line anyway, so the media card reader cannot use more than one IRQ in the first place.Other problems with generating interrupts through an IRQ line is that incorrect management of the IRQ signal can lead to interrupt storms or other kinds of deadlocks on the machine, because the signal is driven “high” or “low” until the ISR acknowledges it. (Furthermore, the interrupt controller must typically receive an EOI signal as well.) If either of these does not happen due to a bug, the system can end up in an interrupt state forever, further interrupts could be masked away, or both. Finally, line-based interrupts provide poor scalability in multiprocessor environments. In many cases, the hardware has the final decision as to which processor will be interrupted out of the possible set that the Plug and Play manager selected for this interrupt, and there is little device drivers can do.
A solution to all these problems is a new interrupt mechanism first introduced in the PCI 2.2 standard called message-signaled interrupts (MSI). Although it remains an optional component of the standard that is seldom found in client machines, an increasing number of servers and workstations implement MSI support, which is fully supported by the all recent versions of Windows. In the MSI model, a device delivers a message to its driver by writing to a specific memory address. This action causes an interrupt, and Windows then calls the ISR with the message content (value) and the address where the message was delivered. A device can also deliver multiple messages (up to 32) to the memory address, delivering different payloads based on the event.
Because communication is based across a memory value, and because the content is delivered with the interrupt, the need for IRQ lines is removed (making the total system limit of MSIs equal to the number of interrupt vectors, not IRQ lines), as is the need for a driver ISR to query the device for data related to the interrupt, decreasing latency. Due to the large number of device interrupts available through this model, this effectively nullifies any benefit of sharing interrupts, decreasing latency further by directly delivering the interrupt data to the concerned ISR.
Finally, MSI-X, an extension to the MSI model, which is introduced in PCI 3.0, adds support for 32-bit messages (instead of 16-bit), a maximum of 2048 different messages (instead of just 32), and more importantly, the ability to use a different address (which can be dynamically determined) for each of the MSI payloads. Using a different address allows the MSI payload to be written to a different physical address range that belongs to a different processor, or a different set of target processors, effectively enabling nonuniform memory access (NUMA)-aware interrupt delivery by sending the interrupt to the processor that initiated the related device request. This improves latency and scalability by monitoring both load and closest NUMA node during interrupt completion.
*****Now practice.
Checking for PCI devices working in MSI-mode.
Go to Device Manager. Click in menu «View -> Resources by type». Expand «Interrupt request (IRQ)» node of the tree. Scroll down to «(PCI) 0x… (…) device name» device nodes. Devices with positive number for IRQ (like «(PCI) 0x00000011 (17) …») are in Line-based interrupts-mode. Devices with negative number for IRQ (like «(PCI) 0xFFFFFFFA (-6) …») are in Message Signaled-based Interrupts-mode.Trying to switch device to MSI-mode manually.
You must locate device`s registry key. Invoke device properties dialog. Switch to «Details» tab. Select «Device Instance Path» in «Property» combo-box. Write down «Value» (for example «PCI\VEN_1002&DEV_4397&SUBSYS_1609103C&REV_00\3&11583659&0&B0»). This is relative registry path under the key «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\».Go to that device`s registry key («HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_1002&DEV_4397&SUBSYS_1609103C&REV_00\3&11583659&0&B0») and locate down the subkey «Device Parameters\Interrupt Management». For devices working in MSI-mode there will be subkey «Device Parameters\Interrupt Management\MessageSignaledInterruptProperties» and in that subkey there will be DWORD value «MSISupported» equals to «0x00000001». To switch device from legacy- to MSI-mode just add these subkey and value.
Before adding these key and value (or changing «MSISupported» to «0x00000001» in case subkey and value already exist) you have to perform safety steps like doing backup (creating system restore point at least).
Do tweak one device -> reboot and check (1) if it is displayed in Device Manager as correctly working device; (2) if its IRQ became negative -> if no (1) and no (2) then either remove subkey «MessageSignaledInterruptProperties» (if you added it) or change «MSISupported» to «0x00000000» and reboot.
Theoretically if device driver (and platform = chipset) unable to perform in MSI-mode it should ignore mentioned subkey and value. But who knows…
Trying to switch device to MSI-mode with MSI utility v3 (run as administrator)
http://www.mediafire.com/file/ewpy1p0rr132thk/MSI_util_v3.zip/file
MD5 hash for zip-file: 8424509737CEDBDE4BA9E9A780D5CE96Change log:
— showing multiple IRQs for device (previous version showed only first of multiple IRQs);
— extending the details pane (under the grid) for the selected device to show more properties — PNP and PCI ones;
— replacing WMI with Setup API for retrieving device properties — so all info should be available on Win7/Win8 rigs;
— replacing registry names of devices with normal PNP display names from Setup API;
— adding the ability to launch the registry editor with selected device instance by double click on the device.Edit: If you have old rig and there are no devices working in MSI-mode, then may be you should not experiment with this tweak.
As this tweak is risky then you probably should not tweak devices which can prevent Windows to boot (by their failure) — SATA controllers, videocards. Especially if they do not share their IRQ with another devices.Edit: Troubleshooting topic with info from «Windows Internals»:
Besides starting services, the system charges the Sevice Control Manager (SCM) with determining when the system’s registry configuration, HKLM\SYSTEM\CurrentControlSet, should be saved as the last known good control set. The CurrentControlSet key contains the Services key as a subkey, so CurrentControlSet includes the registry representation of the SCM database. It also contains the Control key, which stores many kernel-mode and user-mode subsystem configuration settings. By default, a successful boot consists of a successful startup of auto-start services and a successful user logon. A boot fails if the system halts because a device driver crashes the system during the boot or if an auto-start service with an ErrorControl value of SERVICE_ERROR_SEVERE or SERVICE_ERROR_CRITICAL reports a startup error.The SCM obviously knows when it has completed a successful startup of the auto-start services, but Winlogon (%SystemRoot%\System32\Winlogon.exe) must notify it when there is a successful logon. Winlogon invokes the NotifyBootConfigStatus function when a user logs on, and NotifyBootConfigStatus sends a message to the SCM. Following the successful start of the auto-start services or the receipt of the message from NotifyBootConfigStatus (whichever comes last), the SCM calls the system function NtInitializeRegistry to save the current registry startup configuration.
Windows maintains several copies of CurrentControlSet, and CurrentControlSet is really a symbolic registry link that points to one of the copies. The control sets have names in the form HKLM\SYSTEM\ControlSetnnn, where nnn is a number such as 001 or 002. The HKLM\SYSTEM\Select key contains values that identify the role of each control set. For example, if CurrentControlSet points to ControlSet001, the Current value under Select has a value of 1. The LastKnownGood value under Select contains the number of the last known good control set, which is the control set last used to boot successfully. Another value that might be on your system under the Select key is Failed, which points to the last control set for which the boot was deemed unsuccessful and aborted in favor of an attempt at booting with the last known good control set. Figure 4-15 displays a system’s control sets and Select values.
NtInitializeRegistry takes the contents of the last known good control set and synchronizes it with that of the CurrentControlSet key’s tree. If this was the system’s first successful boot, the last known good won’t exist and the system will create a new control set for it. If the last known good tree exists, the system simply updates it with differences between it and CurrentControlSet. Last known good is helpful in situations in which a change to CurrentControlSet, such as the modification of a system performance-tuning value under HKLM\SYSTEM\Control or the addition of a service or device driver, causes the subsequent boot to fail. Users can press F8 early in the boot process to bring up a menu that lets them direct the boot to use the last known good control set, rolling the system’s registry configuration back to the way it was the last time the system booted successfully.
So if you choose to try and switch PCI device into the message-mode, you better do add «MSISupproted» registry value to one device and reboot. If Windows failed to boot you restart and press F8 and choose boot option «last known good configuration» (which must be the configuration without «MSISupported»).
Edit: Improper Propagation of SATA Message Signaled Interrupts on AMD SB950
Description
The SATA Message Signaled Interrupt (MSI) from higher port numbers may not properly propagate to port 0 before being sent to the driver.Potential Effect on System
On a platform with SATA MSI enabled and activity occurring on SATA devices connected to three or more ports, if the failing condition occurs, the driver will not receive the interrupt and the system will hang.Suggested Workaround
Do not expose the MSI capability in the SATA controller. This change is implemented in CIMx version 1.1.0.2.Fix Planned
NoEdit: Here is Intel`s paper (thanks to n1hilist):
http://www.intel.co.za/content/dam/…hite-papers/msg-signaled-interrupts-paper.pdfEdit: Easy way to measure ISRs and DPCs
https://forums.guru3d.com/threads/simple-way-to-trace-dpcs-and-isrs.423884/Edit: Dedicated thread about interrupts in Windows
https://forums.guru3d.com/threads/a-bit-detailed-info-about-interrupts-in-windows.424677/Edit: External Interrupts in the x86 system. Part 1. Interrupt controller evolution
https://habr.com/en/post/446312/Edit: Use this site to check hash value for files in this post — https://hash.online-convert.com/md5-generator
Even if it gives wrong hashes using the same site proves the un-compromised state.Last edited: Jul 29, 2023
-
So this has no effect on the IRQ’s for the Numeric Data Processor and System CMOS/Real time clock? Both of these use IRQ’s.
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Are these the PCI devices in your rig? At mine they are ISA ones.
-
Nurse13
New Member- Messages:
- 6
- Likes Received:
- 0
- GPU:
Great write up, although i found it somewhat difficult to follow and re-read it many times as i was confused to what the main «wanted» goal was and what was to be created.
This worked for my video card but not asus xonar essence stx audio device. I have the latest xonar software with no addons. I have always believed some of my problems (latency, DPC, etc.) has been related to his.. or maybe im just that stupid to think so i dont know. However, i’d thought i’d try. I had initially messed up by not creating the «MessageSignaledInterruptProperties» subkey first before adding «MSIsupported». I went back and re-read the post and seen the mistake which then after a reboot showed that this worked for my video card.
IS there something that prevents the change to MSIsupported mode or a software conflict/reason this wont work as like the USB 2 controllers you tried?
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
It`s my clumsy english. Sorry.
As for MSI-mode, device itself has to use (implement) MSI capability, and its driver too.
And what about network card and SATA controller in your rig? I suspect that video card is not the source of mass interrupt bursts…
Last edited: May 14, 2013
-
Nurse13
New Member- Messages:
- 6
- Likes Received:
- 0
- GPU:
Network adapter is Intel 82579V. It is already at a -2 IRQ. On a side note if audio wasn’t the problem then either this is or maybe usb. I notice that if i mess with the performance settings or interruption/filter settings my net has extreme amount of drops. Youtube videos stop loading, my games freeze periodically as if i lose my connection and regain it. I have read so much into it and have not found the cause still after 6 months. My net is good, my modem is fine as well (just got firmware update i think yesterday even).
TBH i havent even looked at my SATA controller. Its in Line-based mode.
I will look at it tonight when i get time to mess with things again. -
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Have you tried:
— tweaking NetworkThrottlingIndex;
— tweaking TCP/IP (there is recommendation to enable TCP RSS when NIC is working in MSI-mode);
— disabling CPU core parking;
— this thread
??? -
Nurse13
New Member- Messages:
- 6
- Likes Received:
- 0
- GPU:
I have slowly got into Von’s page on performance tweaks. Many i’ve done before and or found else where so i found myself either repeating or skipping.
I monkeyed with tonight with the IRQ and upon reboot i got a blue screened before windows could log in. I ended up just reinstalling windows because i did not have system restore on that partition as i do with this one; why i dont remember.
And with a new fresh install i can hopefully nail what is causing my problems by introducing 1 thing at a time.
I did core parking and the network throttling i put to 0.
This maybe unheard off but by god i believe its keyboard or mouse related but there is no way to really test.No way mean i dont have replacements or software that i know of to find problems. I have g100 keyboard and g500 mouse.
It seems that my disconnects only happen during me actually using my hardware. Example me spectating in call of duty or bf3 or tf2i have yet to see this same phenomenon happen. My disconnects and by this i mean my game freezes and connection drops and returns are made worse by excessive input from me. So putting the peices together makes me rule out internet issues however it acts just like an internet issue. Hell it reminds of the House episode where they believe its cancer but every test shows that is not cancer. Strange.I have no idea gentlemen. I am ready to slap this on ebay, all of it, and say the hell with it. I’ll build from the ground up when i have time.
In vons thread he goes into device manager to disable stuff, so i did to. Looking under device manager i see x4 HID complaint keyboard and same for mouse. I see «virtual keyboard» and «virtual mouse». Which makes me wonder, but that about it.
I dont know. I would seriously pay someone to sit at my computer and do all that is necessary to find out why i can’t use it.
Last edited: May 15, 2013
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Definitely you need network troubleshooting guru. May be from your internet provider.
-
Nurse13
New Member- Messages:
- 6
- Likes Received:
- 0
- GPU:
Yea but im not sure if they would find anything. I’m at the point now i dont care anymore-i’ve given up.
To make my day even better my keyboard decided not to work today in its current usb slot, so i had to change usb slots t type this messsage. Why?…
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Generic recommendation for not working USB ports is to shutdown PC, remove power cable for 5-10 minutes. Or try powered USB hub.
As for network, imo troubles are 20% of internal hardware-software and 80% of external network protocol ones. Especially when xDSL modem involved.
Btw, you can try discrete NIC, if you suspect your (most probably integrated) one is culprit. -
Nurse13
New Member- Messages:
- 6
- Likes Received:
- 0
- GPU:
I believe that i might have fixed the issue, fingers are crossed. If it isn’t then i truly will just take a 12 gauge and light this whole thing up.
Two issues: 1) turned modem into a bridge via NAPT mode disabled; known issue with my modem (surfboard from motorola).
2) Keep getting usb3 power surge message. Switched 1 input to FP usb and the other to the back. So far working.The strangest thing happened to me as well. I went through the bios to see if maybe it was power related, turned everything to stock voltages as i had been using part of an OC profile but had de-clocked my cpu long ago just never returned the voltages. Log into windows to find that my mouse is super laggy, my cpu usage is 80 percent, my ram is almost maxed at 8gigs. Logitech gaming software was using over 2 gigs of ram… all hell broke loose. I went back and re did an overlock on my system said why the hell not after i couldn’t fix the damn thing lets fry it.
Well it works now.Uhm sorry i have derailed this thread. I believe i noticed some* maybe some improvement with these tweaks. I will re-do them on my fresh install of windows.But the SATA controller is off limits.
Thanks -
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Yeah, that was USB troubleshoot # 1 — use back panel ports instead front panel ones.
-
http://i.imgur.com/khBUUqp.png
Am I doing this correctly? Because if I am, I can’t even get this to work on my Audigy. Ah well, no harm done. -
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Yeah, seems correctly. Audio-card is not the source interrupts bursts, I assume. SATA controllers, USB-controllers, NICs are…
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
Hi man, I have do all you say in this guide, only 3:
Intel(R) 7500/5520/5500/X58 I/O Hub PCI Express Root Port 1 — 3408
Intel(R) 7500/5520/5500/X58 I/O Hub PCI Express Root Port 7 — 340E — 340e
Intel(R) 7500/5520/5500/X58 I/O Hub PCI Express Root Port 3 — 340A — 340aI can’t make in msi-mode, Why You know?
-
Probably because of this,
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Only those 3 were switched into MSI-mode?
You see, for MSI-mode must participate: chipset, device and device drivers. -
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
is not in msi-mode and I cant change into msi-mode :bang:
Page 1 of 109
Share This Page
Page 2 of 109
-
Lol, you have it the other way around. Read the guide, negative numbers mean it’s running in MSI mode. mbk is ironically right when he misunderstood you, those are the only devices in your screen-cap that are in MSI mode.
-
Also, just tried applying MSI mode to my USB and SATA controllers. I blue screened. Had to learn how to reg load the registry from the recovery console and fix it from there (which was interesting).
mbk, what did you do when you were doing trial-and-error? Did you really use windows recovery each time? Got to be a better way… because I’m pretty sure I can apply MSI mode to some of the controllers. -
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
I`ve looked at the picture and can say, that at least your video-cards and SATA controller do not share IRQ with another devices. But your Marvell Yukon NIC does share IRQ (18) with USB controllers 3A44 and 3A3C. In case these particular USB controllers have some USB devices attached to them you better connect USB devices to another ports to try to avoid those USB controllers usage. If no devices connected to them USB controllers you can disable them in Device Manager to provide Marvell NIC with exclusive IRQ.
And line-mode of devices is no reason to bang the wall. It is normal mode but merely less optimal then message-mode.
Last edited: May 24, 2013
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Well, beeing a programmer in the company whose main product line is software for hard disk management, backup and restore, I just use bootable DVD with WinPE and our software to backup internal HDD to the external HDD. Imo this is the best protection against any possible damage.
But I was sure that if you fail to boot you always have boot option «last known good configuration»….
And once again — better try one device per attempt (attempt per device?).
Last edited: May 24, 2013
-
Isn’t WinPE a lot like the recovery console?
Problem is, I think the CurrentControlSet key is volatile, because when I used my method it did not exist. I had to change (aka, delete) the MessageSignaledInterruptProperties keys from the ControlSet001, ControlSet002, and ControlSet003 keys instead.Doesn’t «Last Known Good Configuration» just take you back to your most recent windows recovery backup that booted? I mean sure that would work, but even that is more annoying than using the recovery console.
Yeah, when I build up the nerve I’ll give it another go another time.
Last edited: May 24, 2013
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Not a console: http://en.wikipedia.org/wiki/Windows_Preinstallation_Environment . I mean it has GUI and all that.
As for CurrentControlSet — it is namely a link to the one last known good key of ControlSetNNN keys.
Edit:
Without «recovery backup» words. Every time Windows successfully started it creates a copy of ControlSetNNN key. And if you choose that boot option Wondows must discard its newest ControlSetNNN key and take previous one. Imo it is simple and quick.
Last edited: May 24, 2013
-
Yeah WinPE is very similar. Modern day recovery tool is pretty much a preinstallation environment.
http://partition-recovery.com/images/Vista_Repair_2.jpg
I used that last option there, and used regedit from cmd, gui works fine. Problem is, it loads its own registry hives. So I needed to load the system hive, make changes, and then unload it. Very annoying but at least it works, and I’m guessing since CurrentControlSet -I think- is made on startup it did not exist for me. Dose WinPE load the registry directly from your windows installation?Because like I said, the key did not exist for me outside of windows, but the changes I made to the CurrentControlSet key while in windows must have been applied to the entries of the devices in the ControlSet001-3… if that makes sense…
Point is, it’s annoying lol.
Regarding Last Known Good Configuration, I believe you. But for whatever reason I did not get that option. It wanted me to scan the whole windows installation for errors that could prevent startup (and thus ruining all the customization and visual tweaks I have).
Last edited: May 24, 2013
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
No. And I don`t use WinPE to edit registry. In that you are more advanced user.
Out of my pedantry and tediousness — CurrentControlSet is not real key, it is link to one of CurrentControlSetNNN keys.Edit:
Sounds like you are talking about recovery console stage. That «Last known» feature is at the previous stage of «F8» boot menu. I don`t know about Win8 though.
Last edited: May 24, 2013
-
Oh, alright, explains why the key did not show up.
And I’m just lucky I had my girlfriends laptop to google how to load and unload registry hives from the recovery console. (without a disc).edit: maybe that is what I am thinking. I remember Last Known Config showing up after a unsuccessful boot in the past, so I assumed that would not work for me and used F8 and chose «repair your computer» (which does not really scan anything, it’s that recovery console picture I posted).
Alright, at least I have more options when I go at it again. Though, this kinda makes backing up the registry redundant.
Last edited: May 24, 2013
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Do you feel growing accomplishment? You must…
-
Oh I do. Oh… I do. Lol.
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Probably I should copy here a piece of «Windows internals» about that «Last known good configuration» feature intrinsics. For a troubleshoot info.
Edit: Done… Read at the OP.
Last edited: May 24, 2013
-
Or at least mention it in your guide in the first post, since making a backup of the registry is not very helpful if you can’t boot anyway.
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
I can’t change irq?
The staticvector is irq? -
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
3A44 is not a controller usb is pci port 3: Intel(R) ICH10 Family PCI Express Root Port 3 — 3A44
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
You can change IRQ only by switching device to MSI-mode. I don`t know other ways. In old Windows user could change IRQ in device properties. But now all controls are disabled there. So if you can`t switch device to MSI-mode but have devices sharing the IRQ you can disable not used devices to avoid such sharing.
Last edited: May 24, 2013
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
Understand!!!
Thank you for your explanation -
So I tried this method. This is the result so far:
The ones not highlighted I didn’t bother to change, should I?
-
Von Dach
Master Guru- Messages:
- 623
- Likes Received:
- 1
- GPU:
-
NV560Ti @900/2394 ATI4890
This is the result for an I7 Z68 after enabling all PCI SubKeys with MSISupported.
Before
After
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
how u do to change all in not conflict?
Page 2 of 109
Share This Page
Page 3 of 109
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
but in msi-mode the key switch to 0x000000?
Truth? -
In MSI mode the numbers we have in (#) change to (-#)
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Numbers showed in this window are not the keys. They are just presenting IRQ numbers in hexadecimal form.
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Why not to? I`d switched all that could be.
-
Sata and nic are in this msi mode. Is reason to even do any this if one has no issues or problems
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Generic reasons like curiosity, feeling of implication, desire to achieve more… The same as with overclocking, game config-file tweaking…
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
I switched 1 to 0, is this mode I have change in msi-mode, only my Intel(R) 5 Series 6 Port SATA AHCI Controller
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
I have change only hexadecimal number, I switched 1 to 0, is this mode I have change in msi-mode, only my Intel(R) 5 Series 6 Port SATA AHCI Controller
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
If you changed registry value MSISupported from 1 to 0, then you disabled MSI-mode for a device.
-
pipes
Member Guru- Messages:
- 182
- Likes Received:
- 0
- GPU:
ok, that way I removed the minus sign on the hardware device
-
xodius80
Master Guru- Messages:
- 789
- Likes Received:
- 11
- GPU:
hi guys this is a very interesting read, but i have one question, if every device i have has its own IRQ do i need this? will it provide any benefit?
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
-
xodius80
Master Guru- Messages:
- 789
- Likes Received:
- 11
- GPU:
ok understood, now another question, if i enable this on the video card,will i need to do so on the pciexpress ports?
My video card shares IRQ 16 with the x58 chipset hub and one PCIEX port. since they are sharing the same IRQ 16, my logic tells me i have to enable msi so to the 3 devices in total.
is this correct?
-
eh i just leave it as is much like the whole hpet thing. i dont feel like falling into another what if what may or could be situation.
-
xodius80
Master Guru- Messages:
- 789
- Likes Received:
- 11
- GPU:
it has a nice and logical explanation, its dependencies are chipset, device and driver, wich makes a lot of sense, trying out something new never hurts, espcially if you get free performance and stability out of it.
Now in the other hand, if your system provides the speed you crave, then just dont follow the guide. =)
Im gonna test it myself, but since the data is here, and these great guys have been tweaking with the settings longer than me, then it doenst hurt to ask them so i can take out some problems out of the equation.
Forums are just for that, sharing knowledge and saving time.
-
I always crave more
Anyways I’m going to give this ago when I have more time. Doesn’t seem hard to do, but seems a bit of a pain in the ass … when it doesn’t work and gives you a BSOD.
My 470 GTX isn’t running in MSI for starters…
-
xodius80
Master Guru- Messages:
- 789
- Likes Received:
- 11
- GPU:
mine doenst too, BUT i have 2 more devices the x58 i/o Hub PCI EXPRESS ROOT PORT 3
and the ich10 family pci express root port 1.those are the ones idk to mod them to MSI or not, please share your experience.
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
I have switched PCI-X root ports to MSI-mode. To give you smart answer I don`t have info niether on relationship between PCI Express root ports and connected devices nor on root ports themselvs.
-
Successfully changed my 470 GTX to MSI-mode. For some odd reason I booted a few seconds quicker could’ve just been an isolated fluke.
-
mbk1969
Ancient Guru- Messages:
- 14,738
- Likes Received:
- 12,752
- GPU:
Be aware that (NVidia) driver installer can revert device to line-mode. It did on my rig when I`ve installed 320.18.
Page 3 of 109
Share This Page
-
Experience Overclock on the new Fora Communities app for iOS & Android! Get the best of Overclock on our official app.
3373
Views
17
Replies
10
Participants
Last post by
AndyG,
@Kyube brought this up in another discussion which sent me down a rabitt hole. I didn’t know what MSI was until I was today years old.
This thread is to post before/after results and discuss.
I’ve found two ways to enable it:
NvClean Install (probably what I will use as it gets rid of Nvidia telementary services):
NVCleanstall v1.16.0 Download
NVCleanstall lets you customize the NVIDIA GeForce Driver package by removing components that you don’t need (or want). This not only keeps things ti
www.techpowerup.com
Github’s Interupt Policy Tool:
I’ll probably monkey with it this week and post results by the weekend.
Reactions:
2
Good stuff! What/where is the exact setting to pick in NVCleanstall? Eager to try it with the next driver update.
Good stuff! What/where is the exact setting to pick in NVCleanstall? Eager to try it with the next driver update.
For NvClean, there should be a checkmark for «advanced» settings or tweaks (youtube bellow). You can also change the priority.
The Github tool allows you to change priority as well so you can try different settings.
TBH, I don’t know if this will do a whole lot, because I don’t think your GPU shares IRQ with anything else, maybe your NVME drive(s)?
Would we have to re-enable it with each driver update? I’ve recently stumbled across MSI mode for the first time after upgrading to W11 and checking with LatencyMon, so I’m definitely interested in your findings.
Reactions:
1
I’ve been manually enabling that with MSITool.exe since I got my 4080 in January. It added in the ballpark of 1000 points to my GPU score in 3Dmark.
Reactions:
2
Would we have to re-enable it with each driver update? I’ve recently stumbled across MSI mode for the first time after upgrading to W11 and checking with LatencyMon, so I’m definitely interested in your findings.
I don’t believe so but I’m going to run NVClean Installer to disable Nvidia’s data colection. I didn’t even know that was a thing.
With the MSITool.exe it does have to be done after each driver update. I’m unsure if the other methods are persistent or not.
Reactions:
1
Didn’t mess with my current Windows install too much. By default 6750XT is set to MSI mode.
Back in the day I remember messing with IRQ priorities actually made some difference. I doubt it does now.
See less
See more
1
I’ve been manually enabling that with MSITool.exe since I got my 4080 in January. It added in the ballpark of 1000 points to my GPU score in 3Dmark.
That makes no sense… I’ve tried both msi off and on on my 4090, zero difference in actual performance like that
I did a driver update last night and haven’t reenabled it yet. I’ll run a few goes of 3Dmark later this evening see if I’m still seeing that difference or if it was a fluke.
It would make sense if he had something sharing IRQ with his GPU or a device interrupting the GPU somehow.
It would make sense if he had something sharing IRQ with his GPU or a device interrupting the GPU somehow.
That’s what I was thinking. I’m curious if the primary NVME (connected to the CPU PCI-E lanes) shares IRQ with the GPU lanes. But I’ve also read NVME drives are all using MSI? Gonna mess around with it this week.
Since this has to do with IRQ sharing, would MSI make more of a difference with setups that have a lot of PCIe devices?
I’m gonna give this a try later. I’ve got a lot of «stuff» in my machine… dual GPU, triple NVMe, the usual mobo integrated stuff, seems like it would be a good scenario.
I think it was these two runs. Now that I’m going back through it, I think I can explain the outlier. That was on my original x670e PG Lightning and I didn’t realize until after the fact that it was messed up and I could not make the x16 PCIe slot run over x8. I also had all three NVMe slots full. In hindsight it was probably those bottlenecks that allowed for such a gain. I’ve since replaced the board so I’ll see tonight if I’m still seeing any difference.
Here’s two Timespy runs left was MSI enabled, right disabled. Same afterburner profile, same fan/pump curve, only difference between was changing MSI and rebooting. GPU score is up by 225 but CPU is down by 646 after enabling. Less than before but I’m betting the jacked up PCIe on my Asrock board had something to do with the large jump before.
See less
See more
1
Reactions:
1
@Kyube brought this up in another discussion which sent me down a rabitt hole. I didn’t know what MSI was until I was today years old.
This thread is to post before/after results and discuss.
I’ve found two ways to enable it:
NvClean Install (probably what I will use as it gets rid of Nvidia telementary services):
NVCleanstall v1.16.0 Download
NVCleanstall lets you customize the NVIDIA GeForce Driver package by removing components that you don’t need (or want). This not only keeps things ti
www.techpowerup.comGithub’s Interupt Policy Tool:
I’ll probably monkey with it this week and post results by the weekend.
To add onto this, the author of the MSI tweak original thread (decades old by now):
GoInterruptPolicy is a easier to use version of Microsoft’s tool, which allows for adjusting affinities of interrupts to specific cores. Everything being slammed to core 0 leads to issues and should be avoided, Windows however defaults to this behavior.
This repo might help with the choice of which core to use:
GitHub — amitxv/AutoGpuAffinity: Single-core GPU driver affinity benchmarking
The author of this repo has a good PC tweaking guide which should be read through as well imo.
It can help with DPC Latency for NVidia cards, something they’re notorious of for the past few years (recently even more, as seen by the patch notes in 5xx.xx drivers)
See less
See more
Reactions:
3
Interesting stuff, I have used NVcleaninstall a few times. Foolishly I didn’t bench for comparison against anythings else. I will say I didn’t notice any difference in gaming, but I change settings all the time so I suppose I wouldn’t.
@Kyube Your post and the links just above are really helpful. Thank you.
This is another system tuning tweak. From Vista onward, Windows has supported Message Signaled Interrupts on the PCI and PCIe buses.
This is basically the 21st century solution to the old PC issue of conflicting or shared IRQ’s. In simplistic terms, it allows over 200 «IRQ’s» and a different way of using them.
I don’t remember where I first heard about the technology, but I found a few articles on it, plus a utility that will allow you to view whether a given PCIe device is using message signaled or line-based and set it accordingly:
https://forums.guru3d.com/threads/windows-line-based-vs-message-signaled-based-interrupts-msi-tool.378044/
I ran it on my new system and found that my GT 1030 graphics card was sharing IRQ11 with my Firewire adapter. Hmm. The Firewire adapter only supports line-based, but the video card switched over to message signaled and now has its own IRQ.
Kinda funny, I remember way back in the day, first setting IRQ jumpers, then when Windows 95’s plug and play moved IRQ sharing more to the OS. We’d still get conflicts where the sound card and the video card always seemed to want to share IRQ 11.
Try it, and try running LatencyMon before and after and see what you get.
(MSI Tool also lets you assign a priority to each device’s interrupt, which might allow further tuning for DAW use, but I’m going to have to study up on that before I try it)