[compiler-rt] c261edb - [NFC][scudo] Check zeros on smaller allocations
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Thu May 27 11:14:34 PDT 2021
Author: Vitaly Buka
Date: 2021-05-27T11:14:26-07:00
New Revision: c261edb277020471b7670a8b2f826efc73c5d941
URL: https://github.com/llvm/llvm-project/commit/c261edb277020471b7670a8b2f826efc73c5d941
DIFF: https://github.com/llvm/llvm-project/commit/c261edb277020471b7670a8b2f826efc73c5d941.diff
LOG: [NFC][scudo] Check zeros on smaller allocations
1Tb counting was the slowest test under the QEMU with MTE.
Added:
Modified:
compiler-rt/lib/scudo/standalone/tests/common_test.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/scudo/standalone/tests/common_test.cpp b/compiler-rt/lib/scudo/standalone/tests/common_test.cpp
index 2c79487e77dd..eb3a5bceca93 100644
--- a/compiler-rt/lib/scudo/standalone/tests/common_test.cpp
+++ b/compiler-rt/lib/scudo/standalone/tests/common_test.cpp
@@ -35,27 +35,39 @@ TEST(ScudoCommonTest, SKIP_ON_FUCHSIA(ResidentMemorySize)) {
const uptr Threshold = Size >> 3;
MapPlatformData Data = {};
- uptr *P = reinterpret_cast<uptr *>(
- map(nullptr, Size, "ResidentMemorySize", 0, &Data));
- const ptr
diff _t N = Size / sizeof(*P);
+ void *P = map(nullptr, Size, "ResidentMemorySize", 0, &Data);
ASSERT_NE(nullptr, P);
EXPECT_LT(getResidentMemorySize() - OnStart, Threshold);
- EXPECT_EQ(std::count(P, P + N, 0), N);
memset(P, 1, Size);
- EXPECT_EQ(std::count(P, P + N, 0), 0);
EXPECT_GT(getResidentMemorySize() - OnStart, Size - Threshold);
releasePagesToOS((uptr)P, 0, Size, &Data);
- EXPECT_EQ(std::count(P, P + N, 0), N);
// FIXME: does not work with QEMU-user.
// EXPECT_LT(getResidentMemorySize() - OnStart, Threshold);
memset(P, 1, Size);
- EXPECT_EQ(std::count(P, P + N, 0), 0);
EXPECT_GT(getResidentMemorySize() - OnStart, Size - Threshold);
unmap(P, Size, 0, &Data);
}
+TEST(ScudoCommonTest, Zeros) {
+ const uptr Size = 1ull << 20;
+
+ MapPlatformData Data = {};
+ uptr *P = reinterpret_cast<uptr *>(map(nullptr, Size, "Zeros", 0, &Data));
+ const ptr
diff _t N = Size / sizeof(*P);
+ ASSERT_NE(nullptr, P);
+ EXPECT_EQ(std::count(P, P + N, 0), N);
+
+ memset(P, 1, Size);
+ EXPECT_EQ(std::count(P, P + N, 0), 0);
+
+ releasePagesToOS((uptr)P, 0, Size, &Data);
+ EXPECT_EQ(std::count(P, P + N, 0), N);
+
+ unmap(P, Size, 0, &Data);
+}
+
} // namespace scudo
More information about the llvm-commits
mailing list