Author: sginsberg
Date: Thu Sep 11 11:53:36 2008
New Revision: 36139
URL:
http://svn.reactos.org/svn/reactos?rev=36139&view=rev
Log:
- IoAcquire/ReleaseVpbSpinLock: Use the queued IopVpbSpinLock spinlock instead of a
regular "IoVpbLock" spinlock
Modified:
trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
trunk/reactos/ntoskrnl/io/iomgr/volume.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iomgr.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] Thu Sep 11 11:53:36 2008
@@ -68,7 +68,6 @@
extern LIST_ENTRY IopTimerQueueHead;
extern KDPC IopTimerDpc;
extern KTIMER IopTimer;
-extern KSPIN_LOCK IoVpbLock;
extern KSPIN_LOCK IoStatisticsLock;
extern KSPIN_LOCK DriverReinitListLock;
extern KSPIN_LOCK DriverBootReinitListLock;
@@ -462,7 +461,6 @@
InitializeListHead(&LastChanceShutdownListHead);
InitializeListHead(&FsChangeNotifyListHead);
InitializeListHead(&IopErrorLogListHead);
- KeInitializeSpinLock(&IoVpbLock);
KeInitializeSpinLock(&IoStatisticsLock);
KeInitializeSpinLock(&DriverReinitListLock);
KeInitializeSpinLock(&DriverBootReinitListLock);
Modified: trunk/reactos/ntoskrnl/io/iomgr/volume.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/volume.c…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/volume.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/volume.c [iso-8859-1] Thu Sep 11 11:53:36 2008
@@ -26,7 +26,6 @@
LIST_ENTRY IopCdRomFsListHead, IopTapeFsListHead;
KGUARDED_MUTEX FsChangeNotifyListLock;
LIST_ENTRY FsChangeNotifyListHead;
-KSPIN_LOCK IoVpbLock;
/* PRIVATE FUNCTIONS *********************************************************/
@@ -923,7 +922,7 @@
IoAcquireVpbSpinLock(OUT PKIRQL Irql)
{
/* Simply acquire the lock */
- KeAcquireSpinLock(&IoVpbLock, Irql);
+ *Irql = KeAcquireQueuedSpinLock(LockQueueIoVpbLock);
}
/*
@@ -934,7 +933,7 @@
IoReleaseVpbSpinLock(IN KIRQL Irql)
{
/* Just release the lock */
- KeReleaseSpinLock(&IoVpbLock, Irql);
+ KeReleaseQueuedSpinLock(LockQueueIoVpbLock, Irql);
}
/*