This is an archive of the discontinued LLVM Phabricator instance.

tsan: fix broken aarch64_39/42 mappings and expand them
ClosedPublic

Authored by thurston on Jan 12 2023, 3:18 PM.

Details

Summary

The aarch64 39- and 42-bit mappings were broken: mappings to meta and shadow were not fully invertible. This CL introduces a working set of mappings, and also increases the size of some app regions:

  • aarch64, 39-bit (2^39 == 512GB):
    • Low: (Old) 4GB -> (New) 20GB
    • Mid: 4GB -> 20GB
    • Heap: 4GB -> 12GB
    • High: 8GB -> 12GB
  • aarch64, 42-bit (2^42 == 4TB):
    • Low: 64GB -> 128GB
    • Mid: 4GB -> 88GB
    • Heap: 64GB -> 192GB
    • High: 64GB

Additionally, this CL improves the code comments for all the linux aarch64 mappings.

Diff Detail

Event Timeline

thurston created this revision.Jan 12 2023, 3:18 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 12 2023, 3:18 PM
thurston requested review of this revision.Jan 12 2023, 3:18 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 12 2023, 3:18 PM
Herald added a subscriber: Restricted Project. · View Herald Transcript
vitalybuka accepted this revision.Jan 13 2023, 2:42 PM
This revision is now accepted and ready to land.Jan 13 2023, 2:42 PM
This revision was landed with ongoing or failed builds.Jan 17 2023, 9:48 AM
This revision was automatically updated to reflect the committed changes.