00001 /*++ 00002 00003 Copyright (c) 1989 Microsoft Corporation 00004 00005 Module Name: 00006 00007 splocks.c 00008 00009 Abstract: 00010 00011 All global spinlocks in the kernel image are declared in this 00012 module. This is done so that each spinlock can be spaced out 00013 sufficiently to guaarantee that the L2 cache does not thrash 00014 by having a spinlock and another high use varible in the same 00015 cache line. 00016 00017 00018 Author: 00019 00020 Ken Reneris (kenr) 13-Jan-1992 00021 00022 Revision History: 00023 00024 --*/ 00025 00026 #include "exp.h" 00027 00028 // 00029 // Static SpinLocks from ntos\cc\cachedat.c 00030 // 00031 00032 KSPIN_LOCK CcWorkQueueSpinlock = 0; 00033 KSPIN_LOCK CcDeferredWriteSpinLock = 0; 00034 KSPIN_LOCK CcDebugTraceLock = 0; 00035 KSPIN_LOCK CcBcbSpinLock = 0; 00036 00037 // 00038 // Static SpinLocks from ntos\ex 00039 // 00040 00041 KSPIN_LOCK ExpLuidLock = 0; // luid.c 00042 KSPIN_LOCK PoolTraceLock = 0; // pool.c 00043 00044 // 00045 // Static SpinLocks from ntos\io\iodata.c 00046 // 00047 00048 KSPIN_LOCK IopErrorLogLock = 0; 00049 KSPIN_LOCK IopErrorLogAllocationLock = 0; 00050 KSPIN_LOCK IopTimerLock = 0; 00051 00052 // 00053 // Static SpinLocks from ntos\kd\kdlock.c 00054 // 00055 00056 KSPIN_LOCK KdpDebuggerLock = 0; 00057 00058 // 00059 // Static SpinLocks from ntos\ke\kernldat.c 00060 // 00061 00062 KSPIN_LOCK KiFreezeExecutionLock = 0; 00063 KSPIN_LOCK KiFreezeLockBackup = 0; 00064 ULONG_PTR KiHardwareTrigger = 0; 00065 KSPIN_LOCK KiPowerNotifyLock = 0; 00066 KSPIN_LOCK KiProfileLock = 0; 00067 00068 // 00069 // Static SpinLocks from ntos\mm\miglobal.c 00070 // 00071 00072 KSPIN_LOCK MmSystemSpaceLock = 0; 00073 KSPIN_LOCK MmAllowWSExpansionLock = 0; 00074 00075 // 00076 // Static SpinLocks from ntos\ps\psinit.c 00077 // 00078 00079 KSPIN_LOCK PspEventPairLock = 0; 00080 KSPIN_LOCK PsLoadedModuleSpinLock = 0; 00081 00082 // 00083 // Static SpinLocks from ntos\fsrtl\fsrtlp.c 00084 // 00085 00086 KSPIN_LOCK FsRtlStrucSupSpinLock = 0; // fsrtlp.c