VirtualBox

Changeset 22707 in vbox for trunk


Ignore:
Timestamp:
Sep 2, 2009 11:02:48 AM (15 years ago)
Author:
vboxsync
Message:

REM: Double the size of aHandlerNotifications and make sure there are at least 48 free entries in REMNotifyHandlerPhysicalFlushIfAlmostFull. This should hopefully get rid of the rare cases where we need to flush the notifications during pgmMapActivateCR3 in RC.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vm.h

    r22042 r22707  
    973973/** @def VM_REM_SIZE
    974974 * Must be multiple of 32 and coherent with REM_ENV_SIZE from REMInternal.h. */
    975 # define VM_REM_SIZE        0x10A00
     975# define VM_REM_SIZE        0x11100
    976976        char        padding[VM_REM_SIZE];   /* multiple of 32 */
    977977    } rem;
  • trunk/src/VBox/VMM/REMInternal.h

    r20749 r22707  
    175175    /** Array of recorded handler noticications.
    176176     * These are replayed when entering REM. */
    177     REMHANDLERNOTIFICATION  aHandlerNotifications[32];
     177    REMHANDLERNOTIFICATION  aHandlerNotifications[64];
    178178    volatile uint32_t       idxPendingList;
    179179    volatile uint32_t       idxFreeList;
  • trunk/src/VBox/VMM/VMMAll/REMAll.cpp

    r21519 r22707  
    214214
    215215    /*
    216      * Less than 20 items means we should flush.
     216     * Less than 48 items means we should flush.
    217217     */
    218218    uint32_t cFree = 0;
     
    222222    {
    223223        Assert(idx < RT_ELEMENTS(pVM->rem.s.aHandlerNotifications));
    224         if (++cFree > 20)
     224        if (++cFree >= 48)
    225225            return;
    226226    }
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