VirtualBox

Ignore:
Timestamp:
Feb 23, 2012 11:15:37 AM (13 years ago)
Author:
vboxsync
Message:

VMM/VMMR0 SupDrv Solaris/MpNotification: Fix guru meditation/panics when host CPUs are dynamically offline'd/online'd. More flexibility if offline notifications don't fire on the desired CPU.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/solaris/vbi/mpnotification-r0drv-solaris.c

    r37274 r40227  
    9393        rtMpNotificationSolarisOnCurrentCpu(&Args, NULL /* pvIgnored1 */, NULL /* pvIgnored2 */);
    9494    else
    95         vbi_execute_on_one(rtMpNotificationSolarisOnCurrentCpu, &Args, iCpu);
     95    {
     96        if (online)
     97            vbi_execute_on_one(rtMpNotificationSolarisOnCurrentCpu, &Args, iCpu);
     98        else
     99        {
     100            /*
     101             * Since we don't absolutely need to do CPU bound code in any of the CPU offline
     102             * notification hooks, run it on the current CPU. Scheduling a callback to execute
     103             * on the CPU going offline at this point is too late and will not work reliably.
     104             */
     105            RTCpuSetDel(&g_rtMpSolarisCpuSet, iCpu);
     106            rtMpNotificationDoCallbacks(RTMPEVENT_OFFLINE, iCpu);
     107        }
     108    }
    96109
    97110    vbi_preempt_enable();
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