VirtualBox

Changeset 5080 in vbox


Ignore:
Timestamp:
Sep 27, 2007 3:31:09 PM (17 years ago)
Author:
vboxsync
Message:

Debugging problem with too much spinning. Read parameters.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMEmt.cpp

    r5031 r5080  
    352352     * The defaults.
    353353     */
     354#if 1 /* DEBUGGING STUFF - REMOVE LATER */
     355    pVM->vm.s.Halt.Method12.u32LagBlockIntervalDivisorCfg = 4;
     356    pVM->vm.s.Halt.Method12.u32MinBlockIntervalCfg =   2*1000000;
     357    pVM->vm.s.Halt.Method12.u32MaxBlockIntervalCfg =  75*1000000;
     358    pVM->vm.s.Halt.Method12.u32StartSpinningCfg    =  30*1000000;
     359    pVM->vm.s.Halt.Method12.u32StopSpinningCfg     =  20*1000000;
     360#else
    354361    pVM->vm.s.Halt.Method12.u32LagBlockIntervalDivisorCfg = 4;
    355362    pVM->vm.s.Halt.Method12.u32MinBlockIntervalCfg =   5*1000000;
     
    357364    pVM->vm.s.Halt.Method12.u32StartSpinningCfg    =  20*1000000;
    358365    pVM->vm.s.Halt.Method12.u32StopSpinningCfg     =   2*1000000;
     366#endif
    359367
    360368    /*
    361369     * Query overrides.
     370     *
     371     * I don't have time to bother with niceities such as invalid value checks
     372     * here right now. sorry.
    362373     */
    363374    PCFGMNODE pCfg = CFGMR3GetChild(CFGMR3GetRoot(pVM), "/VMM/HaltedMethod1");
    364375    if (pCfg)
    365376    {
    366 
     377        uint32_t u32;
     378        if (RT_SUCCESS(CFGMR3QueryU32(pCfg, "LagBlockIntervalDivisor", &u32)))
     379            pVM->vm.s.Halt.Method12.u32LagBlockIntervalDivisorCfg = u32;
     380        if (RT_SUCCESS(CFGMR3QueryU32(pCfg, "MinBlockInterval", &u32)))
     381            pVM->vm.s.Halt.Method12.u32MinBlockIntervalCfg = u32;
     382        if (RT_SUCCESS(CFGMR3QueryU32(pCfg, "MaxBlockInterval", &u32)))
     383            pVM->vm.s.Halt.Method12.u32MaxBlockIntervalCfg = u32;
     384        if (RT_SUCCESS(CFGMR3QueryU32(pCfg, "StartSpinning", &u32)))
     385            pVM->vm.s.Halt.Method12.u32StartSpinningCfg = u32;
     386        if (RT_SUCCESS(CFGMR3QueryU32(pCfg, "StopSpinning", &u32)))
     387            pVM->vm.s.Halt.Method12.u32StopSpinningCfg = u32;
     388        LogRel(("HaltedMethod1 config: %d/%d/%d/%d/%d\n",
     389                pVM->vm.s.Halt.Method12.u32LagBlockIntervalDivisorCfg,
     390                pVM->vm.s.Halt.Method12.u32MinBlockIntervalCfg,
     391                pVM->vm.s.Halt.Method12.u32MaxBlockIntervalCfg,
     392                pVM->vm.s.Halt.Method12.u32StartSpinningCfg,
     393                pVM->vm.s.Halt.Method12.u32StopSpinningCfg));
    367394    }
    368395
     
    463490        if (    (   !fSpinning
    464491                 || fBlockOnce)
     492#if 1 /* DEBUGGING STUFF - REMOVE LATER */
     493            &&  u64NanoTS >= 100000) /* 0.100 ms */
     494#else
    465495            &&  u64NanoTS >= 250000) /* 0.250 ms */
     496#endif
    466497        {
    467498            const uint64_t Start = pVM->vm.s.Halt.Method12.u64LastBlockTS = RTTimeNanoTS();
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