#include "mi.h"
Go to the source code of this file.
|
Definition at line 117 of file wsmanage.c. Referenced by MiCheckAndSetSystemTrimCriteria(). |
|
Definition at line 115 of file wsmanage.c. Referenced by MiCheckAndSetSystemTrimCriteria(). |
|
Definition at line 101 of file wsmanage.c. Referenced by MiCheckAndSetSystemTrimCriteria(), MiCheckProcessTrimCriteria(), MiCheckSystemCacheWsTrimCriteria(), MiDetermineWsTrimAmount(), and MmWorkingSetManager(). |
|
Definition at line 2458 of file wsmanage.c. Referenced by MiRearrangeWorkingSetExpansionList(). |
|
|
|
|
|
Definition at line 259 of file wsmanage.c. References FALSE, KeInitializeEvent, MiIdealPassFaultCountDisable, MiWaitForEmptyEvent, MiWaitingForWorkingSetEmpty, MmNumberOfPhysicalPages, MmWorkingSetReductionMax, MmWorkingSetReductionMin, MmWorkingSetVolReductionMax, PAGE_SIZE, and TRUE. Referenced by MmInitSystem().
|
|
Definition at line 996 of file wsmanage.c. References DbgPrint, _MMWS_TRIM_CRITERIA::DesiredFreeGoal, FALSE, _MMWS_TRIM_CRITERIA::FaultBased, KeSetEvent(), LOCK_EXPANSION, LOCK_PFN, MiCheckCounter, MiEmptyAllWorkingSetsWorker(), MiHydra, MiIdealPassFaultCountDisable, MiRearrangeWorkingSetExpansionList(), MiWaitForEmptyEvent, MiWaitingForWorkingSetEmpty, MM_DBG_WS_EXPANSION, MM_IGNORE_FAULT_COUNT, MM_REDUCE_FAULT_COUNT, MM_TRIM_COUNTER_MAXIMUM_LARGE_MEM, MmAmpleFreePages, MmAvailablePages, MmFreeGoal, MmInfoCounters, MmLastFaultCount, MmMinimumFreePages, MmMoreThanEnoughFreePages, MmNumberOfPhysicalPages, MmPagesAboveWsMinimum, _MMWS_TRIM_CRITERIA::NumberOfForegroundProcesses, _MMWS_TRIM_CRITERIA::NumPasses, _MMINFO_COUNTERS::PageFaultCount, PERFINFO_WSMANAGE_DECL, PERFINFO_WSMANAGE_DUMPENTRIES_CLAIMS, PERFINFO_WSMANAGE_DUMPENTRIES_FAULTS, PERFINFO_WSMANAGE_STARTLOG_CLAIMS, PERFINFO_WSMANAGE_STARTLOG_FAULTS, PERFINFO_WSMANAGE_TRIMACTION, PERFINFO_WSMANAGE_WILLTRIM_CLAIMS, PERFINFO_WSMANAGE_WILLTRIM_FAULTS, TRUE, UNLOCK_EXPANSION, and UNLOCK_PFN. Referenced by MmWorkingSetManager().
|
|
|
|
Definition at line 1372 of file wsmanage.c. References ASSERT, DbgPrint, FALSE, _MMWS_TRIM_CRITERIA::FaultBased, _EPROCESS::ImageFileName, _MMSUPPORT::LastTrimFaultCount, _MMSUPPORT::LastTrimTime, MEMORY_PRIORITY_FOREGROUND, _MMSUPPORT::MemoryPriority, MiCheckCounter, MiHydra, _MMSUPPORT::MinimumWorkingSetSize, MM_DBG_WS_EXPANSION, MM_TRIM_COUNTER_MAXIMUM_LARGE_MEM, MmAvailablePages, MmFreeGoal, MmMoreThanEnoughFreePages, MmNumberOfForegroundProcesses, MmWorkingSetProtectionTime, _MMSUPPORT::PageFaultCount, PERFINFO_WSMANAGE_PROCESS_RESET, _EPROCESS::ProcessOutswapEnabled, _MM_SESSION_SPACE::SessionId, TRUE, _MMSUPPORT::u, _EPROCESS::Vm, and _MMSUPPORT::WorkingSetSize. Referenced by MmWorkingSetManager().
|
|
|
|
Definition at line 1591 of file wsmanage.c. References FALSE, MiCheckCounter, _MMSUPPORT::MinimumWorkingSetSize, MM_TRIM_COUNTER_MAXIMUM_LARGE_MEM, TRUE, and _MMSUPPORT::WorkingSetSize. Referenced by MmWorkingSetManager().
|
|
|
|
Definition at line 1218 of file wsmanage.c. References FALSE, KeDelayExecutionThread(), KernelMode, LOCK_EXPANSION, MI_MAX_TRIM_PASSES, MiCheckCounter, MmAvailablePages, MmMinimumFreePages, MmNumberOfForegroundProcesses, MmShortTime, PERFINFO_WSMANAGE_DECL, PERFINFO_WSMANAGE_TRIMACTION, PERFINFO_WSMANAGE_WAITFORWRITER_CLAIMS, PERFINFO_WSMANAGE_WAITFORWRITER_FAULTS, TRUE, and UNLOCK_EXPANSION. Referenced by MmWorkingSetManager().
|
|
|
|
Definition at line 1644 of file wsmanage.c. References ASSERT, _MMSUPPORT::Claim, _MMSUPPORT::EstimatedAvailable, FALSE, _MMWSL::FirstDynamic, _MMSUPPORT::MaximumWorkingSetSize, MEMORY_PRIORITY_FOREGROUND, _MMSUPPORT::MemoryPriority, MI_BACKGROUND_CLAIM_AVAILABLE_SHIFT, MI_FOREGROUND_CLAIM_AVAILABLE_SHIFT, MI_PASS0_TRIM_AGE, MI_PASS1_TRIM_AGE, MI_PASS2_TRIM_AGE, MI_PASS3_TRIM_AGE, MI_PASS4_TRIM_AGE, MiCheckCounter, _MMSUPPORT::MinimumWorkingSetSize, MM_TRIM_COUNTER_MAXIMUM_LARGE_MEM, MmAvailablePages, MmSystemCacheWs, MmWorkingSetReductionHuge, MmWorkingSetReductionMax, MmWorkingSetReductionMaxCacheWs, MmWorkingSetReductionMin, MmWorkingSetReductionMinCacheWs, MmWorkingSetSwapReduction, MmWorkingSetSwapReductionHuge, MmWorkingSetVolReductionHuge, MmWorkingSetVolReductionMax, MmWorkingSetVolReductionMaxCacheWs, MmWorkingSetVolReductionMin, _MMWS_TRIM_CRITERIA::NumPasses, _EPROCESS::ProcessOutswapEnabled, _MMWSL::Quota, TRUE, _MMSUPPORT::u, _MMSUPPORT::VmWorkingSetList, and _MMSUPPORT::WorkingSetSize. Referenced by MmWorkingSetManager().
|
|
|
|
Definition at line 2715 of file wsmanage.c. References ASSERT, ExPageLockHandle, FALSE, KeClearEvent, KernelMode, KeSetEvent(), KeWaitForSingleObject(), LOCK_EXPANSION, MiEmptyAllWorkingSetsWorker(), MiHydra, MiWaitForEmptyEvent, MiWaitingForWorkingSetEmpty, MmLockPagableSectionByHandle(), MmUnlockPagableImageSection(), MmWorkingSetManagerEvent, PAGED_CODE, PsGetCurrentThread, TRUE, UNLOCK_EXPANSION, and WrVirtualMemory. Referenced by MiAllocateContiguousMemory(), MmGatherMemoryForHibernate(), and MmRemovePhysicalMemory().
|
|
Definition at line 2788 of file wsmanage.c. References _EPROCESS::AddressSpaceDeleted, ASSERT, FALSE, KeAttachProcess(), KeDetachProcess(), KeSetEvent(), _MMWORKING_SET_EXPANSION_HEAD::ListHead, LOCK_EXPANSION, MiAttachSession(), MiDetachSession(), MiEmptyWorkingSet(), MiHydra, MM_NO_WS_EXPANSION, MM_WS_EXPANSION_IN_PROGRESS, MmSystemCacheWs, MmWorkingSetExpansionHead, MmWorkingSetList, NULL, PAGED_CODE, _EPROCESS::Pcb, TRUE, _MMSUPPORT::u, UNLOCK_EXPANSION, _EPROCESS::Vm, _MMSUPPORT::VmWorkingSetList, _MMSUPPORT::WorkingSetExpansionLinks, and _MMSUPPORT::WorkingSetSize. Referenced by MiCheckAndSetSystemTrimCriteria(), and MiEmptyAllWorkingSets().
|
|
Definition at line 336 of file wsmanage.c. References FALSE, KeSetEvent(), MmAvailablePages, MmModifiedPageListHead, MmModifiedPageWriterEvent, MmModifiedWriteClusterSize, MmModNoWriteInsert, MmPagesAboveWsMinimum, MmPagesAboveWsThreshold, MmWorkingSetManagerEvent, and _MMPFNLIST::Total. Referenced by MiRemovePageByColor(), MiRemovePageFromList(), MiUnlinkFreeOrZeroedPage(), and MiUnlinkPageFromList().
|
|
Definition at line 2465 of file wsmanage.c. References ASSERT, _MMSUPPORT::Claim, DbgPrint, KeQuerySystemTime(), _MM_SESSION_SPACE::LastProcessSwappedOutTime, _MMWORKING_SET_EXPANSION_HEAD::ListHead, LOCK_EXPANSION, MEMORY_PRIORITY_FOREGROUND, _MMSUPPORT::MemoryPriority, MiHydra, MM_DBG_SESSIONS, MM_DBG_WS_EXPANSION, MM_WS_REORG_BUCKETS_MAX, MmWorkingSetExpansionHead, _MM_SESSION_SPACE::ReferenceCount, _MM_SESSION_SPACE::SessionId, Size, TRUE, _MMSUPPORT::u, UNLOCK_EXPANSION, _MMSUPPORT::WorkingSetExpansionLinks, and _MMSUPPORT::WorkingSetSize. Referenced by MiCheckAndSetSystemTrimCriteria().
|
|
Definition at line 2986 of file wsmanage.c. References APC_LEVEL, ASSERT, ExReleaseResourceLite(), ExTryToAcquireResourceExclusiveLite(), FALSE, KeLowerIrql(), KeTryToAcquireSpinLock(), _MMWORKING_SET_EXPANSION_HEAD::ListHead, LOCK_EXPANSION, LOCK_PFN, MI_PFN_ELEMENT, MI_SET_PFN_DELETED, MiDecrementReferenceCount(), MiEmptyWorkingSet(), MiRemovePageFromList(), MiTrimAllPageFaultCount, MiTrimInProgressCount, MM_NO_WS_EXPANSION, MM_SET_EXPANSION_OWNER, MM_WS_EXPANSION_IN_PROGRESS, MmExpansionLock, MmStandbyPageListHead, MmSystemCacheWs, MmSystemLockOwner, MmSystemWsLock, MmWorkingSetExpansionHead, NULL, _MMPFN::OriginalPte, _MMSUPPORT::PageFaultCount, PsGetCurrentThread, _MMPFNLIST::Total, TRUE, _MMSUPPORT::u, _MMPFN::u2, _MMPFN::u3, UNLOCK_EXPANSION, UNLOCK_PFN, _MMSUPPORT::WorkingSetExpansionLinks, _MMSUPPORT::WorkingSetSize, WSLE_NUMBER, and ZeroPte. Referenced by ViTrimAllSystemPagableMemory().
|
|
Definition at line 397 of file wsmanage.c. References _EPROCESS::AddressSpaceDeleted, _MMSUPPORT::AllowWorkingSetAdjustment, APC_LEVEL, ASSERT, DbgPrint, _MMWS_TRIM_CRITERIA::DesiredFreeGoal, ExTryToAcquireResourceExclusiveLite(), FALSE, _MMWS_TRIM_CRITERIA::FaultBased, _EPROCESS::ImageFileName, KeDelayExecutionThread(), KeDetachProcess(), KeForceAttachProcess(), KeLowerIrql(), KeQuerySystemTime(), KeRaiseIrql(), KernelMode, KeSetEvent(), _MMSUPPORT::LastTrimFaultCount, _MMSUPPORT::LastTrimTime, _MMWORKING_SET_EXPANSION_HEAD::ListHead, LOCK_EXPANSION, MiAttachSession(), MiCheckAndSetSystemTrimCriteria(), MiCheckCounter, MiCheckProcessTrimCriteria(), MiCheckSystemCacheWsTrimCriteria(), MiCheckSystemTrimEndCriteria(), MiDetachSession(), MiDetermineWsTrimAmount(), MiHydra, _MMSUPPORT::MinimumWorkingSetSize, MiTrimWorkingSet(), MM_DBG_WS_EXPANSION, MM_FORCE_TRIM, MM_NO_WS_EXPANSION, MM_SET_SESSION_RESOURCE_OWNER, MM_TRIM_COUNTER_MAXIMUM_LARGE_MEM, MM_WS_EXPANSION_IN_PROGRESS, MmAvailablePages, MmIsAddressValid(), MmMinimumFreePages, MmModifiedPageListHead, MmModifiedPageMaximum, MmModifiedPageWriterEvent, MmSessionSpace, MmShortTime, MmSystemCacheWorkingSetList, MmSystemCacheWs, MmSystemLockOwner, MmSystemWsLock, MmWorkingSetExpansionHead, MmWorkingSetList, NULL, _MMSUPPORT::PageFaultCount, _EPROCESS::Pcb, PERFINFO_WSMANAGE_ACTUALTRIM, PERFINFO_WSMANAGE_DECL, PERFINFO_WSMANAGE_FINALACTION, PERFINFO_WSMANAGE_PROCESS_RESET, PERFINFO_WSMANAGE_TOTRIM, PERFINFO_WSMANAGE_TRIMEND_CLAIMS, PERFINFO_WSMANAGE_TRIMEND_FAULTS, PERFINFO_WSMANAGE_TRIMWS, _MM_SESSION_SPACE::ProcessOutSwapCount, _EPROCESS::ProcessOutswapEnabled, _EPROCESS::ProcessOutswapped, PsGetCurrentProcess, PsGetCurrentThread, _MMWSL::Quota, _MM_SESSION_SPACE::SessionId, _MMPFNLIST::Total, TRUE, _MMSUPPORT::u, UNLOCK_EXPANSION, UNLOCK_SESSION_SPACE_WS, UNLOCK_SYSTEM_WS, UNLOCK_WS, _EPROCESS::Vm, _MMSUPPORT::VmWorkingSetList, _MMSUPPORT::WorkingSetExpansionLinks, _EPROCESS::WorkingSetLock, _MMSUPPORT::WorkingSetSize, and _MM_SESSION_SPACE::WsLock. Referenced by KeBalanceSetManager().
|
|
Definition at line 99 of file wsmanage.c. |
|
Definition at line 163 of file wsmanage.c. Referenced by MiCheckAndSetSystemTrimCriteria(), MiCheckProcessTrimCriteria(), MiCheckSystemCacheWsTrimCriteria(), MiCheckSystemTrimEndCriteria(), MiDetermineWsTrimAmount(), and MmWorkingSetManager(). |
|
Definition at line 95 of file wsmanage.c. Referenced by MiAdjustWorkingSetManagerParameters(), and MiCheckAndSetSystemTrimCriteria(). |
|
Definition at line 2982 of file wsmanage.c. Referenced by MmTrimAllSystemPagableMemory(). |
|
Definition at line 2980 of file wsmanage.c. Referenced by MmInitSystem(), and MmTrimAllSystemPagableMemory(). |
|
Definition at line 107 of file wsmanage.c. Referenced by MiAdjustWorkingSetManagerParameters(), MiCheckAndSetSystemTrimCriteria(), and MiEmptyAllWorkingSets(). |
|
Definition at line 108 of file wsmanage.c. Referenced by MiAdjustWorkingSetManagerParameters(), MiCheckAndSetSystemTrimCriteria(), and MiEmptyAllWorkingSets(). |
|
Definition at line 125 of file wsmanage.c. Referenced by MiCheckAndSetSystemTrimCriteria(). |
|
Definition at line 164 of file wsmanage.c. Referenced by MiCheckAndSetSystemTrimCriteria(). |
|
Definition at line 123 of file wsmanage.c. |
|
Definition at line 146 of file wsmanage.c. Referenced by MiCheckProcessTrimCriteria(), and MiCheckSystemTrimEndCriteria(). |
|
Definition at line 173 of file wsmanage.c. |
|
Definition at line 172 of file wsmanage.c. |
|
Definition at line 133 of file wsmanage.c. Referenced by MiDetermineWsTrimAmount(). |
|
Definition at line 130 of file wsmanage.c. Referenced by MiAdjustWorkingSetManagerParameters(), MiDetermineWsTrimAmount(), and MmSetMemoryPriorityProcess(). |
|
Definition at line 131 of file wsmanage.c. Referenced by MiDetermineWsTrimAmount(). |
|
Definition at line 127 of file wsmanage.c. Referenced by MiAdjustWorkingSetManagerParameters(), and MiDetermineWsTrimAmount(). |
|
Definition at line 128 of file wsmanage.c. Referenced by MiDetermineWsTrimAmount(). |
|
Definition at line 142 of file wsmanage.c. Referenced by MiDetermineWsTrimAmount(). |
|
Definition at line 144 of file wsmanage.c. Referenced by MiDetermineWsTrimAmount(). |
|
Definition at line 140 of file wsmanage.c. Referenced by MiDetermineWsTrimAmount(). |
|
Definition at line 137 of file wsmanage.c. Referenced by MiAdjustWorkingSetManagerParameters(), and MiDetermineWsTrimAmount(). |
|
Definition at line 138 of file wsmanage.c. Referenced by MiDetermineWsTrimAmount(). |
|
Definition at line 135 of file wsmanage.c. Referenced by MiDetermineWsTrimAmount(). |
|
Definition at line 175 of file wsmanage.c. |
|
Definition at line 97 of file wsmanage.c. Referenced by PspCreateProcess(), and PspInitPhase0(). |