From 6b9215e607b5a52ec286c5bcc66bb19b1fd081d3 Mon Sep 17 00:00:00 2001 From: ReactOS Portable Systems Group Date: Thu, 14 Feb 2008 22:34:50 +0000 Subject: [PATCH] The system never considered "ReservedPages" as any different from "SystemPages", other than to spend the accounting time to mark these pages differently. Removed the notion of a reserved pages and count them as system pages instead. svn path=/trunk/; revision=32367 --- reactos/ntoskrnl/include/internal/mm.h | 1 - reactos/ntoskrnl/mm/freelist.c | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/reactos/ntoskrnl/include/internal/mm.h b/reactos/ntoskrnl/include/internal/mm.h index b0ba0ba8c20..ce4da08a592 100644 --- a/reactos/ntoskrnl/include/internal/mm.h +++ b/reactos/ntoskrnl/include/internal/mm.h @@ -252,7 +252,6 @@ typedef struct { ULONG NrTotalPages; ULONG NrSystemPages; - ULONG NrReservedPages; ULONG NrUserPages; ULONG NrFreePages; ULONG NrDirtyPages; diff --git a/reactos/ntoskrnl/mm/freelist.c b/reactos/ntoskrnl/mm/freelist.c index cf41cd767d8..a47efb1f28a 100644 --- a/reactos/ntoskrnl/mm/freelist.c +++ b/reactos/ntoskrnl/mm/freelist.c @@ -317,12 +317,12 @@ MmInitializePageList(IN ULONG_PTR FirstPhysKernelAddress, ULONG Reserved; NTSTATUS Status; PFN_TYPE Pfn = 0; - ULONG PdeStart = PsGetCurrentProcess()->Pcb.DirectoryTableBase.LowPart; PHYSICAL_PAGE UsedPage; + extern PMEMORY_ALLOCATION_DESCRIPTOR MiFreeDescriptor; + ULONG PdeStart = PsGetCurrentProcess()->Pcb.DirectoryTableBase.LowPart; ULONG PdePageStart, PdePageEnd; ULONG VideoPageStart, VideoPageEnd; ULONG KernelPageStart, KernelPageEnd; - extern PMEMORY_ALLOCATION_DESCRIPTOR MiFreeDescriptor; /* Initialize the page lists */ KeInitializeSpinLock(&PageListLock); @@ -398,25 +398,25 @@ MmInitializePageList(IN ULONG_PTR FirstPhysKernelAddress, { /* Page 0 is reserved for the IVT */ MmPageArray[i] = UsedPage; - MmStats.NrReservedPages++; + MmStats.NrSystemPages++; } else if (i == 1) { /* Page 1 is reserved for the PCR */ MmPageArray[i] = UsedPage; - MmStats.NrReservedPages++; + MmStats.NrSystemPages++; } else if (i == 2) { /* Page 2 is reserved for the KUSER_SHARED_DATA */ MmPageArray[i] = UsedPage; - MmStats.NrReservedPages++; + MmStats.NrSystemPages++; } else if ((i >= PdePageStart) && (i < PdePageEnd)) { /* These pages contain the initial FreeLDR PDEs */ MmPageArray[i] = UsedPage; - MmStats.NrReservedPages++; + MmStats.NrSystemPages++; } else if ((i >= VideoPageStart) && (i < VideoPageEnd)) { @@ -428,7 +428,7 @@ MmInitializePageList(IN ULONG_PTR FirstPhysKernelAddress, */ MmPageArray[i].Flags.Type = MM_PHYSICAL_PAGE_BIOS; MmPageArray[i].Flags.Consumer = MC_NPPOOL; - MmStats.NrReservedPages++; + MmStats.NrSystemPages++; } else if ((i >= KernelPageStart) && (i < KernelPageEnd)) { @@ -462,14 +462,14 @@ MmInitializePageList(IN ULONG_PTR FirstPhysKernelAddress, /* These are pages reserved by the BIOS/ROMs */ MmPageArray[i].Flags.Type = MM_PHYSICAL_PAGE_BIOS; MmPageArray[i].Flags.Consumer = MC_NPPOOL; - MmStats.NrReservedPages++; + MmStats.NrSystemPages++; } } KeInitializeEvent(&ZeroPageThreadEvent, NotificationEvent, TRUE); - MmStats.NrTotalPages = MmStats.NrFreePages + MmStats.NrSystemPages + MmStats.NrReservedPages + MmStats.NrUserPages; - MmInitializeBalancer(MmStats.NrFreePages, MmStats.NrSystemPages + MmStats.NrReservedPages); + MmStats.NrTotalPages = MmStats.NrFreePages + MmStats.NrSystemPages + MmStats.NrUserPages; + MmInitializeBalancer(MmStats.NrFreePages, MmStats.NrSystemPages); return((PVOID)LastKernelAddress); }