[PATCH] malloc: Decrease resource usage for malloc tests
Carlos O'Donell
carlos@redhat.com
Mon Jun 12 13:34:52 GMT 2023
On 6/7/23 13:39, Adhemerval Zanella via Libc-alpha wrote:
> The tst-mallocfork2 and tst-mallocfork3 create large number of
> subprocesss, around 11k for former and 20k for latter, to check
> for malloc async-signal-safeness on both fork and _Fork. However
> they do not really exercise allocation patterns different than
> other tests fro malloc itself, and the spawned process just exit
> without any extra computation.
Agreed.
> The tst-malloc-tcache-leak is similar, but creates 100k threads
> and already checks the resulting with mallinfo.
>
> These tests are also very sensitive to system load (since they
> estresss heavy the kernel resource allocation), and adding them
> on THP tunable and mcheck tests increase the pressure even more.
>
> For THP the fork tests do not add any more coverage than other
> tests. The mcheck is also not enable for tst-malloc-tcache-leak.
>
> Checked on x86_64-linux-gnu.
LGTM.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> ---
> malloc/Makefile | 23 +++++++++++------------
> 1 file changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/malloc/Makefile b/malloc/Makefile
> index ce6ebcf1b3..c1db3347d8 100644
> --- a/malloc/Makefile
> +++ b/malloc/Makefile
> @@ -74,7 +74,10 @@ test-srcs = tst-mtrace
> # with MALLOC_CHECK_=3 because they expect a specific failure.
> tests-exclude-malloc-check = tst-malloc-check tst-malloc-usable \
> tst-mxfast tst-safe-linking \
> - tst-compathooks-off tst-compathooks-on tst-memalign-2 tst-memalign-3
> + tst-compathooks-off tst-compathooks-on tst-memalign-2 tst-memalign-3 \
> + tst-mallocfork2 \
> + tst-mallocfork3 \
> + tst-malloc-tcache-leak
>
> # Run all tests with MALLOC_CHECK_=3
> tests-malloc-check = $(filter-out $(tests-exclude-malloc-check) \
> @@ -92,7 +95,10 @@ tests-exclude-hugetlb1 = \
> tst-interpose-static-thread \
> tst-malloc-usable \
> tst-malloc-usable-tunables \
> - tst-mallocstate
> + tst-mallocstate \
> + tst-malloc-tcache-leak \
> + tst-mallocfork2 \
> + tst-mallocfork3
> # The tst-free-errno relies on the used malloc page size to mmap an
> # overlapping region.
> tests-exclude-hugetlb2 = \
> @@ -121,7 +127,9 @@ tests-exclude-mcheck = tst-mallocstate \
> tst-compathooks-off tst-compathooks-on \
> tst-memalign-2 \
> tst-memalign-3 \
> - tst-mxfast
> + tst-mxfast \
> + tst-mallocfork2 \
> + tst-mallocfork3
>
> tests-mcheck = $(filter-out $(tests-exclude-mcheck) $(tests-static), $(tests))
> endif
> @@ -182,14 +190,10 @@ $(objpfx)tst-malloc-fork-deadlock-malloc-check: $(shared-thread-library)
> $(objpfx)tst-malloc-stats-cancellation-malloc-check: $(shared-thread-library)
> $(objpfx)tst-malloc-thread-exit-malloc-hugetlb1: $(shared-thread-library)
> $(objpfx)tst-malloc-thread-fail-malloc-hugetlb1: $(shared-thread-library)
> -$(objpfx)tst-mallocfork2-malloc-hugetlb1: $(shared-thread-library)
> -$(objpfx)tst-mallocfork3-malloc-hugetlb1: $(shared-thread-library)
> $(objpfx)tst-malloc-fork-deadlock-malloc-hugetlb1: $(shared-thread-library)
> $(objpfx)tst-malloc-stats-cancellation-malloc-hugetlb1: $(shared-thread-library)
> $(objpfx)tst-malloc-thread-exit-malloc-hugetlb2: $(shared-thread-library)
> $(objpfx)tst-malloc-thread-fail-malloc-hugetlb2: $(shared-thread-library)
> -$(objpfx)tst-mallocfork2-malloc-hugetlb2: $(shared-thread-library)
> -$(objpfx)tst-mallocfork3-malloc-hugetlb2: $(shared-thread-library)
> $(objpfx)tst-malloc-fork-deadlock-malloc-hugetlb2: $(shared-thread-library)
> $(objpfx)tst-malloc-stats-cancellation-malloc-hugetlb2: $(shared-thread-library)
>
> @@ -344,14 +348,9 @@ $(objpfx)tst-dynarray-fail-mem.out: $(objpfx)tst-dynarray-fail.out
> $(objpfx)tst-malloc-tcache-leak: $(shared-thread-library)
> $(objpfx)tst-malloc_info: $(shared-thread-library)
> $(objpfx)tst-mallocfork2: $(shared-thread-library)
> -$(objpfx)tst-malloc-tcache-leak-mcheck: $(shared-thread-library)
> $(objpfx)tst-malloc_info-mcheck: $(shared-thread-library)
> -$(objpfx)tst-mallocfork2-mcheck: $(shared-thread-library)
> -$(objpfx)tst-malloc-tcache-leak-malloc-check: $(shared-thread-library)
> $(objpfx)tst-malloc_info-malloc-check: $(shared-thread-library)
> $(objpfx)tst-mallocfork2-malloc-check: $(shared-thread-library)
> -$(objpfx)tst-malloc-tcache-leak-malloc-hugetlb1: $(shared-thread-library)
> -$(objpfx)tst-malloc-tcache-leak-malloc-hugetlb2: $(shared-thread-library)
> $(objpfx)tst-malloc_info-malloc-hugetlb1: $(shared-thread-library)
> $(objpfx)tst-malloc_info-malloc-hugetlb2: $(shared-thread-library)
> $(objpfx)tst-memalign-3: $(shared-thread-library)
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list