VirtualBox

Changeset 60769 in vbox for trunk/src/VBox/Runtime/r0drv


Ignore:
Timestamp:
Apr 29, 2016 4:04:12 PM (9 years ago)
Author:
vboxsync
Message:

initterm-r0drv-nt.cpp: bugref:8343: Try not use HalSendSoftwareInterrupt at all and see if that helps. Log which poke method we use.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/nt/initterm-r0drv-nt.cpp

    r57978 r60769  
    426426    g_pfnrtMpPokeCpuWorker = rtMpPokeCpuUsingDpc;
    427427#ifndef IPRT_TARGET_NT4
    428     if (g_pfnrtNtHalSendSoftwareInterrupt)
     428# if 0 /* Currently disabled as we're checking whether it's responsible for @bugref{8343} (smp windows performance issue). */
     429    if (g_pfnrtNtHalSendSoftwareInterrupt && true /* don't do this, SMP performance regression. */)
     430    {
     431        DbgPrint("IPRT: RTMpPoke => rtMpPokeCpuUsingHalSendSoftwareInterrupt\n");
    429432        g_pfnrtMpPokeCpuWorker = rtMpPokeCpuUsingHalSendSoftwareInterrupt;
    430     else if (   g_pfnrtHalRequestIpiW7Plus
     433    }
     434    else
     435#endif
     436         if (   g_pfnrtHalRequestIpiW7Plus
    431437             && g_pfnrtKeInitializeAffinityEx
    432438             && g_pfnrtKeAddProcessorAffinityEx
    433439             && g_pfnrtKeGetProcessorIndexFromNumber)
     440    {
     441        DbgPrint("IPRT: RTMpPoke => rtMpPokeCpuUsingHalReqestIpiW7Plus\n");
    434442        g_pfnrtMpPokeCpuWorker = rtMpPokeCpuUsingHalReqestIpiW7Plus;
     443    }
    435444    else if (OsVerInfo.uMajorVer >= 6 && g_pfnrtKeIpiGenericCall)
     445    {
     446        DbgPrint("IPRT: RTMpPoke => rtMpPokeCpuUsingBroadcastIpi\n");
    436447        g_pfnrtMpPokeCpuWorker = rtMpPokeCpuUsingBroadcastIpi;
     448    }
     449    else
     450        DbgPrint("IPRT: RTMpPoke => rtMpPokeCpuUsingDpc\n");
    437451    /* else: Windows XP should send always send an IPI -> VERIFY */
    438452#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette