Currently ZCollectedHeap::tlab_used(...) is calculated using CPU locals that are updated when pages are allocated. These cpu locals are stored in ZObjectAllocator which is not only used for eden allocations but for all ages. This leads to keeping additional CPU locals never used.
During `pause_mark_start()` these locals are reset and on machines with lots of CPUs this is "noticeable" from a pause time perspective.
We should simplify the tlab used tracking to avoid both additional memory usage and spending additional time in the pause.
During `pause_mark_start()` these locals are reset and on machines with lots of CPUs this is "noticeable" from a pause time perspective.
We should simplify the tlab used tracking to avoid both additional memory usage and spending additional time in the pause.