Skip to content

Commit a95fe58

Browse files
committed
move functions
1 parent 00b0dc8 commit a95fe58

File tree

3 files changed

+45
-41
lines changed

3 files changed

+45
-41
lines changed

src/pool/pool_disjoint.c

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
#include <umf/memory_provider.h>
1616
#include <umf/pools/pool_disjoint.h>
1717

18-
#include "base_alloc_global.h"
18+
#include "critnib/critnib.h"
1919
#include "uthash/utlist.h"
20+
21+
#include "base_alloc_global.h"
2022
#include "utils_common.h"
2123
#include "utils_concurrency.h"
2224
#include "utils_log.h"
@@ -542,6 +544,46 @@ bool bucket_can_pool(bucket_t *bucket, bool *to_pool) {
542544
return false;
543545
}
544546

547+
void slab_reg_by_addr(void *addr, slab_t *slab) {
548+
bucket_t *bucket = slab_get_bucket(slab);
549+
utils_mutex_t *lock = bucket_get_known_slabs_map_lock(bucket);
550+
critnib *slabs = bucket_get_known_slabs(bucket);
551+
552+
utils_mutex_lock(lock);
553+
554+
// TODO multimap
555+
slab_t *t = (slab_t *)critnib_get(slabs, (uintptr_t)addr);
556+
assert(t == NULL);
557+
(void)t;
558+
559+
fprintf(stderr, "[DP slab_reg_by_addr] addr: %p, slab: %p\n", addr,
560+
(void *)slab);
561+
critnib_insert(slabs, (uintptr_t)addr, slab, 0);
562+
563+
utils_mutex_unlock(lock);
564+
}
565+
566+
void slab_unreg_by_addr(void *addr, slab_t *slab) {
567+
bucket_t *bucket = slab_get_bucket(slab);
568+
utils_mutex_t *lock = bucket_get_known_slabs_map_lock(bucket);
569+
critnib *slabs = bucket_get_known_slabs(bucket);
570+
571+
utils_mutex_lock(lock);
572+
573+
// debug only
574+
// assume single-value per key
575+
slab_t *known_slab = (slab_t *)critnib_get(slabs, (uintptr_t)addr);
576+
assert(known_slab != NULL && "Slab is not found");
577+
assert(slab == known_slab);
578+
(void)known_slab;
579+
580+
fprintf(stderr, "[DP slab_unreg_by_addr] addr: %p, slab: %p\n", addr,
581+
(void *)slab);
582+
critnib_remove(slabs, (uintptr_t)addr);
583+
584+
utils_mutex_unlock(lock);
585+
}
586+
545587
#ifdef __cplusplus
546588
}
547589
#endif

src/pool/pool_disjoint.cpp

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -649,46 +649,6 @@ utils_mutex_t *bucket_get_known_slabs_map_lock(bucket_t *bucket) {
649649
return t->getKnownSlabsMapLock();
650650
}
651651

652-
void slab_reg_by_addr(void *addr, slab_t *slab) {
653-
bucket_t *bucket = slab_get_bucket(slab);
654-
utils_mutex_t *lock = bucket_get_known_slabs_map_lock(bucket);
655-
critnib *slabs = bucket_get_known_slabs(bucket);
656-
657-
utils_mutex_lock(lock);
658-
659-
// TODO multimap
660-
slab_t *t = (slab_t *)critnib_get(slabs, (uintptr_t)addr);
661-
assert(t == NULL);
662-
(void)t;
663-
664-
fprintf(stderr, "[DP slab_reg_by_addr] addr: %p, slab: %p\n", addr,
665-
(void *)slab);
666-
critnib_insert(slabs, (uintptr_t)addr, slab, 0);
667-
668-
utils_mutex_unlock(lock);
669-
}
670-
671-
void slab_unreg_by_addr(void *addr, slab_t *slab) {
672-
bucket_t *bucket = slab_get_bucket(slab);
673-
utils_mutex_t *lock = bucket_get_known_slabs_map_lock(bucket);
674-
critnib *slabs = bucket_get_known_slabs(bucket);
675-
676-
utils_mutex_lock(lock);
677-
678-
// debug only
679-
// assume single-value per key
680-
slab_t *known_slab = (slab_t *)critnib_get(slabs, (uintptr_t)addr);
681-
assert(known_slab != NULL && "Slab is not found");
682-
assert(slab == known_slab);
683-
(void)known_slab;
684-
685-
fprintf(stderr, "[DP slab_unreg_by_addr] addr: %p, slab: %p\n", addr,
686-
(void *)slab);
687-
critnib_remove(slabs, (uintptr_t)addr);
688-
689-
utils_mutex_unlock(lock);
690-
}
691-
692652
#ifdef __cplusplus
693653
}
694654
#endif

src/pool/pool_disjoint_temp.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,5 +141,7 @@ void bucket_free_slab(bucket_t *bucket, slab_t *slab, bool *to_pool);
141141
umf_disjoint_pool_shared_limits_t *bucket_get_limits(bucket_t *bucket);
142142
umf_disjoint_pool_params_t *bucket_get_params(bucket_t *bucket);
143143
umf_memory_provider_handle_t bucket_get_mem_handle(bucket_t *bucket);
144+
utils_mutex_t *bucket_get_known_slabs_map_lock(bucket_t *bucket);
145+
critnib *bucket_get_known_slabs(bucket_t *bucket);
144146

145147
#endif // TEMP_H

0 commit comments

Comments
 (0)