a64_exclusive_monitor: Loosen memory ordering requirements

It is not necessary to be as strict as it was.
This commit is contained in:
MerryMage 2018-09-27 16:21:56 +01:00
parent 6e3e251031
commit 7c0378f56d

View file

@ -30,11 +30,11 @@ void ExclusiveMonitor::Mark(size_t processor_id, VAddr address, size_t size) {
} }
void ExclusiveMonitor::Lock() { void ExclusiveMonitor::Lock() {
while (is_locked.test_and_set()) {} while (is_locked.test_and_set(std::memory_order_acquire)) {}
} }
void ExclusiveMonitor::Unlock() { void ExclusiveMonitor::Unlock() {
is_locked.clear(); is_locked.clear(std::memory_order_release);
} }
bool ExclusiveMonitor::CheckAndClear(size_t processor_id, VAddr address, size_t size) { bool ExclusiveMonitor::CheckAndClear(size_t processor_id, VAddr address, size_t size) {