Make atomics use for allocator counters consistent.
Use memory_order_relaxed atomics everywhere. Document what that means.
We were previously using seq_cst updates in some places. The only
benefit of that might have been for the expected invariants between
the counters, e.g. bytes_used < total_bytes_used, to actually hold.
But they didn't anyway because no care was taken to update them
in the correct order. And we were using relaxed (and even volatile)
accesses in other places.
Update max_bytes_used atomically, so that it can't decrease.
Bug: 31023171
Test: Build and boot AOSP
Change-Id: Icfca919d48c67899acb1798f5357f17e956099a6
2 files changed