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.
This commit is contained in:
parent
f1d8c83e1c
commit
9b38f4fc55
|
@ -188,7 +188,7 @@ private:
|
||||||
|
|
||||||
/// Scheduler lock mechanisms.
|
/// Scheduler lock mechanisms.
|
||||||
bool is_locked{};
|
bool is_locked{};
|
||||||
Common::SpinLock inner_lock{};
|
std::mutex inner_lock;
|
||||||
std::atomic<s64> scope_lock{};
|
std::atomic<s64> scope_lock{};
|
||||||
Core::EmuThreadHandle current_owner{Core::EmuThreadHandle::InvalidHandle()};
|
Core::EmuThreadHandle current_owner{Core::EmuThreadHandle::InvalidHandle()};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue