diff --git a/base/setup/usetup/usetup.c b/base/setup/usetup/usetup.c index 1a7940c6e3..12659207e8 100644 --- a/base/setup/usetup/usetup.c +++ b/base/setup/usetup/usetup.c @@ -3902,8 +3902,11 @@ FileCopyCallback(PVOID Context, CopyContext->CompletedOperations++; /* SYSREG checkpoint */ - if (CopyContext->TotalOperations >> 1 == CopyContext->CompletedOperations) - DPRINT1("CHECKPOINT:HALF_COPIED\n"); + if (CopyContext->CompletedOperations >= CopyContext->TotalOperations / 2 && + CopyContext->CompletedOperations % 4 == 0) + { + DPRINT1("CHECKPOINT: Copy progress %lu / %lu\n", CopyContext->CompletedOperations, CopyContext->TotalOperations); + } ProgressNextStep(CopyContext->ProgressBar); SetupUpdateMemoryInfo(CopyContext, FALSE); diff --git a/sdk/lib/rtl/heap.c b/sdk/lib/rtl/heap.c index 1c6df2996f..2f9aca2531 100644 --- a/sdk/lib/rtl/heap.c +++ b/sdk/lib/rtl/heap.c @@ -1236,6 +1236,8 @@ RtlCreateHeap(ULONG Flags, NTSTATUS Status; ULONG MaxBlockSize; + RtlpPageHeapEnabled = TRUE; + /* Check for a special heap */ if (RtlpPageHeapEnabled && !Addr && !Lock) { @@ -1256,6 +1258,11 @@ RtlCreateHeap(ULONG Flags, Flags &= HEAP_CREATE_VALID_MASK; } + if (!Addr) + { + Flags |= HEAP_FLAG_PAGE_ALLOCS; + } + /* Capture parameters */ if (Parameters) { diff --git a/sdk/lib/rtl/heappage.c b/sdk/lib/rtl/heappage.c index 08857e7d6b..b19cadda80 100644 --- a/sdk/lib/rtl/heappage.c +++ b/sdk/lib/rtl/heappage.c @@ -781,6 +781,11 @@ RtlpDphCoalesceFreeIntoAvailable(PDPH_HEAP_ROOT DphRoot, FreeAllocations--; if (FreeAllocations < LeaveOnFreeList) break; + if (FreeAllocations - LeaveOnFreeList > 0x1000 && FreeAllocations % 0x1000 == 0) + { + DPRINT1("Coalesce... %lu\n", FreeAllocations - LeaveOnFreeList); + } + /* Get the next pointer, because it may be changed after following two calls */ Next = Node->pNextAlloc;