VirtualBox

Changeset 77382 in vbox


Ignore:
Timestamp:
Feb 20, 2019 1:44:22 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
128933
Message:

VMM: Further improvments on the IEM timer polling by making it fully configurable. Sideeffect is that EMSTATE_IEM_THEN_REM has now become more accurate and will execute fewer instructions (exactly 1024 rather than up to 1023+4096) before switching to REM. [burn fix?]

File:
1 edited

Legend:

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

    r77381 r77382  
    1440114401             * The run loop.  We limit ourselves to 4096 instructions right now.
    1440214402             */
     14403            uint32_t cMaxInstructionsGccStupidity = cMaxInstructions;
    1440314404            PVM pVM = pVCpu->CTX_SUFF(pVM);
    1440414405            for (;;)
     
    1444114442                                      && !VM_FF_IS_ANY_SET(pVM, VM_FF_ALL_MASK) ))
    1444214443                        {
    14443                             if (cMaxInstructions-- > 0)
     14444                            if (cMaxInstructionsGccStupidity-- > 0)
    1444414445                            {
    1444514446                                /* Poll timers every now an then according to the caller's specs. */
    14446                                 if (   (cMaxInstructions & cPollRate) != 0
     14447                                if (   (cMaxInstructionsGccStupidity & cPollRate) != 0
    1444714448                                    || !TMTimerPollBool(pVM, pVCpu))
    1444814449                                {
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