From 5e034d0a5997fa5b478f28a4f4cd61684176db96 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Wed, 8 Oct 2014 00:32:03 +0000 Subject: [PATCH] [NTOSKRNL] Move calculation of commit charge to MiInsertVadEx. svn path=/trunk/; revision=64594 --- reactos/ntoskrnl/mm/ARM3/vadnode.c | 9 +++++++++ reactos/ntoskrnl/mm/ARM3/virtual.c | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/reactos/ntoskrnl/mm/ARM3/vadnode.c b/reactos/ntoskrnl/mm/ARM3/vadnode.c index 5c7cfb8b328..320fe25eb88 100644 --- a/reactos/ntoskrnl/mm/ARM3/vadnode.c +++ b/reactos/ntoskrnl/mm/ARM3/vadnode.c @@ -291,6 +291,15 @@ MiInsertVadEx( Vad->StartingVpn = StartingAddress >> PAGE_SHIFT; Vad->EndingVpn = EndingAddress >> PAGE_SHIFT; + /* Check if we already need to charge for the pages */ + if ((Vad->u.VadFlags.PrivateMemory && Vad->u.VadFlags.MemCommit) || + (!Vad->u.VadFlags.PrivateMemory && + (Vad->u.VadFlags.Protection & PAGE_WRITECOPY))) + { + /* Set the commit charge */ + Vad->u.VadFlags.CommitCharge = ViewSize / PAGE_SIZE; + } + /* Check if the VAD is to be secured */ if (Vad->u2.VadFlags2.OneSecured) { diff --git a/reactos/ntoskrnl/mm/ARM3/virtual.c b/reactos/ntoskrnl/mm/ARM3/virtual.c index 7a231707de6..61a29fec7cf 100644 --- a/reactos/ntoskrnl/mm/ARM3/virtual.c +++ b/reactos/ntoskrnl/mm/ARM3/virtual.c @@ -4589,7 +4589,6 @@ NtAllocateVirtualMemory(IN HANDLE ProcessHandle, if (AllocationType & MEM_COMMIT) Vad->u.VadFlags.MemCommit = 1; Vad->u.VadFlags.Protection = ProtectionMask; Vad->u.VadFlags.PrivateMemory = 1; - Vad->u.VadFlags.CommitCharge = AllocationType & MEM_COMMIT ? PageCount : 0; Vad->ControlArea = NULL; // For Memory-Area hack //