On Mon Feb 13 22:14:54 2023 +0000, Zebediah Figura wrote:
Patch 6/8 has an acquire/release pair, but it's not documented why that needs acquire/release semantics (and it's really not obvious to me either, since bin_try_enable() doesn't write any other fields.) Can that be explained?
I don't see what to explain, `bin_try_enable` is called after updating the counters, it enables the LFH globally on the heap, and then specific bin, and `heap_allocate_block_lfh` is supposed to work with a LFH enabled heap and on LFH enabled bin. It would probably work with relaxed semantics too, but would be less correct.