#include "ki.h"
Go to the source code of this file.
Defines | |
#define | MAXIMUM_THREAD_STACKS 20 |
#define | PERIODIC_INTERVAL (1 * 1000 * 1000 * 10) |
#define | READY_WITHOUT_RUNNING (4 * 75) |
#define | SMALL_SYSTEM_STACK_PROTECT_TIME (3 * 75) |
#define | STACK_PROTECT_TIME (7 * 75) |
#define | STACK_SCAN_PERIOD 4 |
#define | THREAD_BOOST_BIAS 1 |
#define | THREAD_BOOST_PRIORITY (LOW_REALTIME_PRIORITY - THREAD_BOOST_BIAS) |
#define | THREAD_SCAN_PRIORITY (THREAD_BOOST_PRIORITY - 1) |
#define | THREAD_READY_COUNT 10 |
#define | THREAD_SCAN_COUNT 16 |
#define | EXECUTION_TIME_LIMITS_PERIOD 7 |
Typedefs | |
typedef enum _BALANCE_OBJECT | BALANCE_OBJECT |
Enumerations | |
enum | _BALANCE_OBJECT { TimerExpiration, WorkingSetManagerEvent, MaximumObject } |
Functions | |
VOID | KiInSwapKernelStacks (IN KIRQL PreviousIrql) |
VOID | KiInSwapProcesses (IN KIRQL PreviousIrql) |
VOID | KiOutSwapKernelStacks (IN KIRQL PreviousIrql) |
VOID | KiOutSwapProcesses (IN KIRQL PreviousIrql) |
VOID | KiScanReadyQueues (VOID) |
VOID | KeBalanceSetManager (IN PVOID Context) |
VOID | KeSwapProcessOrStack (IN PVOID Context) |
Variables | |
ULONG | KiStackProtectTime |
ULONG | KiReadyQueueIndex = 1 |
BOOLEAN | KiStackOutSwapRequest = FALSE |
|
Definition at line 98 of file balmgr.c. Referenced by KeBalanceSetManager(). |
|
Definition at line 63 of file balmgr.c. Referenced by KiOutSwapKernelStacks(). |
|
Definition at line 69 of file balmgr.c. Referenced by KeBalanceSetManager(). |
|
Definition at line 76 of file balmgr.c. Referenced by KiScanReadyQueues(). |
|
Definition at line 83 of file balmgr.c. Referenced by KeBalanceSetManager(). |
|
Definition at line 84 of file balmgr.c. Referenced by KeBalanceSetManager(). |
|
Definition at line 85 of file balmgr.c. Referenced by KeBalanceSetManager(). |
|
|
|
Definition at line 93 of file balmgr.c. Referenced by KiScanReadyQueues(). |
|
Definition at line 95 of file balmgr.c. Referenced by KiScanReadyQueues(). |
|
Definition at line 96 of file balmgr.c. Referenced by KiScanReadyQueues(). |
|
Definition at line 94 of file balmgr.c. Referenced by KiScanReadyQueues(). |
|
|
|
Definition at line 52 of file balmgr.c.
|
|
Definition at line 142 of file balmgr.c. References ExAdjustLookasideDepth(), EXECUTION_TIME_LIMITS_PERIOD, Executive, FALSE, KeGetCurrentThread, KeInitializeTimer(), KernelMode, KeSetEvent(), KeSetPriorityThread(), KeSetTimer(), KeWaitForMultipleObjects(), KiLockDispatcherDatabase, KiScanReadyQueues(), KiStackOutSwapRequest, KiStackProtectTime, KiSwapEvent, KiUnlockDispatcherDatabase(), KWAIT_BLOCK, MaximumObject, MmQuerySystemSize(), MmSmallSystem, MmWorkingSetManager(), MmWorkingSetManagerEvent, NTSTATUS(), NULL, PERIODIC_INTERVAL, PsEnforceExecutionTimeLimits(), SMALL_SYSTEM_STACK_PROTECT_TIME, STACK_PROTECT_TIME, STACK_SCAN_PERIOD, Status, TimerExpiration, TRUE, and WorkingSetManagerEvent. Referenced by MmInitSystem().
|
|
Definition at line 322 of file balmgr.c. References Executive, FALSE, KeGetCurrentThread, KernelMode, KeSetPriorityThread(), KeWaitForSingleObject(), KiInSwapKernelStacks(), KiInSwapProcesses(), KiLockDispatcherDatabase, KiOutSwapKernelStacks(), KiOutSwapProcesses(), KiProcessInSwapListHead, KiProcessOutSwapListHead, KiStackInSwapListHead, KiStackOutSwapRequest, KiSwapEvent, KiUnlockDispatcherDatabase(), NTSTATUS(), NULL, Status, and TRUE. Referenced by MmInitSystem().
|
|
Definition at line 431 of file balmgr.c. References _KTHREAD::KernelStackResident, KiLockDispatcherDatabase, KiReadyThread(), KiStackInSwapListHead, KiUnlockDispatcherDatabase(), MmInPageKernelStack(), and TRUE. Referenced by KeSwapProcessOrStack().
|
|
Definition at line 483 of file balmgr.c. References FALSE, KiLockDispatcherDatabase, KiProcessInSwapListHead, KiReadyThread(), KiUnlockDispatcherDatabase(), MmInSwapProcess(), ProcessInMemory, ProcessInSwap, _KTHREAD::ProcessReadyQueue, _KPROCESS::ReadyListHead, and _KPROCESS::State. Referenced by KeSwapProcessOrStack().
|
|
Definition at line 544 of file balmgr.c. References ASSERT, FALSE, _KTHREAD::KernelStackResident, KiIsThreadNumericStateSaved, KiLockDispatcherDatabase, KiProcessOutSwapListHead, KiStackProtectTime, KiUnlockDispatcherDatabase(), KiWaitInListHead, KiWaitOutListHead, MAXIMUM_THREAD_STACKS, MmOutPageKernelStack(), ProcessInTransition, _KPROCESS::StackCount, _KPROCESS::State, _KPROCESS::SwapListEntry, UserMode, _KTHREAD::WaitMode, and _KTHREAD::WaitTime. Referenced by KeSwapProcessOrStack().
|
|
Definition at line 644 of file balmgr.c. References FALSE, KiLockDispatcherDatabase, KiProcessInSwapListHead, KiProcessOutSwapListHead, KiReadyThread(), KiUnlockDispatcherDatabase(), MmOutSwapProcess(), ProcessInMemory, ProcessInTransition, ProcessOutOfMemory, ProcessOutSwap, _KTHREAD::ProcessReadyQueue, _KPROCESS::ReadyListHead, _KPROCESS::State, and _KPROCESS::SwapListEntry. Referenced by KeSwapProcessOrStack().
|
|
Definition at line 732 of file balmgr.c. References _KTHREAD::ApcState, ASSERT, ClearMember, Count, _KTHREAD::DecrementCount, FALSE, Index, KiDispatcherReadyListHead, KiLockDispatcherDatabase, KiReadyQueueIndex, KiReadySummary, KiReadyThread(), KiUnlockDispatcherDatabase(), _KTHREAD::Priority, _KTHREAD::PriorityDecrement, _KAPC_STATE::Process, _KTHREAD::Quantum, READY_WITHOUT_RUNNING, ROUND_TRIP_DECREMENT_COUNT, THREAD_BOOST_PRIORITY, THREAD_READY_COUNT, THREAD_SCAN_COUNT, THREAD_SCAN_PRIORITY, _KPROCESS::ThreadQuantum, and _KTHREAD::WaitTime. Referenced by KeBalanceSetManager().
|
|
Definition at line 133 of file balmgr.c. Referenced by KiScanReadyQueues(). |
|
Definition at line 139 of file balmgr.c. Referenced by KeBalanceSetManager(), and KeSwapProcessOrStack(). |
|
Definition at line 86 of file balmgr.c. Referenced by KeBalanceSetManager(), KiOutSwapKernelStacks(), MiApplyDriverVerifier(), and MiVerifyingDriverUnloading(). |