From b13e656c10c07f9513dc9f14cb279e2ea651f3a0 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Mon, 16 Jun 2003 19:16:32 +0000 Subject: [PATCH] - Remove only the necessary page count from cache in CcRosTrimCache. svn path=/trunk/; revision=4907 --- reactos/ntoskrnl/cc/view.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reactos/ntoskrnl/cc/view.c b/reactos/ntoskrnl/cc/view.c index c72aa55d19f..51aebe4a876 100644 --- a/reactos/ntoskrnl/cc/view.c +++ b/reactos/ntoskrnl/cc/view.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: view.c,v 1.62 2003/06/07 11:34:36 chorns Exp $ +/* $Id: view.c,v 1.63 2003/06/16 19:16:32 hbirr Exp $ * * PROJECT: ReactOS kernel * FILE: ntoskrnl/cc/view.c @@ -259,6 +259,10 @@ CcRosTrimCache(ULONG Target, ULONG Priority, PULONG NrFreed) RemoveEntryList(¤t->CacheSegmentListEntry); RemoveEntryList(¤t->CacheSegmentLRUListEntry); InsertHeadList(&FreeList, ¤t->BcbSegmentListEntry); + PagesPerSegment = current->Bcb->CacheSegmentSize / PAGE_SIZE; + PagesFreed = min(PagesPerSegment, Target); + Target -= PagesFreed; + (*NrFreed) += PagesFreed; } else { @@ -272,10 +276,6 @@ CcRosTrimCache(ULONG Target, ULONG Priority, PULONG NrFreed) current_entry = RemoveHeadList(&FreeList); current = CONTAINING_RECORD(current_entry, CACHE_SEGMENT, BcbSegmentListEntry); - PagesPerSegment = current->Bcb->CacheSegmentSize / PAGE_SIZE; - PagesFreed = min(PagesPerSegment, Target); - Target -= PagesFreed; - (*NrFreed) += PagesFreed; CcRosInternalFreeCacheSegment(current); }