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?r... ============================================================================== --- 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); }
/*