VirtualBox

Ignore:
Timestamp:
Jun 15, 2011 12:44:16 PM (13 years ago)
Author:
vboxsync
Message:

VMM,Devices: Automatically use a per-device lock instead of the giant IOM lock. With exception of the PIC, APIC, IOAPIC and PCI buses which are all using the PDM crit sect, there should be no calls between devices. So, this change should be relatively safe.

File:
1 edited

Legend:

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

    r37452 r37466  
    11371137    iomMmioRetainRange(pRange);
    11381138    PPDMDEVINS pDevIns = pRange->CTX_SUFF(pDevIns);
    1139     PPDMCRITSECT pLock = pDevIns->CTX_SUFF(pCritSect);
     1139    PPDMCRITSECT pLock = pDevIns->CTX_SUFF(pCritSectRo);
    11401140    if (!pLock)
    11411141        pLock = &pVM->iom.s.EmtLock;
     
    13761376    iomMmioRetainRange(pRange);
    13771377    PPDMDEVINS pDevIns = pRange->CTX_SUFF(pDevIns);
    1378     PPDMCRITSECT pLock = pDevIns->CTX_SUFF(pCritSect);
     1378    PPDMCRITSECT pLock = pDevIns->CTX_SUFF(pCritSectRo);
    13791379    if (!pLock)
    13801380        pLock = &pVM->iom.s.EmtLock;
     
    14601460        iomMmioRetainRange(pRange);
    14611461        PPDMDEVINS pDevIns = pRange->CTX_SUFF(pDevIns);
    1462         PPDMCRITSECT pLock = pDevIns->CTX_SUFF(pCritSect);
     1462        PPDMCRITSECT pLock = pDevIns->CTX_SUFF(pCritSectRo);
    14631463        if (!pLock)
    14641464            pLock = &pVM->iom.s.EmtLock;
     
    16101610        iomMmioRetainRange(pRange);
    16111611        PPDMDEVINS pDevIns = pRange->CTX_SUFF(pDevIns);
    1612         PPDMCRITSECT pLock = pDevIns->CTX_SUFF(pCritSect);
     1612        PPDMCRITSECT pLock = pDevIns->CTX_SUFF(pCritSectRo);
    16131613        if (!pLock)
    16141614            pLock = &pVM->iom.s.EmtLock;
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