In addition to the documentation on memory tagging, I've also added a detailed section on the scalability design choices in the hardened malloc implementation:
github.com/AndroidHardeni
It explains benefits and drawbacks of thread caches/queues and why they aren't suitable, etc.
Conversation
I hope this helps with understanding design compromises in allocator design. It's not possible to bolt on security features to a mainstream allocator and end up with a hardened allocator. The core design choices are crucial, as more surface level choices like thread caching.
