aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_spin_lock.cpp
Commit message (Collapse)AuthorAgeFilesLines
* kernel: spin briefly before sleeping on a contended KSpinLockTakoroka6 days1-3/+45
| | | | | | | | | The scheduler lock is taken by every emulated core thousands of times a frame (title 1's job system: WaitForAddress / SignalToAddress / yield) and held for microseconds. As a std::mutex, a contended Lock put the host thread to sleep at once. Now a three-state futex lock: one atomic op uncontended, ~128 pause spins when contended, then std::atomic::wait. Time blocked in Lock fell ~20-25% on title 1's cores.
* kernel: conver KScopedLock, KScopedResourceReservation, KSessionRequest, ↵Liam2023-03-121-3/+3
| | | | KSharedMemory, KSpinLock
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* hle: kernel: k_spin_lock: Remove unused ThreadPause.bunnei2022-04-111-28/+0
|
* hle: kernel: Use std::mutex instead of spin locks for most kernel locking.bunnei2022-04-111-8/+3
|
* hle: kernel: Add KSpinLock implementation.bunnei2021-02-181-0/+54