Browse Source

kernel/scheduler: Use std::mutex instead of spin lock

Profiling shows that this is a highly contested mutex, causing dimishing
results compared to a OS lock. std::mutex implementations can spin for a
while before falling back to an OS lock.

This avoids wasting precious CPU cycles in a no-op.
nce_cpp
ReinUsesLisp 6 years ago
parent
commit
43e15338e2
  1. 2
      src/core/hle/kernel/scheduler.h

2
src/core/hle/kernel/scheduler.h

@ -188,7 +188,7 @@ private:
/// Scheduler lock mechanisms.
bool is_locked{};
Common::SpinLock inner_lock{};
std::mutex inner_lock;
std::atomic<s64> scope_lock{};
Core::EmuThreadHandle current_owner{Core::EmuThreadHandle::InvalidHandle()};

Loading…
Cancel
Save