Expand spinlock queue levels
This commit is contained in:
@@ -24,12 +24,48 @@ BOOLEAN KE::KUbsan::ActiveFrame = FALSE;
|
||||
/* Kernel dispatcher lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::DispatcherLockQueue;
|
||||
|
||||
/* Kernel expansion lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::ExpansionLockQueue;
|
||||
|
||||
/* Kernel file system structures lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::FileSystemLockQueue;
|
||||
|
||||
/* Kernel IO cancel lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::IoCancelLockQueue;
|
||||
|
||||
/* Kernel IO completion lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::IoCompletionLockQueue;
|
||||
|
||||
/* Kernel IO database lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::IoDatabaseLockQueue;
|
||||
|
||||
/* Kernel IO VPB lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::IoVpbLockQueue;
|
||||
|
||||
/* Kernel cache master lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::MasterLockQueue;
|
||||
|
||||
/* Kernel non-paged allocator lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::NonPagedAllocLockQueue;
|
||||
|
||||
/* Kernel non-paged pool lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::NonPagedPoolLockQueue;
|
||||
|
||||
/* Kernel PFN lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::PfnLockQueue;
|
||||
|
||||
/* Kernel system space lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::SystemSpaceLockQueue;
|
||||
|
||||
/* Kernel Timer table lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::TimerTableLockQueue;
|
||||
|
||||
/* Kernel VACB lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::VacbLockQueue;
|
||||
|
||||
/* Kernel work queue lock queue */
|
||||
KSPIN_LOCK KE::SpinLock::WorkLockQueue;
|
||||
|
||||
/* Kernel boot resources list */
|
||||
LIST_ENTRY KE::SystemResources::ResourcesListHead;
|
||||
|
||||
|
||||
@@ -93,10 +93,40 @@ KE::SpinLock::InitializeLockQueues()
|
||||
/* Initialize PCB lock queues */
|
||||
ControlBlock->LockQueue[DispatcherLock].Lock = &DispatcherLockQueue;
|
||||
ControlBlock->LockQueue[DispatcherLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[ExpansionLock].Lock = &ExpansionLockQueue;
|
||||
ControlBlock->LockQueue[ExpansionLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[PfnLock].Lock = &PfnLockQueue;
|
||||
ControlBlock->LockQueue[PfnLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[SystemSpaceLock].Lock = &SystemSpaceLockQueue;
|
||||
ControlBlock->LockQueue[SystemSpaceLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[VacbLock].Lock = &VacbLockQueue;
|
||||
ControlBlock->LockQueue[VacbLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[MasterLock].Lock = &MasterLockQueue;
|
||||
ControlBlock->LockQueue[MasterLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[NonPagedAllocPoolLock].Lock = &NonPagedAllocLockQueue;
|
||||
ControlBlock->LockQueue[NonPagedAllocPoolLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[IoCancelLock].Lock = &IoCancelLockQueue;
|
||||
ControlBlock->LockQueue[IoCancelLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[WorkQueueLock].Lock = &WorkLockQueue;
|
||||
ControlBlock->LockQueue[WorkQueueLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[IoVpbLock].Lock = &IoVpbLockQueue;
|
||||
ControlBlock->LockQueue[IoVpbLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[IoDatabaseLock].Lock = &IoDatabaseLockQueue;
|
||||
ControlBlock->LockQueue[IoDatabaseLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[IoCompletionLock].Lock = &IoCompletionLockQueue;
|
||||
ControlBlock->LockQueue[IoCompletionLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[FileSystemLock].Lock = &FileSystemLockQueue;
|
||||
ControlBlock->LockQueue[FileSystemLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[AfdWorkQueueLock].Lock = NULLPTR;
|
||||
ControlBlock->LockQueue[AfdWorkQueueLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[BcbLock].Lock = NULLPTR;
|
||||
ControlBlock->LockQueue[BcbLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[NonPagedPoolLock].Lock = &NonPagedPoolLockQueue;
|
||||
ControlBlock->LockQueue[NonPagedPoolLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[ReservedSystemLock].Lock = NULLPTR;
|
||||
ControlBlock->LockQueue[ReservedSystemLock].Next = NULLPTR;
|
||||
ControlBlock->LockQueue[TimerTableLock].Lock = &TimerTableLockQueue;
|
||||
ControlBlock->LockQueue[TimerTableLock].Next = NULLPTR;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user