VirtualBox

Changeset 64789 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Dec 6, 2016 2:26:13 PM (8 years ago)
Author:
vboxsync
Message:

Storage/IOBufMgmt: Reset the bins if there is nothing in the current one but all memory is marked free so it gets defragmented, should fix some I/O hangs observed on the testboxes if a request allocates memory from a higher bin than there are currently objects allocated assigned for (1MB request but only bins with smaller sizes populated leading to failed allocations)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/IOBufMgmt.cpp

    r64682 r64789  
    202202
    203203    PIOBUFMGRBIN pBin = &pThis->paBins[iBin];
     204    /* Reset the bins if there is nothing in the current one but all the memory is marked as free. */
     205    if (   pThis->cbFree == pThis->cbMax
     206        && pBin->iFree == 0)
     207        iobufMgrResetBins(pThis);
     208
    204209    if (pBin->iFree == 0)
    205210    {
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