summaryrefslogtreecommitdiffstats
path: root/src/libnetdata/aral/aral.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/libnetdata/aral/aral.c (renamed from libnetdata/aral/aral.c)25
1 files changed, 17 insertions, 8 deletions
diff --git a/libnetdata/aral/aral.c b/src/libnetdata/aral/aral.c
index 7223ee359..64b63d8e0 100644
--- a/libnetdata/aral/aral.c
+++ b/src/libnetdata/aral/aral.c
@@ -464,6 +464,12 @@ static inline ARAL_PAGE *aral_acquire_a_free_slot(ARAL *ar TRACE_ALLOCATIONS_FUN
return page;
}
+void *aral_callocz_internal(ARAL *ar TRACE_ALLOCATIONS_FUNCTION_DEFINITION_PARAMS) {
+ void *r = aral_mallocz_internal(ar TRACE_ALLOCATIONS_FUNCTION_CALL_PARAMS);
+ memset(r, 0, ar->config.requested_element_size);
+ return r;
+}
+
void *aral_mallocz_internal(ARAL *ar TRACE_ALLOCATIONS_FUNCTION_DEFINITION_PARAMS) {
#ifdef FSANITIZE_ADDRESS
return mallocz(ar->config.requested_element_size);
@@ -714,6 +720,7 @@ ARAL *aral_create(const char *name, size_t element_size, size_t initial_page_ele
ar->config.mmap.enabled = mmap;
strncpyz(ar->config.name, name, ARAL_MAX_NAME);
spinlock_init(&ar->aral_lock.spinlock);
+ spinlock_init(&ar->adders.spinlock);
if(stats) {
ar->stats = stats;
@@ -1012,14 +1019,16 @@ int aral_stress_test(size_t threads, size_t elements, size_t seconds) {
};
usec_t started_ut = now_monotonic_usec();
- netdata_thread_t thread_ptrs[threads];
+ ND_THREAD *thread_ptrs[threads];
for(size_t i = 0; i < threads ; i++) {
- char tag[NETDATA_THREAD_NAME_MAX + 1];
- snprintfz(tag, NETDATA_THREAD_NAME_MAX, "TH[%zu]", i);
- netdata_thread_create(&thread_ptrs[i], tag,
- NETDATA_THREAD_OPTION_JOINABLE | NETDATA_THREAD_OPTION_DONT_LOG,
- aral_test_thread, &auc);
+ char tag[ND_THREAD_TAG_MAX + 1];
+ snprintfz(tag, ND_THREAD_TAG_MAX, "TH[%zu]", i);
+ thread_ptrs[i] = nd_thread_create(
+ tag,
+ NETDATA_THREAD_OPTION_JOINABLE | NETDATA_THREAD_OPTION_DONT_LOG,
+ aral_test_thread,
+ &auc);
}
size_t malloc_done = 0;
@@ -1041,12 +1050,12 @@ int aral_stress_test(size_t threads, size_t elements, size_t seconds) {
// fprintf(stderr, "Cancelling the threads...\n");
// for(size_t i = 0; i < threads ; i++) {
-// netdata_thread_cancel(thread_ptrs[i]);
+// nd_thread_signal_cancel(thread_ptrs[i]);
// }
fprintf(stderr, "Waiting the threads to finish...\n");
for(size_t i = 0; i < threads ; i++) {
- netdata_thread_join(thread_ptrs[i], NULL);
+ nd_thread_join(thread_ptrs[i]);
}
usec_t ended_ut = now_monotonic_usec();