From 5a14818f88b0f5fc32f6543cfcac96db0753b21f Mon Sep 17 00:00:00 2001 From: jacob Date: Thu, 26 Jun 2025 01:11:02 -0500 Subject: [PATCH] profalloc correct arena size --- src/arena.c | 4 ++-- src/gp_dx12.c | 38 ++++++++++++++++++-------------------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/arena.c b/src/arena.c index 876f9e78..46139804 100644 --- a/src/arena.c +++ b/src/arena.c @@ -54,7 +54,7 @@ void arena_release(struct arena *arena) ASAN_UNPOISON(arena, arena->committed + ARENA_HEADER_SIZE); __prof; __proffree(arena); - gstat_sub(GSTAT_MEMORY_COMMITTED, arena->committed); + gstat_sub(GSTAT_MEMORY_COMMITTED, arena->committed + ARENA_HEADER_SIZE); gstat_sub(GSTAT_MEMORY_RESERVED, arena->reserved); gstat_sub(GSTAT_NUM_ARENAS, 1); sys_memory_release(arena); @@ -93,7 +93,7 @@ void *arena_push_bytes_no_zero(struct arena *arena, u64 size, u64 align) arena->committed += commit_bytes; gstat_add(GSTAT_MEMORY_COMMITTED, commit_bytes); __proffree(arena); - __profalloc(arena, arena->committed + commit_bytes + ARENA_HEADER_SIZE); + __profalloc(arena, arena->committed + ARENA_HEADER_SIZE); ASAN_POISON(commit_address, commit_bytes); } diff --git a/src/gp_dx12.c b/src/gp_dx12.c index 3f1e393c..1c7dda75 100644 --- a/src/gp_dx12.c +++ b/src/gp_dx12.c @@ -3020,29 +3020,27 @@ INTERNAL SYS_THREAD_ENTRY_POINT_FUNC_DEF(evictor_thread_entry_point, arg) } /* Process releases */ - if (!shutdown) { + for (u32 i = 0; i < num_fenced_releases; ++i) { __profscope(Release); - for (u32 i = 0; i < num_fenced_releases; ++i) { - struct fenced_release_data *fr = &fenced_releases[i]; - switch (fr->kind) { - default: - { - /* Unknown handle type */ - ASSERT(false); - } break; + struct fenced_release_data *fr = &fenced_releases[i]; + switch (fr->kind) { + default: + { + /* Unknown handle type */ + ASSERT(false); + } break; - case FENCED_RELEASE_KIND_RESOURCE: - { - struct dx12_resource *resource = (struct dx12_resource *)fr->ptr; - dx12_resource_release_now(resource); - } break; + case FENCED_RELEASE_KIND_RESOURCE: + { + struct dx12_resource *resource = (struct dx12_resource *)fr->ptr; + dx12_resource_release_now(resource); + } break; - case FENCED_RELEASE_KIND_PIPELINE: - { - struct pipeline *pipeline = (struct pipeline *)fr->ptr; - pipeline_release_now(pipeline); - } break; - } + case FENCED_RELEASE_KIND_PIPELINE: + { + struct pipeline *pipeline = (struct pipeline *)fr->ptr; + pipeline_release_now(pipeline); + } break; } } }