[scudo] Change region size from 1 MB to 2 MB in tests
authorChia-hung Duan <chiahungduan@google.com>
Sat, 15 Oct 2022 20:34:51 +0000 (20:34 +0000)
committerChia-hung Duan <chiahungduan@google.com>
Mon, 17 Oct 2022 20:22:33 +0000 (20:22 +0000)
commit5de73d27bd6b9140978b376b34ef3a7231df9aa9
treefa0cfb4e8afabd756b9382c6c95aff7deceace1c
parent6d972ad2d8f1cfe22a61d1c4aed6089f0586b377
[scudo] Change region size from 1 MB to 2 MB in tests

In SizeClassAllocator64, the RegionBeg is determined by RegionBase +
random offset. The offset is n pages, where n is a random number less or
equal to 16. However, on certain platforms which have large page size,
it may end up immediately OOM without mapping any block pages. For
example,

PageSize = 64 KB, RegionSize = 1 MB

Suppose the random number n is 16, then the random offset will be
64 * 16 = 1024 KB which is equal to the RegionSize.

On most platforms we don't have such large page size and we have
different PRNG(pseudo random number generator) behaviors, thus we didn't
hit any failures before. Given that this now only affects the tests,
only increase the region size is enough.

Will revisit the logic of calculating the random offset.

Differential Revision: https://reviews.llvm.org/D136025
compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
compiler-rt/lib/scudo/standalone/tests/primary_test.cpp