Windows: Line-Based vs. Message Signaled-Based Interrupts. MSI tool.

Discussion in 'Operating Systems' started by mbk1969, May 7, 2013.

  1. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    I think this max limit value comes from hardware/firmware itself.

    MSI-X is beneficial for server grade/side hardware - network cards, storage controllers. Consumer GPUs are not in that category.
     
  2. iCeOHL8R

    iCeOHL8R New Member

    Messages:
    7
    Likes Received:
    0
    GPU:
    3080Ti
    Yeah but I would think that gpus would be able to do more than 1 interrupt per whatever if an ssd can do 2048. Also maybe there are inf mods to change that limit which also might give lower latency or better performance...... is there a way to test how many interrupts actually hit the device or measure or bench or test these things? We can set these values but how do we test the results? Trying to see if i can notice a difference overriding or putting higher limits in registry hard to tell tho my system is so fast and tweaked now..............
     
  3. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    SSDs have no interrupts. SATA/RAID/NVMe controllers have. Consumer grade SATA/RAID controllers do not use MSI-X, only NVMe controllers do.

    Modding inf-file and changing registry values give the same results because you mod same registry values in inf-files.

    To see whether device uses multiple interrupts you check the number of IRQs shown in MSI tool or in Device Manager. If device has one IRQ then the limit value has no meaning.
     
  4. iCeOHL8R

    iCeOHL8R New Member

    Messages:
    7
    Likes Received:
    0
    GPU:
    3080Ti
    ok so its the number of interrupt lanes and not the number of interrupts and the registry key has a misleading name i was just looking at that and thinking that but my nic says max 16 but maybe has half of those irqs assigned........ i wonder how the samsung community driver has "MessageNumberLimit"=dword:00000800 2048 maybe it doesnt matter..... Forum - Recommended AHCI/RAID and NVMe Drivers (win-raid.com) >mod+signed generic 64bit Samsung NVMe driver v3.3.0.2003 for Win10 x64< (>MIRROR<)
    secnvme.inf
    [msi_addreg]
    HKR, Interrupt Management, 0x00000010
    HKR, Interrupt Management\MessageSignaledInterruptProperties, 0x00000010
    HKR, Interrupt Management\Affinity Policy, 0x00000010
    HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, %REG_DWORD%, 1
    HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, %REG_DWORD%, 2048
    HKR, Interrupt Management\Affinity Policy, DevicePolicy, %REG_DWORD%, 5 ;IrqPolicySpreadMessagesAcrossAllProcessors
    HKR, Interrupt Management\Affinity Policy, DevicePriority, %REG_DWORD%, 3
    HKR, Interrupt Management\Affinity Policy, GroupPolicy, %REG_DWORD%, 1

    could have been they modified it too thinking like i did that its the number of interrupts per second when its really number of interrupt lanes

    looks the same way in the unmodded one too of course thats good enough for this investigation im not gonna fish it out of the official samsung download time to move onto something else still playing with those values seems like i did something in the game engine maybe it does nothing.........
     
    Last edited: Jul 15, 2021

  5. iCeOHL8R

    iCeOHL8R New Member

    Messages:
    7
    Likes Received:
    0
    GPU:
    3080Ti
    .
     
    Last edited: Jul 15, 2021
  6. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    There are no interrupt lanes in PCI-Express bus. There are messages - message signalled interrupts.
    MessageNumberLimit registry value limits the number of interrupts - messages - assigned to device. And number of interrupt equals to number of IRQs (assigned to device).

    There is no need to mod inf-files to change MessageNumberLimit value because you can do that in registry after the installation of drivers.
     
  7. iCeOHL8R

    iCeOHL8R New Member

    Messages:
    7
    Likes Received:
    0
    GPU:
    3080Ti
    no i was thinking to edit maxlimit not messagenumberlimit but its not number of interrupts per second seems we need a more exact definition of what a message is not very clear yes i know it writes some kind of message which gives the cpu info on what the device wants to do but i still dont fully understand how this system works need some expert who can sum it up real quick. how are the irqs assigned cause i know on my new pc the pci e root ports have msi and show up in ur util but when i add the interrupt management keys to my old 4930k it will then show up in ur msi util but there is no irq assigned so do u know the method the actual irqs get allocated?

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_2700&SUBSYS_39018086&REV_00\55CD2E414F2DE92E00\Device Parameters\Interrupt Management\Affinity Policy]
    "0x00000010"=""
    "DevicePolicy"=dword:00000005
    "GroupPolicy"=dword:00000001
    "DevicePriority"=dword:00000003

    also this is something we can add and determines how the irqs are spread across the cores but i did this to several devices and i think im getting 10 less fps in division 2 but the game is very responsive and low latency

    Microsoft Interrupt Affinity Tool Download | TechPowerUp Found this looks interesting.......
    yeah looks like u know about all this stuff
     
    Last edited: Jul 16, 2021
  8. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    https://forums.guru3d.com/threads/a-bit-detailed-info-about-interrupts-in-windows.424677/
    If device can utilize multiple interrupts (MSIs) it has information of the maximum limit somewhere in HW or FW. Device driver reads that maximum limit from HW/FW, then it reads the maximum message limit value from registry, then it gets the lowest of two values and requests it from OS Plug And Play manager. OS P-n-P manager looks if it can assign requested number of MSIs and either assigns requested number or assigns some lower number of MSIs.
     
  9. martinigm

    martinigm New Member

    Messages:
    1
    Likes Received:
    0
    GPU:
    1080Ti
    Hi,
    Do you have any idea why one of my Samsung drives you so many interrupts? So many that it makes IRQ column too wide too see whole windows... in next update you can make the column scalable ;)

    I know one difference between the two others and this one is that the two with PCI 3.x has maxlimit8 vs this one with PCI 4.x support and maxlimit 130
    nvme-example.PNG
     
    Last edited: Jul 25, 2021
  10. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    Ask Samsung. They made that max limit of 130 MSIs (comparing to other 3 with max limit of 8 MSIs).
     

  11. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    @martinigm gave me idea about wide column with multiple IRQs, so here it is:

    http://www.mediafire.com/file/ewpy1p0rr132thk/MSI_util_v3.zip/file
    MD5 hash for zip-file: D383415F9BD75F1AFD900FB39F567022

    Change log:
    - in "irq" column row of consecutive values (like "-1,-2,-3,-4,-5,-6,-7,-8") is replaced with starting and ending values with dots in between (like "-1......-8");
    - in details pane line is added "Actual number of IRQs: N" where N is the count of IRQs assigned to device.

    PS
    Testers (with rigs with devices with multiple IRQs) are needed!
     
    Last edited: Aug 4, 2021
  12. Warkratos

    Warkratos Active Member

    Messages:
    96
    Likes Received:
    54
    GPU:
    RTX 2060 6Gb
    Working fine.
    [​IMG]
     
    mbk1969 likes this.
  13. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    @Warkratos

    Thanks.
    Btw, it is safe to switch High Definition Audio Controllers to MSI mode (usually).
     
  14. GSDragoon

    GSDragoon Master Guru

    Messages:
    328
    Likes Received:
    168
    GPU:
    AMD Radeon RX 6800
    Seems to be working fine on both of my machines with devices with multiple IRQs.

    If I may, I would like to request the app force always running as an admin. You can do this by adding an application manifest file and setting 'requestedExecutionLevel' to 'requireAdministrator'. Thanks.
     

    Attached Files:

  15. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    My initial thought to not do that was to repel novice users (obtaining the tool from some friends) to protect them from possible harm. Back in those days default SATA controllers drivers did not support MSI mode and could render rigs unbootable.

    Now I do not do that just because it is not a work program you launch every day, and because of a tradition.
     

  16. SEXGOD666

    SEXGOD666 New Member

    Messages:
    9
    Likes Received:
    1
    GPU:
    RTX 3080 VISION
    Hello! Is it possible to add Affinity Policy-DevicePolicy change to the program "MSI_util_v3" ?
     
  17. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
    It is possible. But I am against it because:
    - there is tool for that already;
    - it is extremely hard to fine tune interrupt affinities;
    - there is related power plan setting in Win10.
     
  18. FronteRBumpeR

    FronteRBumpeR New Member

    Messages:
    2
    Likes Received:
    0
    GPU:
    NVIDIA 2070 Super
    Gotta say I'm a bit of a fan @mbk1969, appreciate all the time and effort you have put in to help us lesser technology savvy users be optimized. Been reading this forum for a while now, and I still cant get the most optimal Interrupt / Driver DPC execution time.

    By default, all my SATA have High Interrupt Priority and have SpreadMessagesAcrossAllProccessors (which I thought was only for MSI-X compatible)

    my latency was so bad over the past month+ I ended up buying a new mobo and SSD. Went from MSI B450 series to MSI X570, and now added another SSD, this one being a NVMe which I now have windows installed on (but not before about 15 windows reinstalls, and a couple wipe reinstalls)

    still, I often get the 'Red Paragraph of Death' from LatencyMonitor

    Generally, I disable SMT and I am aware to disable HA GPU Sched. if gpu is in msi mode


    I'm to the point of desperation, as my last two options are: lose my mind or give up on my PC build and play candy crush until I'm 60.



    What is the correct course of action I must take? Looking to be pointed in the right direction by an expert/ specialist
     

    Attached Files:

  19. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,116
    Likes Received:
    8,611
    GPU:
    GF RTX 2070 Super
  20. elaganza

    elaganza Master Guru

    Messages:
    222
    Likes Received:
    26
    GPU:
    Sapphire r9 380
    don"t know. For me this is too risky. Enabled Msi mode for Standart Ide Controller and at next boot got no IDE disc. In registry "Interrupt Management" field was missing. Had to re-install driver for controller.Good idea for me is i avoided to set Sata Controllers at Msi mode because if something went wrong i would get unbootable system. But this time my X-fi audio works at Msi mode. Before it was soundless after reboot.
     

Share This Page