VirtualBox

Changeset 19657 in vbox


Ignore:
Timestamp:
May 13, 2009 12:40:19 PM (16 years ago)
Author:
vboxsync
Message:

Fixed new lock/unlock behaviour

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp

    r19652 r19657  
    16381638            rc = gvmmR0SchedWakeUpOne(pGVM, &pGVM->aCpus[idCpu]);
    16391639
    1640             /*
    1641              * While we're here, do a round of scheduling.
    1642              */
    1643             Assert(ASMGetFlags() & X86_EFL_IF);
    1644             const uint64_t u64Now = RTTimeNanoTS(); /* (GIP time) */
    1645             pGVM->gvmm.s.StatsSched.cWakeUpWakeUps += gvmmR0SchedDoWakeUps(pGVMM, u64Now);
     1640            if (fTakeUsedLock)
     1641            {
     1642                /*
     1643                 * While we're here, do a round of scheduling.
     1644                 */
     1645                Assert(ASMGetFlags() & X86_EFL_IF);
     1646                const uint64_t u64Now = RTTimeNanoTS(); /* (GIP time) */
     1647                pGVM->gvmm.s.StatsSched.cWakeUpWakeUps += gvmmR0SchedDoWakeUps(pGVMM, u64Now);
     1648            }
    16461649        }
    16471650        else
    16481651            rc = VERR_INVALID_CPU_ID;
    16491652
    1650         int rc2 = gvmmR0UsedUnlock(pGVMM);
    1651         AssertRC(rc2);
     1653        if (fTakeUsedLock)
     1654        {
     1655            int rc2 = gvmmR0UsedUnlock(pGVMM);
     1656            AssertRC(rc2);
     1657        }
    16521658    }
    16531659
     
    17251731            rc = VERR_INVALID_CPU_ID;
    17261732
    1727         int rc2 = gvmmR0UsedUnlock(pGVMM);
    1728         AssertRC(rc2);
     1733        if (fTakeUsedLock)
     1734        {
     1735            int rc2 = gvmmR0UsedUnlock(pGVMM);
     1736            AssertRC(rc2);
     1737        }
    17291738    }
    17301739
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