glibc/malloc
Miguel Martín 5d2a931a81 malloc: add multi-threaded tests for aligned_alloc/calloc/malloc
Improve aligned_alloc/calloc/malloc test coverage by adding
multi-threaded tests with random memory allocations and with/without
cross-thread memory deallocations.

Perform a number of memory allocation calls with random sizes limited
to 0xffff.

Use the existing DSO ('malloc/tst-aligned_alloc-lib.c') to randomize
allocator selection.

The multi-threaded allocation/deallocation is staged as described below:

- Stage 1: Half of the threads will be allocating memory and the
  other half will be waiting for them to finish the allocation.
- Stage 2: Half of the threads will be allocating memory and the
  other half will be deallocating memory.
- Stage 3: Half of the threads will be deallocating memory and the
  second half waiting on them to finish.

Add 'malloc/tst-aligned-alloc-random-thread.c' where each thread will
deallocate only the memory that was previously allocated by itself.

Add 'malloc/tst-aligned-alloc-random-thread-cross.c' where each thread
will deallocate memory that was previously allocated by another thread.

The intention is to be able to utilize existing malloc testing to ensure
that similar allocation APIs are also exposed to the same rigors.
Reviewed-by: Arjun Shankar <arjun@redhat.com>

(cherry picked from commit b0fbcb7d00)
2024-07-29 14:59:08 +02:00
..
alloc_buffer_alloc_array.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloc_buffer_allocate.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloc_buffer_copy_bytes.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloc_buffer_copy_string.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloc_buffer_create_failure.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arena.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Depend added rt to malloc/Depend [BZ #27132] 2021-02-23 10:04:45 +01:00
dynarray_at_failure.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_emplace_enlarge.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_finalize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_resize_clear.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_resize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray-skeleton.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
hooks.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Makefile malloc: add multi-threaded tests for aligned_alloc/calloc/malloc 2024-07-29 14:59:08 +02:00
malloc-check.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
malloc-debug.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
malloc-internal.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
malloc.c Make __getrandom_nocancel set errno and add a _nostatus version 2024-01-12 14:23:11 +01:00
malloc.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mallocbug.c Reformat malloc to gnu style. 2014-01-02 09:40:10 +01:00
mcheck-impl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mcheck-init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mcheck.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mcheck.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memusage.c Fix usage of _STACK_GROWS_DOWN and _STACK_GROWS_UP defines [BZ 31989] 2024-07-19 10:10:17 -04:00
memusage.sh Update copyright dates not handled by scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memusagestat.c Update copyright dates not handled by scripts/update-copyrights 2024-01-01 10:53:40 -08:00
morecore.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mtrace-impl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mtrace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mtrace.pl mtrace: make shell commands robust against meta characters 2024-06-24 09:33:49 +02:00
obstack.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
obstack.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
reallocarray.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scratch_buffer_grow_preserve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scratch_buffer_grow.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scratch_buffer_set_array_size.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
set-freeres.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
thread-freeres.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-aligned_alloc-lib.c malloc: avoid global locks in tst-aligned_alloc-lib.c 2024-07-29 14:59:08 +02:00
tst-aligned-alloc-random-thread-cross.c malloc: add multi-threaded tests for aligned_alloc/calloc/malloc 2024-07-29 14:59:08 +02:00
tst-aligned-alloc-random-thread.c malloc: add multi-threaded tests for aligned_alloc/calloc/malloc 2024-07-29 14:59:08 +02:00
tst-aligned-alloc-random.c malloc: Improve aligned_alloc and calloc test coverage. 2024-05-14 14:36:50 +00:00
tst-aligned-alloc-static.c aligned_alloc: conform to C17 2023-05-08 16:40:10 -04:00
tst-aligned-alloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-alloc_buffer.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-calloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-compathooks-off.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-compathooks-on.c Move malloc hooks into a compat DSO 2021-07-22 18:37:59 +05:30
tst-dynarray-at-fail.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-dynarray-fail.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-dynarray-shared.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-dynarray.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-free-errno.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-aux-nothread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-aux-thread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-aux.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-aux.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-nothread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-skeleton.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-static-nothread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-static-thread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-thread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallinfo2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc_info.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-alternate-path.c malloc: New test to check malloc alternate path using memory obstruction 2024-06-04 18:00:29 +02:00
tst-malloc-backtrace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-check.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-fork-deadlock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-random.c malloc: Improve aligned_alloc and calloc test coverage. 2024-05-14 14:36:50 +00:00
tst-malloc-stats-cancellation.c malloc: Run tst-malloc-stats-cancellation via test-driver.c 2021-04-07 02:35:50 +02:00
tst-malloc-tcache-leak.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-thread-exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-thread-fail.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-too-large.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-usable-tunables.c Initialize tunable list with the GLIBC_TUNABLES environment variable 2016-12-31 23:49:24 +05:30
tst-malloc-usable.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc.c malloc: Improve aligned_alloc and calloc test coverage. 2024-05-14 14:36:50 +00:00
tst-mallocalign1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallocfork2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallocfork3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallocfork.c Fix malloc tests build with GCC 10. 2019-06-10 22:12:08 +00:00
tst-mallocstate.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallopt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memalign-2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memalign-3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memalign.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mtrace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mtrace.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mxfast.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-obstack.c Avoid -Wuse-after-free in tests [BZ #26779]. 2022-01-26 10:38:23 -07:00
tst-posix_memalign.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-pvalloc-fortify.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-pvalloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-realloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-reallocarray.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-safe-linking.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-scratch_buffer.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tcfree1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tcfree2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tcfree3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-trim1.c * malloc/tst-trim1.c: New file. 2007-12-16 22:57:57 +00:00
tst-valloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Versions Remove unused scratch_buffer_dupfree 2022-10-28 18:43:58 +01:00