yuzu/src/core/hle/kernel
ReinUsesLisp 9b38f4fc55 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.
2020-07-12 21:27:24 -03:00
..
memory memory_manager: Remove useless assertion 2020-06-25 16:35:58 +10:00
address_arbiter.cpp ARM: Addapt to new Exclusive Monitor Interface. 2020-06-27 11:35:50 -04:00
address_arbiter.h SVC: Correct svcWaitForAddress and svcSignalToAddress. 2020-06-27 11:35:25 -04:00
client_port.cpp General: Cleanup legacy code. 2020-06-27 11:36:05 -04:00
client_port.h kernel: Remove unnecessary includes 2019-12-07 22:37:05 -05:00
client_session.cpp core: memory: Move to Core::Memory namespace. 2020-04-17 00:59:28 -04:00
client_session.h core: memory: Move to Core::Memory namespace. 2020-04-17 00:59:28 -04:00
code_set.cpp kernel: Move CodeSet structure to its own source files 2019-03-20 13:07:04 -04:00
code_set.h VM_Manager: Align allocated memory to 256bytes 2019-07-19 10:06:08 -04:00
errors.h SVC: WaitSynchronization add Termination Pending Result. 2020-06-27 11:35:36 -04:00
handle_table.cpp kernel: Don't fail silently 2020-04-29 14:53:53 +10:00
handle_table.h kernel: Remove unnecessary includes 2019-12-07 22:37:05 -05:00
hle_ipc.cpp HLE_IPC: Correct HLE Event behavior on timeout. 2020-06-27 11:36:03 -04:00
hle_ipc.h hle_ipc: Eliminate core memory globals 2020-05-03 12:57:40 -04:00
kernel.cpp Core/Common: Address Feedback. 2020-06-27 18:20:06 -04:00
kernel.h General: Cleanup legacy code. 2020-06-27 11:36:05 -04:00
mutex.cpp Clang Format. 2020-06-27 11:36:14 -04:00
mutex.h Clang Format. 2020-06-27 11:36:14 -04:00
object.cpp kernel: Implement a more accurate IPC dispatch. 2019-11-28 12:01:53 -05:00
object.h kernel: Implement a more accurate IPC dispatch. 2019-11-28 12:01:53 -05:00
physical_core.cpp Core/Common: Address Feedback. 2020-06-27 18:20:06 -04:00
physical_core.h Core/Common: Address Feedback. 2020-06-27 18:20:06 -04:00
physical_memory.h physical_memory: Add missing include for <vector>. 2020-04-17 00:59:30 -04:00
process.cpp configuration: implement per-game configurations (#4098) 2020-07-09 22:42:09 -04:00
process.h kernel: process: Updates for new VMM. 2020-04-17 00:59:33 -04:00
process_capability.cpp kernel: Don't fail silently 2020-04-29 14:53:53 +10:00
process_capability.h kernel: process_capability: Update to use Memory::PageTable. 2020-04-17 00:59:31 -04:00
readable_event.cpp SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock 2020-06-27 11:35:13 -04:00
readable_event.h Kernel: Refactor synchronization to better match RE 2020-02-11 18:47:31 -04:00
resource_limit.cpp kernel: ResourceLimit::Reserve remove useless while loop 2020-05-29 13:48:01 +10:00
resource_limit.h kernel: resource_limit: Improvements to implementation. 2020-04-17 00:59:27 -04:00
scheduler.cpp core_timing,scheduler: Use std::scoped_lock when possible 2020-06-28 21:42:57 -03:00
scheduler.h kernel/scheduler: Use std::mutex instead of spin lock 2020-07-12 21:27:24 -03:00
server_port.cpp Kernel: Refactor synchronization to better match RE 2020-02-11 18:47:31 -04:00
server_port.h Kernel: Refactor synchronization to better match RE 2020-02-11 18:47:31 -04:00
server_session.cpp Clang Format. 2020-06-27 11:36:14 -04:00
server_session.h core: memory: Move to Core::Memory namespace. 2020-04-17 00:59:28 -04:00
session.cpp Kernel: Refactor synchronization to better match RE 2020-02-11 18:47:31 -04:00
session.h Kernel: Refactor synchronization to better match RE 2020-02-11 18:47:31 -04:00
shared_memory.cpp shared_memory: Amend doxygen reference 2020-04-23 18:42:14 -04:00
shared_memory.h shared_memory: Amend doxygen reference 2020-04-23 18:42:14 -04:00
svc.cpp SVC: Implement 32-bits wrappers and update Dynarmic. 2020-06-27 11:36:27 -04:00
svc.h core: kernel: Move SVC to its own namesapce. 2020-04-17 00:59:28 -04:00
svc_types.h core: kernel: Add svc_types header to include SVC-specific types. 2020-04-17 00:59:28 -04:00
svc_wrap.h SVC: Implement 32-bits wrappers and update Dynarmic. 2020-06-27 11:36:27 -04:00
synchronization.cpp Synchronization: Correct wide Assertion. 2020-06-27 11:35:43 -04:00
synchronization.h Core: Address Feedback 2020-02-13 19:10:33 -04:00
synchronization_object.cpp General: Cleanup legacy code. 2020-06-27 11:36:05 -04:00
synchronization_object.h General: Cleanup legacy code. 2020-06-27 11:36:05 -04:00
thread.cpp Kernel: Correct Host Context on Threads and Scheduler. 2020-06-27 11:36:15 -04:00
thread.h Kernel: Correct Host Context on Threads and Scheduler. 2020-06-27 11:36:15 -04:00
time_manager.cpp Kernel: Corrections to TimeManager, Scheduler and Mutex. 2020-06-27 11:35:40 -04:00
time_manager.h Kernel: Fixes, corrections and asserts to scheduler and different svcs. 2020-06-27 11:35:40 -04:00
transfer_memory.cpp kernel: transfer_memory: Refactor for new VMM. 2020-04-17 00:59:32 -04:00
transfer_memory.h kernel: transfer_memory: Refactor for new VMM. 2020-04-17 00:59:32 -04:00
writable_event.cpp Kernel: Refactor synchronization to better match RE 2020-02-11 18:47:31 -04:00
writable_event.h kernel: Remove unnecessary includes 2019-12-07 22:37:05 -05:00