From a9f46dc86f94e5a91eb3315ce2e8b9be6beea55a Mon Sep 17 00:00:00 2001 From: daan Date: Sun, 26 Jul 2020 11:58:02 -0700 Subject: reduce memory order constraints for better efficiency on ARM etc --- src/segment.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/segment.c') diff --git a/src/segment.c b/src/segment.c index 5af98b1..5523055 100644 --- a/src/segment.c +++ b/src/segment.c @@ -982,7 +982,7 @@ static mi_segment_t* mi_abandoned_pop(void) { mi_segment_t* anext = mi_atomic_read_ptr_relaxed(mi_segment_t, &segment->abandoned_next); next = mi_tagged_segment(anext, ts); // note: reads the segment's `abandoned_next` field so should not be decommitted } - } while (segment != NULL && !mi_atomic_cas_weak(&abandoned, &ts, next)); + } while (segment != NULL && !mi_atomic_cas_weak_acq_rel(&abandoned, &ts, next)); mi_atomic_decrement(&abandoned_readers); // release reader lock if (segment != NULL) { mi_atomic_write_ptr(mi_segment_t, &segment->abandoned_next, NULL); -- cgit v1.2.3