aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Kernel/Common/KTimeManager.cs
AgeCommit message (Collapse)Author
2023-03-11Misc performance tweaks (#4509)jhorv
* use Array.Empty() where instead of allocating new zero-length arrays * structure for loops in a way that the JIT will elide array/Span bounds checking * avoiding function calls in for loop condition tests * avoid LINQ in a hot path * conform with code style * fix mistake in GetNextWaitingObject() * fix GetNextWaitingObject() possibility of returning null if all list items have TimePoint == long.MaxValue * make GetNextWaitingObject() behave FIFO behavior for multiple items with the same TimePoint
2023-01-05hle: Add safety measure around overflow in ScheduleFutureInvocationMary
Fix crash on Linux since 08831eecf77cedd3c4192ebab5a9c485fb15d51e.
2021-11-28kernel: Fix sleep timing accuracy (#2828)Mary
* kernel: Fix sleep timing accuracy This commit corrects some mistake while comparing reversing of kernel 13.x with our own. WaitAndCheckScheduledObjects timing accuracy was also improved. * Make KTimeManager.WaitAndCheckScheduledObjects spin wait for sub milliseconds Fix performance regression on Pokemon Let's Go games and possibly others. * Address rip's comment * kernel: Fix issues with timeout of -1 (0xFFFFFFFF) Fixes possible hang on Pokemon DP and possibly others
2020-12-09Rewrite scheduler context switch code (#1786)gdkchan
* Rewrite scheduler context switch code * Fix race in UnmapIpcRestorePermission * Fix thread exit issue that could leave the scheduler in a invalid state * Change context switch method to not wait on guest thread, remove spin wait, use SignalAndWait to pass control * Remove multi-core setting (it is always on now) * Re-enable assert * Remove multicore from default config and schema * Fix race in KTimeManager
2020-01-13Name all threads (#886)Ac_K
* Name all threads Close #874 * use ThreadName instead of ThreadId in Logging
2018-12-18Refactor SVC handler (#540)gdkchan
* Refactor SVC handler * Get rid of KernelErr * Split kernel code files into multiple folders