diff options
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(); |