VirtualBox

Changeset 56816 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jul 6, 2015 1:02:48 PM (10 years ago)
Author:
vboxsync
Message:

VMM/GIM: Don't obtain the GVMM usedlock while trying to wake up an EMT from another EMT in ring-0.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/GIMAllKvm.cpp

    r56813 r56816  
    9292                VMCPU_FF_SET(pVCpuTarget, VMCPU_FF_UNHALT);
    9393#ifdef IN_RING0
    94                 GVMMR0SchedWakeUp(pVM, pVCpuTarget->idCpu);
     94                /*
     95                 * We might be here with preemption disabled or enabled (i.e. depending on thread-context hooks
     96                 * being used), so don't try obtaining the GVMMR0 used lock here. See @bugref{7270} comment #148.
     97                 */
     98                GVMMR0SchedWakeUpEx(pVM, pVCpuTarget->idCpu, false /* fTakeUsedLock */);
    9599#elif defined(IN_RING3)
    96100                int rc2 = SUPR3CallVMMR0(pVM->pVMR0, pVCpuTarget->idCpu, VMMR0_DO_GVMM_SCHED_WAKE_UP, NULL);
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