- 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 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 @@ IoInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
InitializeListHead(&LastChanceShutdownListHead);
InitializeListHead(&FsChangeNotifyListHead);
InitializeListHead(&IopErrorLogListHead);
KeInitializeSpinLock(&IoVpbLock);
KeInitializeSpinLock(&IoStatisticsLock);
KeInitializeSpinLock(&DriverReinitListLock);
KeInitializeSpinLock(&DriverBootReinitListLock);

View file

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