#include "mi.h"
Go to the source code of this file.
Defines | |
#define | MM_SYSTEM_CACHE_THRESHOLD ((1024*1024) / PAGE_SIZE) |
#define | MM_RETRY_COUNT 2 |
Functions | |
ULONG | MiDoReplacement (IN PMMSUPPORT WsInfo, IN BOOLEAN MustReplace) |
VOID | MiReplaceWorkingSetEntryUsingFaultInfo (IN PMMSUPPORT WsInfo, IN BOOLEAN MustReplace) |
VOID | MiCheckWsleHash (IN PMMWSL WorkingSetList) |
VOID | MiEliminateWorkingSetEntry (IN ULONG WorkingSetIndex, IN PMMPTE PointerPte, IN PMMPFN Pfn, IN PMMWSLE Wsle) |
ULONG | MiAddWorkingSetPage (IN PMMSUPPORT WsInfo) |
VOID | MiRemoveWorkingSetPages (IN PMMWSL WorkingSetList, IN PMMSUPPORT WsInfo) |
VOID | MiCheckNullIndex (IN PMMWSL WorkingSetList) |
VOID | MiDumpWsleInCacheBlock (IN PMMPTE CachePte) |
ULONG | MiDumpPteInCacheBlock (IN PMMPTE PointerPte) |
WSLE_NUMBER | MiLocateAndReserveWsle (IN PMMSUPPORT WsInfo) |
LOGICAL | MmEnforceWorkingSetLimit (IN PMMSUPPORT WsInfo, IN LOGICAL Enable) |
ULONG | MiRemovePageFromWorkingSet (IN PMMPTE PointerPte, IN PMMPFN Pfn1, IN PMMSUPPORT WsInfo) |
VOID | MiReleaseWsle (IN WSLE_NUMBER WorkingSetIndex, IN PMMSUPPORT WsInfo) |
VOID | MiUpdateWsle (IN OUT PWSLE_NUMBER DesiredIndex, IN PVOID VirtualAddress, PMMWSL WorkingSetList, IN PMMPFN Pfn) |
ULONG | MiFreeWsle (IN WSLE_NUMBER WorkingSetIndex, IN PMMSUPPORT WsInfo, IN PMMPTE PointerPte) |
VOID | MiInitializeWorkingSetList (IN PEPROCESS CurrentProcess) |
VOID | MiInitializeSessionWsSupport (VOID) |
NTSTATUS | MiSessionInitializeWorkingSetList (VOID) |
LOGICAL | MmAssignProcessToJob (IN PEPROCESS Process) |
NTSTATUS | MmAdjustWorkingSetSize (IN SIZE_T WorkingSetMinimumInBytes, IN SIZE_T WorkingSetMaximumInBytes, IN ULONG SystemCache) |
LOGICAL | MiAddWsleHash (IN PMMSUPPORT WsInfo, IN PMMPTE PointerPte) |
VOID | MiGrowWsleHash (IN PMMSUPPORT WsInfo) |
ULONG | MiTrimWorkingSet (ULONG Reduction, IN PMMSUPPORT WsInfo, IN ULONG ForcedReductionOrTrimAge) |
NTSTATUS | MiEmptyWorkingSet (IN PMMSUPPORT WsInfo, IN LOGICAL WaitOk) |
Variables | |
ULONG | MmMaximumWorkingSetSize |
ULONG | MmFaultsTakenToGoAboveMaxWs = 100 |
ULONG | MmFaultsTakenToGoAboveMinWs = 16 |
ULONG | MmSystemCodePage |
ULONG | MmSystemCachePage |
ULONG | MmPagedPoolPage |
ULONG | MmSystemDriverPage |
ULONG | MmTransitionSharedPages |
ULONG | MmTransitionSharedPagesPeak |
LOGICAL | MiTrimRemovalPagesOnly |
|
Definition at line 45 of file wslist.c. Referenced by MmAdjustWorkingSetSize(). |
|
Definition at line 29 of file wslist.c. Referenced by MiDoReplacement(). |
|
Definition at line 2824 of file wslist.c. References ASSERT, _MM_SESSION_SPACE::CommittedPages, CONSISTENCY_LOCK_PFN, CONSISTENCY_UNLOCK_PFN, FALSE, _MMWSL::FirstDynamic, _MMWSL::FirstFree, _MMWSL::HashTable, _MMWSL::HashTableStart, _MMWSL::LastEntry, _MMWSL::LastInitializedWsle, LOCK_EXPANSION_IF_ALPHA, LOCK_PFN, MI_GET_PAGE_COLOR_FROM_PTE, MI_MAKE_VALID_PTE, MI_PFN_ELEMENT, MI_SET_PTE_DIRTY, MI_SET_PTE_IN_WORKING_SET, MI_WRITE_VALID_PTE, MiChargeCommitmentCantExpand(), MiGetPteAddress, MiGetVirtualAddressMappedByPte, MiInitializePfn(), MiRemoveZeroPage(), MiSwapWslEntries(), MiUpdateWsle(), MM_BUMP_COUNTER, MM_BUMP_SESS_COUNTER, MM_DBG_COMMIT_SESSION_ADDITIONAL_WS_PAGES, MM_DBG_SESSION_WS_PAGE_ALLOC_GROWTH, MM_DEMAND_ZERO_WRITE_PTE, MM_FREE_WSLE_SHIFT, MM_GROW_WSLE_HASH, MM_READWRITE, MM_SYSTEM_WS_LOCK_ASSERT, MM_TRACK_COMMIT, MmAvailablePages, MmPagesAboveWsMinimum, MmResidentAvailablePages, MmSessionSpace, MmSystemCacheWs, _MM_SESSION_SPACE::NonPagablePages, NULL, PAGE_SIZE, PsGetCurrentThread, _MMWSL::Quota, TRUE, _MMPTE::u, _MMPFN::u1, _MMWSLE::u1, UNLOCK_EXPANSION_IF_ALPHA, UNLOCK_PFN, _MMWSL::Wsle, WSLE_NULL_INDEX, and WSLE_NUMBER. Referenced by MiLocateAndReserveWsle(), and MmAdjustWorkingSetSize().
|
|
Definition at line 3179 of file wslist.c. References ASSERT, _MM_SESSION_SPACE::CommittedPages, CONSISTENCY_LOCK_PFN, CONSISTENCY_UNLOCK_PFN, _MMWSLE::e1, FALSE, _MMWSL::FirstDynamic, LOCK_PFN, MI_GET_PAGE_COLOR_FROM_PTE, MI_MAKE_VALID_PTE, MI_PFN_ELEMENT, MI_SET_PTE_DIRTY, MI_SET_PTE_IN_WORKING_SET, MI_WRITE_VALID_PTE, MiChargeCommitmentCantExpand(), MiGetVirtualAddressMappedByPte, MiInitializePfn(), MiLocateAndReserveWsle(), MiRemoveZeroPage(), MiSwapWslEntries(), MiUpdateWsle(), MM_BUMP_SESS_COUNTER, MM_DBG_COMMIT_SESSION_ADDITIONAL_WS_HASHPAGES, MM_DBG_SESSION_WS_HASHPAGE_ALLOC, MM_DEMAND_ZERO_WRITE_PTE, MM_READWRITE, MM_TRACK_COMMIT, MmAvailablePages, MmSessionSpace, _MM_SESSION_SPACE::NonPagablePages, PsGetCurrentThread, TRUE, _MMWSLE::u1, _MMPFN::u1, UNLOCK_PFN, _MMWSLENTRY::Valid, _MMWSL::Wsle, and WSLE_NUMBER. Referenced by MiGrowWsleHash().
|
|
Referenced by MiRemoveWorkingSetPages(). |
|
|
|
Definition at line 254 of file wslist.c. References ASSERT, FALSE, KeQuerySystemTime(), LOCK_EXPANSION_IF_ALPHA, MEMORY_PRIORITY_FOREGROUND, MI_BACKGROUND_CLAIM_AVAILABLE_SHIFT, MI_FOREGROUND_CLAIM_AVAILABLE_SHIFT, MI_PASS0_TRIM_AGE, MI_PASS4_TRIM_AGE, MI_SESSION_MAXIMUM_WORKING_SET, MI_WS_GROWING_TOO_FAST, MiReplaceWorkingSetEntryUsingFaultInfo(), MiTrimWorkingSet(), MM_FORCE_TRIM, MM_MAXIMUM_WORKING_SET, MM_NO_WS_EXPANSION, MM_SYSTEM_CACHE_THRESHOLD, MM_SYSTEM_WS_LOCK_ASSERT, MmAvailablePages, MmFaultsTakenToGoAboveMinWs, MmMoreThanEnoughFreePages, MmSystemCacheWs, MmWorkingSetSizeExpansion, MmWorkingSetSizeIncrement, MmWsAdjustThreshold, MmWsExpandThreshold, NULL, _MMWSL::Quota, TRUE, and UNLOCK_EXPANSION_IF_ALPHA. Referenced by MiLocateAndReserveWsle().
|
|
|
|
Referenced by MiFreeWsle(). |
|
Definition at line 3974 of file wslist.c. References ASSERT, FALSE, KeBugCheckEx(), KeFlushSingleTb(), MI_CAPTURE_DIRTY_BIT_TO_PFN, MI_FLUSH_SINGLE_SESSION_TB, MI_GET_PAGE_FRAME_FROM_PTE, MI_GET_PROTECTION_FROM_WSLE, MI_IS_PTE_DIRTY, MI_IS_SESSION_IMAGE_ADDRESS, MI_MAKE_VALID_PTE_TRANSITION, MI_MAKING_VALID_PTE_INVALID, MI_PTE_LOOKUP_NEEDED, MI_ZERO_WSINDEX, MiActiveWriteWatch, MiCaptureWriteWatchDirtyBit(), MiCheckPdeForPagedPool(), MiDecrementShareAndValidCount, MiDecrementShareCount(), MiGetPteAddress, MiGetVirtualAddressMappedByPte, MiProtoAddressForPte, MM_PFN_LOCK_ASSERT, MmSystemCacheWsle, MmWsle, NT_SUCCESS, PsGetCurrentProcess, TRUE, _MMSUPPORT::u, _MMPTE::u, and _EPROCESS::Vm. Referenced by MiFreeWsle(), and MiRemovePageFromWorkingSet().
|
|
Definition at line 4726 of file wslist.c. References _EPROCESS::AddressSpaceDeleted, APC_LEVEL, ASSERT, Count, ExTryToAcquireResourceExclusiveLite(), FALSE, _MMWSL::FirstDynamic, _MMWSL::FirstFree, KeDelayExecutionThread(), KeLowerIrql(), KeRaiseIrql(), KernelMode, _MMWSL::LastEntry, _MMWSL::LastInitializedWsle, LOCK_SESSION_SPACE_WS, LOCK_SYSTEM_WS, LOCK_WS, MI_GET_PAGE_FRAME_FROM_PTE, MI_PFN_ELEMENT, MiFreeWsle(), MiGetPteAddress, MiHydra, MiRemoveWorkingSetPages(), MiTrimRemovalPagesOnly, MM_FREE_WSLE_SHIFT, MM_SET_SESSION_RESOURCE_OWNER, MmShortTime, MmSystemCacheWs, MmSystemLockOwner, MmSystemWsLock, _MMWSL::NextSlot, NTSTATUS(), PERFINFO_GET_PAGE_INFO, PERFINFO_LOG_WS_REMOVAL, PERFINFO_PAGE_INFO_DECL, PsGetCurrentProcess, PsGetCurrentThread, _MMPFN::PteFrame, _MMWSL::Quota, Status, TRUE, _MMSUPPORT::u, _MMWSLE::u1, _MMPFN::u3, UNLOCK_SESSION_SPACE_WS, UNLOCK_SYSTEM_WS, UNLOCK_WS, _MMWSLE::VirtualAddress, _EPROCESS::WorkingSetLock, _MMWSL::Wsle, WSLE_NULL_INDEX, and _MM_SESSION_SPACE::WsLock. Referenced by MiEmptyAllWorkingSetsWorker(), MmAdjustWorkingSetSize(), and MmTrimAllSystemPagableMemory().
|
|
Definition at line 1326 of file wslist.c. References ASSERT, _MMWSLE::e1, FALSE, _MMWSL::FirstDynamic, _MMWSL::FirstFree, _MMWSL::LastInitializedWsle, LOCK_PFN, MI_IS_SESSION_ADDRESS, MI_PFN_ELEMENT, MiDumpWsleInCacheBlock(), MiEliminateWorkingSetEntry(), MiRemoveWsle(), MM_FREE_WSLE_SHIFT, MM_SYSTEM_WS_LOCK_ASSERT, MmPagesAboveWsMinimum, MmSystemCacheWs, PDE_TOP, TRUE, _MMWSLE::u1, _MMPFN::u2, _MMPFN::u3, UNLOCK_PFN, _MMWSLENTRY::Valid, _MMWSLE::VirtualAddress, _MMWSL::Wsle, and WSLE_NULL_INDEX. Referenced by MiEmptyWorkingSet(), MiInsertWsle(), MiReplaceWorkingSetEntryUsingFaultInfo(), MiTrimWorkingSet(), MmAdjustWorkingSetSize(), and NtUnlockVirtualMemory().
|
|
Definition at line 3300 of file wslist.c. References ASSERT, ASSERT32, ASSERT64, Count, FALSE, _MMWSL::HashTable, _MMWSL::HashTableSize, _MMWSL::HashTableStart, _MMWSL::HighestPermittedHashAddress, _MMWSL::LastInitializedWsle, LOCK_PFN, _MMWSLE::Long, MI_WSLE_HASH, MiAddWsleHash(), MiCheckWsleHash(), MiDeletePte(), MiGetPdeAddress, MiGetPpeAddress, MiGetPteAddress, MiGetVirtualAddressMappedByPte, MiIsPteOnPdeBoundary, MmSystemCacheWs, MMWSLE_HASH, _MMWSL::NonDirectCount, NULL, _EPROCESS::NumberOfPrivatePages, PAGE_ALIGN, PAGE_SHIFT, PAGE_SIZE, PsGetCurrentProcess, Size, TRUE, _MMSUPPORT::u, _MMPTE::u, _MMWSLE::u1, UNLOCK_PFN, _MMWSLE::VirtualAddress, and _MMWSL::Wsle. Referenced by MiInitializeSystemCache(), MiInitializeWorkingSetList(), MiMakeSpecialPoolPagable(), MiSessionInitializeWorkingSetList(), MmAccessFault(), and MmAdjustWorkingSetSize().
|
|
Definition at line 1847 of file wslist.c. References MiSessionWsList. Referenced by MmInitSystem().
|
|
Definition at line 1481 of file wslist.c. References ASSERT, CONSISTENCY_LOCK_PFN, CONSISTENCY_UNLOCK_PFN, _MMWSL::FirstDynamic, _MMWSL::FirstFree, _MMWSL::HashTable, _MMWSL::HashTableSize, _MMWSL::HashTableStart, _MMWSL::HighestPermittedHashAddress, HYPER_SPACE, HYPER_SPACE_END, _MMWSL::LastEntry, _MMWSL::LastInitializedWsle, LOCK_PFN, MI_MAKE_VALID_PTE, MI_PAGE_COLOR_PTE_PROCESS, MI_PFN_ELEMENT, MI_SET_PTE_DIRTY, MI_SET_PTE_IN_WORKING_SET, MI_WRITE_VALID_PTE, MiEnsureAvailablePageOrWait(), MiGetPdeAddress, MiGetPpeAddress, MiGetPteAddress, MiGrowWsleHash(), MiInitializePfn(), MiRemoveZeroPage(), MM_DEMAND_ZERO_WRITE_PTE, MM_FREE_WSLE_SHIFT, MM_MAXIMUM_WORKING_SET, MM_READWRITE, MM_SESSION_SPACE_DEFAULT, MmWorkingSetList, MmWsle, _MMWSL::NextSlot, NULL, PAGE_ALIGN, PAGE_SHIFT, PAGE_SIZE, _MMWSL::Quota, _MMPTE::u, _MMPFN::u1, _MMWSLE::u1, UNLOCK_PFN, _MMWSL::WaitingForImageMapping, WORKING_SET_LIST, _MMWSL::Wsle, WSLE_NULL_INDEX, and WSLE_NUMBER. Referenced by MmInitializeProcessAddressSpace().
|
|
Definition at line 117 of file wslist.c. References ASSERT, _MMWSLE::e1, FALSE, _MMWSL::FirstDynamic, _MMWSL::FirstFree, _MMWSL::LastEntry, _MMWSL::LastInitializedWsle, MiAddWorkingSetPage(), MiDoReplacement(), MM_FREE_WSLE_SHIFT, MmInfoCounters, MmPagesAboveWsMinimum, MmSystemCacheWs, MmTransitionSharedPages, MmTransitionSharedPagesPeak, _MMINFO_COUNTERS::PageFaultCount, _MMWSL::Quota, TRUE, _MMWSLE::u1, _MMWSLENTRY::Valid, _MMWSL::Wsle, WSLE_NULL_INDEX, and WSLE_NUMBER. Referenced by MiAddValidPageToWorkingSet(), MiAddWsleHash(), MiLockCode(), MmAccessFault(), MmCheckCachedPageState(), and MmCopyToCachedPage().
|
|
Definition at line 1016 of file wslist.c. References ASSERT, _MMWSL::FirstFree, _MMWSL::LastInitializedWsle, MM_FREE_WSLE_SHIFT, MM_SYSTEM_WS_LOCK_ASSERT, MmPagesAboveWsMinimum, MmSystemCacheWs, _MMWSLE::u1, _MMWSL::Wsle, and WSLE_NULL_INDEX. Referenced by MiDecommitPages(), MiDeleteAddressesInWorkingSet(), MiDeletePte(), MiDeleteSystemPagableVm(), MiLockCode(), MiRemoveMappedPtes(), MiRemovePageFromWorkingSet(), and MmUnmapViewInSystemCache().
|
|
Definition at line 899 of file wslist.c. References ASSERT, FALSE, _MMWSL::FirstDynamic, LOCK_PFN, _MMWSLENTRY::LockedInMemory, _MMWSLENTRY::LockedInWs, MI_PFN_ELEMENT, MiEliminateWorkingSetEntry(), MiGetPteAddress, MiGetVirtualAddressMappedByPte, MiLocateWsle(), MiReleaseWsle(), MiRemoveWsle(), MiSwapWslEntries(), PAGE_ALIGN, TRUE, _MMWSLE::u1, UNLOCK_PFN, _MMWSL::Wsle, WSLE_NULL_INDEX, and WSLE_NUMBER. Referenced by MiProtectSpecialPool(), MiProtectVirtualMemory(), and MiSetProtectionOnSection().
|
|
Referenced by MiEmptyWorkingSet(), and MiTrimWorkingSet(). |
|
Definition at line 790 of file wslist.c. References _MMWSL::FirstDynamic, _MMWSL::LastEntry, MI_GET_ACCESSED_IN_PTE, MI_SET_ACCESSED_IN_PTE, MiFreeWsle(), MiGetPteAddress, MM_WORKING_SET_LIST_SEARCH, _MMWSL::NextSlot, PERFINFO_GET_PAGE_INFO_REPLACEMENT, PERFINFO_LOG_WS_REPLACEMENT, PERFINFO_PAGE_INFO_REPLACEMENT_DECL, TRUE, _MMWSLE::u1, _MMWSLE::VirtualAddress, and _MMWSL::Wsle. Referenced by MiDoReplacement().
|
|
Definition at line 1881 of file wslist.c. References _MMSUPPORT::AllowWorkingSetAdjustment, ASSERT, BYTES_TO_PAGES, _MM_SESSION_SPACE::CommittedPages, CONSISTENCY_LOCK_PFN, CONSISTENCY_UNLOCK_PFN, DbgPrint, ExDeleteResource, ExInitializeResource, FALSE, _MMWSL::FirstDynamic, _MMWSL::FirstFree, _MMWSL::HashTable, _MMWSL::HashTableSize, _MMWSL::HashTableStart, _MMWSL::HighestPermittedHashAddress, Index, _MMWSL::LastEntry, _MMWSL::LastInitializedWsle, LOCK_EXPANSION, LOCK_PFN, _MMSUPPORT::MaximumWorkingSetSize, MI_GET_PAGE_COLOR_FROM_VA, MI_NONPAGABLE_MEMORY_AVAILABLE, MI_PFN_ELEMENT, MI_SESSION_MAXIMUM_WORKING_SET, MI_SESSION_SPACE_WORKING_SET_MAXIMUM, MI_SESSION_SPACE_WORKING_SET_MINIMUM, MI_SESSION_SPACE_WS, MI_SESSION_VIEW_START, MI_SET_PTE_DIRTY, MI_SET_PTE_IN_WORKING_SET, MI_WRITE_VALID_PTE, MiChargeCommitment(), MiEnsureAvailablePageOrWait(), MiFillMemoryPte, MiGetPdeAddress, MiGetPdeSessionIndex, MiGetPteAddress, MiGetVirtualAddressMappedByPte, MiGrowWsleHash(), MiInitializePfn(), MiInitializePfnForOtherProcess(), _MMSUPPORT::MinimumWorkingSetSize, MiRemoveAnyPage(), MiRemoveZeroPage(), MiRemoveZeroPageIfAny, MiReturnCommitment(), MiSessionWsList, MiZeroPhysicalPage(), MM_BUMP_COUNTER, MM_BUMP_SESS_COUNTER, MM_BUMP_SESSION_FAILURES, MM_DBG_COMMIT_RETURN_SESSION_WSL_FAILURE, MM_DBG_COMMIT_SESSION_WS_INIT, MM_DBG_SESSION_WS_PAGE_ALLOC, MM_DBG_SESSION_WS_PAGETABLE_ALLOC, MM_DEMAND_ZERO_WRITE_PTE, MM_FREE_WSLE_SHIFT, MM_SESSION_FAILURE_NO_COMMIT, MM_SESSION_FAILURE_NO_RESIDENT, MM_TRACK_COMMIT, MM_VA_MAPPED_BY_PDE, MmResidentAvailablePages, MmSessionSpace, _MMWSL::NextSlot, _MM_SESSION_SPACE::NonPagablePages, NULL, PAGE_ALIGN, PAGE_SHIFT, PAGE_SIZE, _MM_SESSION_SPACE::PagedPoolStart, _MM_SESSION_SPACE::PageTables, _MMWSL::Quota, SESSION_GLOBAL, _MM_SESSION_SPACE::SessionPageDirectoryIndex, TRUE, _MM_SESSION_SPACE::u, _MMSUPPORT::u, _MMPTE::u, _MMWSLE::u1, _MMPFN::u1, UNLOCK_EXPANSION, UNLOCK_PFN, _MMWSL::UsedPageTableEntries, ValidKernelPdeLocal, ValidKernelPteLocal, _MM_SESSION_SPACE::Vm, _MMSUPPORT::VmWorkingSetList, _MM_SESSION_SPACE::WorkingSetLockOwner, _MMSUPPORT::WorkingSetSize, _MMWSL::Wsle, _MM_SESSION_SPACE::Wsle, WSLE_NULL_INDEX, WSLE_NUMBER, _MM_SESSION_SPACE::WsListEntry, _MM_SESSION_SPACE::WsLock, and ZeroKernelPte. Referenced by MmSessionCreate().
|
|
Definition at line 3612 of file wslist.c. References FALSE, _MMWSL::FirstDynamic, _MMWSL::LastEntry, MI_GET_ACCESSED_IN_PTE, MI_GET_WSLE_AGE, MI_SET_ACCESSED_IN_PTE, MiFreeWsle(), MiGetPteAddress, MiRemoveWorkingSetPages(), MM_SYSTEM_WS_LOCK_ASSERT, MmSystemCacheWs, _MMWSL::NextSlot, PAGE_SIZE, PERFINFO_GET_PAGE_INFO_WITH_DECL, PERFINFO_LOG_WS_REMOVAL, _MMWSL::Quota, TRUE, _MMSUPPORT::u, _MMWSLE::u1, _MMWSLE::VirtualAddress, and _MMWSL::Wsle. Referenced by MiDoReplacement(), MmSetMemoryPriorityProcess(), and MmWorkingSetManager().
|
|
Definition at line 1078 of file wslist.c. References ASSERT, ASSERT32, CONSISTENCY_LOCK_PFN, CONSISTENCY_UNLOCK_PFN, _MMWSL::FirstDynamic, _MMWSL::FirstFree, _MMWSL::HashTable, Index, _MMWSL::LastEntry, _MMWSL::LastInitializedWsle, MI_IS_SESSION_ADDRESS, MI_IS_SYSTEM_CACHE_ADDRESS, MI_ZERO_WSINDEX, MiInsertWsle(), MiSwapWslEntries(), MM_FREE_WSLE_SHIFT, MM_PAGED_POOL_START, MM_SYSTEM_SPACE_START, MM_SYSTEM_WS_LOCK_ASSERT, MmNonPagedSystemStart, MmPagedPoolPage, MmSessionSpace, MmSystemCachePage, MmSystemCacheStart, MmSystemCacheWorkingSetList, MmSystemCacheWs, MmSystemCacheWsle, MmSystemCodePage, MmSystemDriverPage, MmWsle, NULL, PAGE_ALIGN, PAGE_SIZE, PsGetCurrentProcess, PsGetCurrentThread, PWSLE_NUMBER, _MMWSLE::u1, _MM_SESSION_SPACE::Vm, _MMWSL::Wsle, WSLE_NULL_INDEX, and WSLE_NUMBER. Referenced by MiAddValidPageToWorkingSet(), MiAddWorkingSetPage(), MiAddWsleHash(), MiLockCode(), MmAccessFault(), MmCheckCachedPageState(), and MmCopyToCachedPage().
|
|
Definition at line 2450 of file wslist.c. References _EPROCESS::AddressSpaceDeleted, _MMSUPPORT::AllowWorkingSetAdjustment, ASSERT, ExPageLockHandle, FALSE, _MMWSL::FirstDynamic, _MMWSL::FirstFree, _MMWSL::HashTable, _MMWSL::LastEntry, _MMWSL::LastInitializedWsle, LOCK_PFN, LOCK_SYSTEM_WS, LOCK_WS, _MMSUPPORT::MaximumWorkingSetSize, MI_NONPAGABLE_MEMORY_AVAILABLE, MiAddWorkingSetPage(), MiEmptyWorkingSet(), MiFreeWsle(), MiGetPteAddress, MiGrowWsleHash(), _MMSUPPORT::MinimumWorkingSetSize, MM_BUMP_COUNTER, MM_FLUID_WORKING_SET, MM_RETRY_COUNT, MmAllowWorkingSetExpansion(), MmAvailablePages, MmLockPagableSectionByHandle(), MmMaximumWorkingSetSize, MmMinimumWorkingSetSize, MmPagesAboveWsMinimum, MmResidentAvailablePages, MmSystemCacheWs, MmUnlockPagableImageSection(), NTSTATUS(), NULL, PAGE_SHIFT, PAGE_SIZE, PERFINFO_GET_PAGE_INFO, PERFINFO_LOG_WS_REMOVAL, PERFINFO_PAGE_INFO_DECL, PsGetCurrentProcess, _MMWSL::Quota, TRUE, _MMWSLE::u1, UNLOCK_PFN, UNLOCK_SYSTEM_WS, UNLOCK_WS, _MMWSLE::VirtualAddress, _EPROCESS::Vm, _MMSUPPORT::VmWorkingSetList, _MMSUPPORT::WorkingSetSize, _MMWSL::Wsle, WSLE_NULL_INDEX, and WSLE_NUMBER. Referenced by NtSetInformationJobObject(), NtSetSystemInformation(), PspAddProcessToJob(), PspSetQuotaLimits(), and xxxMinMaximize().
|
|
Definition at line 2386 of file wslist.c. References FALSE, KeAttachProcess(), KeDetachProcess(), LOCK_WS_AND_ADDRESS_SPACE, PAGED_CODE, PS_JOB_STATUS_REPORT_COMMIT_CHANGES, PsChangeJobMemoryUsage(), PsGetCurrentProcess, Status, TRUE, and UNLOCK_WS_AND_ADDRESS_SPACE. Referenced by PspAddProcessToJob().
|
|
Definition at line 543 of file wslist.c. References LOCK_EXPANSION, LOCK_SYSTEM_WS, LOCK_WS, MmSystemCacheWs, PsGetCurrentProcess, UNLOCK_EXPANSION, UNLOCK_SYSTEM_WS, and UNLOCK_WS. Referenced by NtSetInformationJobObject(), PspAddProcessToJob(), and PspApplyJobLimitsToProcess().
|
|
Definition at line 50 of file wslist.c. Referenced by MiEmptyWorkingSet(), and MmRemovePhysicalMemory(). |
|
|
|
Definition at line 34 of file wslist.c. Referenced by MiDoReplacement(). |
|
Definition at line 31 of file wslist.c. Referenced by MmAdjustWorkingSetSize(), and MmInitSystem(). |
|
|
|
|
|
|
|
|
|
|
|
Definition at line 48 of file wslist.c. Referenced by MiLocateAndReserveWsle(), and NtQuerySystemInformation(). |