- IoAcquire/ReleaseVpbSpinLock: Use the queued IopVpbSpinLock spinlock instead of a regular "IoVpbLock" spinlock

svn path=/trunk/; revision=36139
This commit is contained in:
Stefan Ginsberg 2008-09-11 16:53:36 +00:00
parent 81bc975c28
commit 938228918e
2 changed files with 2 additions and 5 deletions

View file

@ -68,7 +68,6 @@ extern LIST_ENTRY IopErrorLogListHead;
extern LIST_ENTRY IopTimerQueueHead; extern LIST_ENTRY IopTimerQueueHead;
extern KDPC IopTimerDpc; extern KDPC IopTimerDpc;
extern KTIMER IopTimer; extern KTIMER IopTimer;
extern KSPIN_LOCK IoVpbLock;
extern KSPIN_LOCK IoStatisticsLock; extern KSPIN_LOCK IoStatisticsLock;
extern KSPIN_LOCK DriverReinitListLock; extern KSPIN_LOCK DriverReinitListLock;
extern KSPIN_LOCK DriverBootReinitListLock; extern KSPIN_LOCK DriverBootReinitListLock;
@ -462,7 +461,6 @@ IoInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
InitializeListHead(&LastChanceShutdownListHead); InitializeListHead(&LastChanceShutdownListHead);
InitializeListHead(&FsChangeNotifyListHead); InitializeListHead(&FsChangeNotifyListHead);
InitializeListHead(&IopErrorLogListHead); InitializeListHead(&IopErrorLogListHead);
KeInitializeSpinLock(&IoVpbLock);
KeInitializeSpinLock(&IoStatisticsLock); KeInitializeSpinLock(&IoStatisticsLock);
KeInitializeSpinLock(&DriverReinitListLock); KeInitializeSpinLock(&DriverReinitListLock);
KeInitializeSpinLock(&DriverBootReinitListLock); KeInitializeSpinLock(&DriverBootReinitListLock);

View file

@ -26,7 +26,6 @@ LIST_ENTRY IopDiskFsListHead, IopNetworkFsListHead;
LIST_ENTRY IopCdRomFsListHead, IopTapeFsListHead; LIST_ENTRY IopCdRomFsListHead, IopTapeFsListHead;
KGUARDED_MUTEX FsChangeNotifyListLock; KGUARDED_MUTEX FsChangeNotifyListLock;
LIST_ENTRY FsChangeNotifyListHead; LIST_ENTRY FsChangeNotifyListHead;
KSPIN_LOCK IoVpbLock;
/* PRIVATE FUNCTIONS *********************************************************/ /* PRIVATE FUNCTIONS *********************************************************/
@ -923,7 +922,7 @@ NTAPI
IoAcquireVpbSpinLock(OUT PKIRQL Irql) IoAcquireVpbSpinLock(OUT PKIRQL Irql)
{ {
/* Simply acquire the lock */ /* Simply acquire the lock */
KeAcquireSpinLock(&IoVpbLock, Irql); *Irql = KeAcquireQueuedSpinLock(LockQueueIoVpbLock);
} }
/* /*
@ -934,7 +933,7 @@ NTAPI
IoReleaseVpbSpinLock(IN KIRQL Irql) IoReleaseVpbSpinLock(IN KIRQL Irql)
{ {
/* Just release the lock */ /* Just release the lock */
KeReleaseSpinLock(&IoVpbLock, Irql); KeReleaseQueuedSpinLock(LockQueueIoVpbLock, Irql);
} }
/* /*