This is an archive of the discontinued LLVM Phabricator instance.

tsan: increase app mappings for aarch64 48-bit
ClosedPublic

Authored by thurston on Jan 3 2023, 1:48 PM.

Details

Summary

Currently, tsan's memory mappings include 4GB
for high app, 20GB for mid app, and 8GB for low
app. The high app and mid app mappings are
too small for large programs, especially if ASLR
entropy (mmap_rnd_bits) is set higher. The low app
region (for non-PIE) is too small for some of tcmalloc's
internal tests (this does not affect normal apps,
since tsan will replace malloc).

This CL increases the memory mappings to 4TB for
high app, 1.3TB for mid app, and 10TB for low app. Note
that tsan's 44-bit pointer compression/decompression imposes
a 16TB limit on the combined size of the app mappings, making
this set of mappings more or less maximal.

Diff Detail

Event Timeline

thurston created this revision.Jan 3 2023, 1:48 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 3 2023, 1:48 PM
thurston requested review of this revision.Jan 3 2023, 1:48 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 3 2023, 1:48 PM
Herald added a subscriber: Restricted Project. · View Herald Transcript
dvyukov accepted this revision.Jan 8 2023, 10:53 PM

Rubber stamp if mapping tests pass.

This revision is now accepted and ready to land.Jan 8 2023, 10:53 PM
This revision was landed with ongoing or failed builds.Jan 9 2023, 10:53 AM
This revision was automatically updated to reflect the committed changes.