Skip to content

Commit 2c2d7aa

Browse files
committed
Replace linear base allocator with the global one in tracking provider
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent 509e135 commit 2c2d7aa

File tree

2 files changed

+8
-17
lines changed

2 files changed

+8
-17
lines changed

src/provider/provider_tracking.c

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -464,26 +464,19 @@ void umfTrackingMemoryProviderGetUpstreamProvider(
464464
}
465465

466466
umf_memory_tracker_handle_t umfMemoryTrackerCreate(void) {
467-
umf_ba_linear_pool_t *pool_linear =
468-
umf_ba_linear_create(0 /* minimum pool size */);
469-
if (!pool_linear) {
467+
umf_memory_tracker_handle_t handle =
468+
(umf_memory_tracker_handle_t)umf_ba_global_alloc(
469+
sizeof(struct umf_memory_tracker_t));
470+
if (!handle) {
470471
return NULL;
471472
}
472473

473474
umf_ba_pool_t *tracker_allocator =
474475
umf_ba_create(sizeof(struct tracker_value_t));
475476
if (!tracker_allocator) {
476-
goto err_destroy_pool_linear;
477-
}
478-
479-
umf_memory_tracker_handle_t handle =
480-
(umf_memory_tracker_handle_t)umf_ba_linear_alloc(
481-
pool_linear, sizeof(struct umf_memory_tracker_t));
482-
if (!handle) {
483-
goto err_destroy_tracker_allocator;
477+
goto err_free_handle;
484478
}
485479

486-
handle->pool_linear = pool_linear;
487480
handle->tracker_allocator = tracker_allocator;
488481

489482
void *mutex_ptr = util_mutex_init(&handle->splitMergeMutex);
@@ -502,8 +495,8 @@ umf_memory_tracker_handle_t umfMemoryTrackerCreate(void) {
502495
util_mutex_destroy_not_free(&handle->splitMergeMutex);
503496
err_destroy_tracker_allocator:
504497
umf_ba_destroy(tracker_allocator);
505-
err_destroy_pool_linear:
506-
umf_ba_linear_destroy(pool_linear);
498+
err_free_handle:
499+
umf_ba_global_free(handle, sizeof(struct umf_memory_tracker_t));
507500
return NULL;
508501
}
509502

@@ -519,5 +512,5 @@ void umfMemoryTrackerDestroy(umf_memory_tracker_handle_t handle) {
519512
critnib_delete(handle->map);
520513
util_mutex_destroy_not_free(&handle->splitMergeMutex);
521514
umf_ba_destroy(handle->tracker_allocator);
522-
umf_ba_linear_destroy(handle->pool_linear);
515+
umf_ba_global_free(handle, sizeof(struct umf_memory_tracker_t));
523516
}

src/provider/provider_tracking.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <umf/memory_provider.h>
1919

2020
#include "base_alloc.h"
21-
#include "base_alloc_linear.h"
2221
#include "critnib.h"
2322
#include "utils_concurrency.h"
2423

@@ -27,7 +26,6 @@ extern "C" {
2726
#endif
2827

2928
struct umf_memory_tracker_t {
30-
umf_ba_linear_pool_t *pool_linear;
3129
umf_ba_pool_t *tracker_allocator;
3230
critnib *map;
3331
os_mutex_t splitMergeMutex;

0 commit comments

Comments
 (0)