Index: /trunk/include/VBox/em.h
===================================================================
--- /trunk/include/VBox/em.h	(revision 30049)
+++ /trunk/include/VBox/em.h	(revision 30050)
@@ -214,6 +214,4 @@
 VMMR3DECL(int)      EMR3Interpret(PVM pVM);
 
-VMMR3DECL(void)     EMR3ReleaseOwnedLocks(PVM pVM);
-
 /**
  * Command argument for EMR3RawSetMode().
Index: /trunk/include/VBox/iom.h
===================================================================
--- /trunk/include/VBox/iom.h	(revision 30049)
+++ /trunk/include/VBox/iom.h	(revision 30050)
@@ -264,5 +264,4 @@
 VMMR3DECL(int)  IOMR3MMIODeregister(PVM pVM, PPDMDEVINS pDevIns, RTGCPHYS GCPhysStart, RTUINT cbRange);
 
-VMMR3DECL(void) IOMR3ReleaseOwnedLocks(PVM pVM);
 VMMR3DECL(PPDMCRITSECT) IOMR3GetCritSect(PVM pVM);
 
Index: /trunk/include/VBox/mm.h
===================================================================
--- /trunk/include/VBox/mm.h	(revision 30049)
+++ /trunk/include/VBox/mm.h	(revision 30050)
@@ -253,5 +253,4 @@
 
 VMMR3DECL(int)      MMR3HCPhys2HCVirt(PVM pVM, RTHCPHYS HCPhys, void **ppv);
-VMMR3DECL(void)     MMR3ReleaseOwnedLocks(PVM pVM);
 
 /** @defgroup grp_mm_r3_hyper  Hypervisor Memory Manager (HC R3 Portion)
Index: /trunk/include/VBox/pdmapi.h
===================================================================
--- /trunk/include/VBox/pdmapi.h	(revision 30049)
+++ /trunk/include/VBox/pdmapi.h	(revision 30050)
@@ -126,6 +126,4 @@
 VMMR3DECL(int)  PDMR3VMMDevHeapFree(PVM pVM, RTR3PTR pv);
 VMMR3DECL(int)  PDMR3UnregisterVMMDevHeap(PVM pVM, RTGCPHYS GCPhys);
-
-VMMR3DECL(void) PDMR3ReleaseOwnedLocks(PVM pVM);
 /** @} */
 
Index: /trunk/include/VBox/pgm.h
===================================================================
--- /trunk/include/VBox/pgm.h	(revision 30049)
+++ /trunk/include/VBox/pgm.h	(revision 30050)
@@ -552,6 +552,4 @@
 VMMR3DECL(int)      PGMR3PhysAllocateLargeHandyPage(PVM pVM, RTGCPHYS GCPhys);
 
-VMMR3DECL(void)     PGMR3ReleaseOwnedLocks(PVM pVM);
-
 VMMR3DECL(int)      PGMR3CheckIntegrity(PVM pVM);
 
Index: /trunk/src/VBox/VMM/EM.cpp
===================================================================
--- /trunk/src/VBox/VMM/EM.cpp	(revision 30049)
+++ /trunk/src/VBox/VMM/EM.cpp	(revision 30050)
@@ -1633,15 +1633,4 @@
 }
 
-/**
- * Release the IOM lock if owned by the current VCPU
- *
- * @param   pVM         The VM to operate on.
- */
-VMMR3DECL(void) EMR3ReleaseOwnedLocks(PVM pVM)
-{
-    while (PDMCritSectIsOwner(&pVM->em.s.CritSectREM))
-        PDMCritSectLeave(&pVM->em.s.CritSectREM);
-}
-
 
 /**
Index: /trunk/src/VBox/VMM/IOM.cpp
===================================================================
--- /trunk/src/VBox/VMM/IOM.cpp	(revision 30049)
+++ /trunk/src/VBox/VMM/IOM.cpp	(revision 30050)
@@ -1700,16 +1700,4 @@
 
 /**
- * Release the IOM lock if owned by the current VCPU
- *
- * @param   pVM         The VM to operate on.
- */
-VMMR3DECL(void) IOMR3ReleaseOwnedLocks(PVM pVM)
-{
-    while (PDMCritSectIsOwner(&pVM->iom.s.EmtLock))
-        PDMCritSectLeave(&pVM->iom.s.EmtLock);
-}
-
-
-/**
  * For TM only!
  *
Index: /trunk/src/VBox/VMM/MMHyper.cpp
===================================================================
--- /trunk/src/VBox/VMM/MMHyper.cpp	(revision 30049)
+++ /trunk/src/VBox/VMM/MMHyper.cpp	(revision 30050)
@@ -1224,17 +1224,4 @@
 }
 
-/**
- * Release the MM hypervisor heap lock if owned by the current VCPU
- *
- * @param   pVM         The VM to operate on.
- */
-VMMR3DECL(void) MMR3ReleaseOwnedLocks(PVM pVM)
-{
-    PMMHYPERHEAP pHeap = pVM->mm.s.CTX_SUFF(pHyperHeap);
-
-    while (pHeap && PDMCritSectIsOwner(&pHeap->Lock))
-        PDMCritSectLeave(&pHeap->Lock);
-}
-
 
 /**
Index: /trunk/src/VBox/VMM/PDM.cpp
===================================================================
--- /trunk/src/VBox/VMM/PDM.cpp	(revision 30049)
+++ /trunk/src/VBox/VMM/PDM.cpp	(revision 30050)
@@ -2118,12 +2118,2 @@
 }
 
-/**
- * Release the PDM lock if owned by the current VCPU
- *
- * @param   pVM         The VM to operate on.
- */
-VMMR3DECL(void) PDMR3ReleaseOwnedLocks(PVM pVM)
-{
-    while (PDMCritSectIsOwner(&pVM->pdm.s.CritSect))
-        PDMCritSectLeave(&pVM->pdm.s.CritSect);
-}
Index: /trunk/src/VBox/VMM/PGM.cpp
===================================================================
--- /trunk/src/VBox/VMM/PGM.cpp	(revision 30049)
+++ /trunk/src/VBox/VMM/PGM.cpp	(revision 30050)
@@ -3350,14 +3350,4 @@
 }
 
-/**
- * Release the pgm lock if owned by the current VCPU
- *
- * @param   pVM         The VM to operate on.
- */
-VMMR3DECL(void) PGMR3ReleaseOwnedLocks(PVM pVM)
-{
-    while (PDMCritSectIsOwner(&pVM->pgm.s.CritSect))
-        PDMCritSectLeave(&pVM->pgm.s.CritSect);
-}
 
 /**
Index: /trunk/src/VBox/VMM/VMMGuruMeditation.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMGuruMeditation.cpp	(revision 30049)
+++ /trunk/src/VBox/VMM/VMMGuruMeditation.cpp	(revision 30050)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -210,13 +210,5 @@
 
     /* Release owned locks to make sure other VCPUs can continue in case they were waiting for one. */
-#if 1
     PDMR3CritSectLeaveAll(pVM);
-#else
-    MMR3ReleaseOwnedLocks(pVM);
-    PGMR3ReleaseOwnedLocks(pVM);
-    PDMR3ReleaseOwnedLocks(pVM);
-    IOMR3ReleaseOwnedLocks(pVM);
-    EMR3ReleaseOwnedLocks(pVM);
-#endif
 
     /*
