Loading...
tests/perf_contended_malloc_free.c libmalloc-474.0.13 libmalloc-283
--- libmalloc/libmalloc-474.0.13/tests/perf_contended_malloc_free.c
+++ libmalloc/libmalloc-283/tests/perf_contended_malloc_free.c
@@ -9,10 +9,6 @@
 #include <pthread.h>
 #include <malloc/malloc.h>
 #include <darwintest.h>
-
-#include <../src/internal.h> // for platform.h
-
-T_GLOBAL_META(T_META_TAG_PERF, T_META_TAG_XZONE);
 
 // number of times malloc & free are called per dt_stat batch
 #define ITERATIONS_PER_DT_STAT_BATCH 10000ull
@@ -265,7 +261,7 @@
 T_DECL(perf_uncontended_nano_bench, "Uncontended nano malloc",
 		T_META_ALL_VALID_ARCHS(NO),
 		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
-		T_META_ENVVAR("MallocNanoZone=1"))
+		T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_PERF)
 {
 	malloc_bench(true, 16, 256, 16); // NANO_MAX_SIZE
 }
@@ -273,7 +269,7 @@
 T_DECL(perf_contended_nano_bench, "Contended nano malloc",
 		T_META_ALL_VALID_ARCHS(NO),
 		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
-		T_META_ENVVAR("MallocNanoZone=1"))
+		T_META_ENVVAR("MallocNanoZone=1"), T_META_TAG_PERF)
 {
 	malloc_bench(false, 16, 256, 16); // NANO_MAX_SIZE
 }
@@ -281,7 +277,7 @@
 T_DECL(perf_uncontended_tiny_bench, "Uncontended tiny malloc",
 		T_META_ALL_VALID_ARCHS(NO),
 		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
-		T_META_ENVVAR("MallocNanoZone=0"))
+		T_META_ENVVAR("MallocNanoZone=0"), T_META_TAG_PERF)
 {
 	malloc_bench(true, 16, 1008, 16); // SMALL_THRESHOLD
 }
@@ -289,28 +285,31 @@
 T_DECL(perf_contended_tiny_bench, "Contended tiny malloc",
 		T_META_ALL_VALID_ARCHS(NO),
 		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
-		T_META_ENVVAR("MallocNanoZone=0"))
+		T_META_ENVVAR("MallocNanoZone=0"), T_META_TAG_PERF)
 {
 	malloc_bench(false, 16, 1008, 16); // SMALL_THRESHOLD
 }
 
 T_DECL(perf_uncontended_small_bench, "Uncontended small malloc",
 		T_META_ALL_VALID_ARCHS(NO),
-		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false))
+		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
+		T_META_TAG_PERF)
 {
 	malloc_bench(true, 1024, 15 * 1024, 512); // LARGE_THRESHOLD
 }
 
 T_DECL(perf_contended_small_bench, "Contended small malloc",
 		T_META_ALL_VALID_ARCHS(NO),
-		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false))
+		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
+		T_META_TAG_PERF)
 {
 	malloc_bench(false, 1024, 15 * 1024, 512); // LARGE_THRESHOLD
 }
 
 T_DECL(perf_uncontended_large_bench, "Uncontended large malloc",
 		T_META_ALL_VALID_ARCHS(NO),
-		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false))
+		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
+		T_META_TAG_PERF)
 {
 	iterations_per_dt_stat_batch = ITERATIONS_PER_DT_STAT_BATCH_LARGE_MALLOC;
 	malloc_bench(true, 16 * 1024, 256 * 1024, 16 * 1024);
@@ -318,27 +317,9 @@
 
 T_DECL(perf_contended_large_bench, "Contended large malloc",
 		T_META_ALL_VALID_ARCHS(NO),
-		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false))
+		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
+		T_META_TAG_PERF)
 {
 	iterations_per_dt_stat_batch = ITERATIONS_PER_DT_STAT_BATCH_LARGE_MALLOC;
 	malloc_bench(false, 16 * 1024, 256 * 1024, 16 * 1024);
 }
-
-// rdar://100479142
-#if CONFIG_DEFERRED_RECLAIM
-
-// If deferred reclaim is available but not enabled by default, test it too
-T_DECL(perf_contended_large_deferred_reclaim_bench,
-		"Contended large malloc (deferred reclaim)",
-		T_META_ALL_VALID_ARCHS(NO),
-		T_META_LTEPHASE(LTE_POSTINIT), T_META_CHECK_LEAKS(false),
-		T_META_ENABLED(!DEFAULT_LARGE_CACHE_ENABLED),
-		T_META_ENVVAR("MallocLargeCache=1"))
-{
-	// Add more iterations to also serve as a stress test for deferred reclaim
-	iterations_per_dt_stat_batch =
-			ITERATIONS_PER_DT_STAT_BATCH_LARGE_MALLOC * 20;
-	malloc_bench(false, 16 * 1024, 256 * 1024, 16 * 1024);
-}
-
-#endif // CONFIG_DEFERRED_RECLAIM