aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/scheduler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei2020-12-061-819/+0
|
* hle: kernel: Port KAffinityMask from Mesosphere.bunnei2020-12-061-5/+5
|
* kernel: scheduler: Minor cleanup to remove duplicated code.bunnei2020-11-291-46/+12
|
* hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei2020-11-291-8/+12
|
* Revert "core: Fix clang build"bunnei2020-10-201-51/+21
|
* core: Fix clang buildLioncash2020-10-171-21/+51
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* core/CMakeLists: Make some warnings errorsLioncash2020-10-131-5/+5
| | | | | | | | | Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
* hle/scheduler: Fix data race in is_context_switch_pendingReinUsesLisp2020-08-261-2/+6
| | | | | | | | | | As reported by tsan, SelectThreads could write to is_context_switch_pending holding a mutex while SwitchToCurrent reads it without holding any. It is assumed that the author didn't want an atomic here, so the code is reordered so that whenever is_context_switch_pending is read inside SwitchToContext, the mutex is locked.
* Merge pull request #4491 from lioncash/unused-varsbunnei2020-08-101-17/+11
|\ | | | | kernel: Remove unused variables
| * kernel: Remove unused variablesLioncash2020-08-051-17/+11
| | | | | | | | Resolves a few compiler warnings.
* | scheduler: Resolve sign conversion warningLioncash2020-08-051-1/+2
|/
* cpu_manager: Mark function getters as staticLioncash2020-07-161-1/+1
| | | | | All these do are return std::function instances of static functions, so these can be used without an instance of the CPU manager.
* core_timing,scheduler: Use std::scoped_lock when possibleReinUsesLisp2020-06-281-11/+10
| | | | | Simplifies the cognitive load of procedures using locks and makes locks safe against exceptions.
* Core/Common: Address Feedback.Fernando Sahmkow2020-06-271-2/+2
|
* Kernel: Correct Host Context on Threads and Scheduler.Fernando Sahmkow2020-06-271-8/+8
|
* Scheduler: Correct Reload/UnloadFernando Sahmkow2020-06-271-3/+4
|
* Thread: Release the ARM Interface on exitting.Fernando Sahmkow2020-06-271-1/+1
|
* General: Move ARM_Interface into Threads.Fernando Sahmkow2020-06-271-7/+5
|
* Scheduler: Correct yielding interaction with SetThreadActivity.Fernando Sahmkow2020-06-271-0/+15
|
* General: Fix microprofile on dynarmic/svc, fix wait tree showing which ↵Fernando Sahmkow2020-06-271-0/+7
| | | | threads were running.
* Kernel: Rewind on SVC change.Fernando Sahmkow2020-06-271-0/+2
|
* CPU_Manager: Unload/Reload threads on preemption on SingleCoreFernando Sahmkow2020-06-271-0/+42
|
* Scheduler: Set last running time on thread.Fernando Sahmkow2020-06-271-0/+2
|
* Kernel: Corrections to TimeManager, Scheduler and Mutex.Fernando Sahmkow2020-06-271-1/+1
|
* Kernel: Fixes, corrections and asserts to scheduler and different svcs.Fernando Sahmkow2020-06-271-1/+2
|
* Scheduler: Correct yields.Fernando Sahmkow2020-06-271-7/+21
|
* Scheduler: Remove arm_interface lock and a few corrections.Fernando Sahmkow2020-06-271-7/+3
|
* SVC: Correct SetThreadActivity.Fernando Sahmkow2020-06-271-5/+4
|
* Scheduler: Correct locking for hle threads.Fernando Sahmkow2020-06-271-1/+2
|
* Scheduler: Fix HLE Threads on guardFernando Sahmkow2020-06-271-4/+6
|
* Scheduler: Protect on closed threads.Fernando Sahmkow2020-06-271-7/+17
|
* Scheduler: Correct assert.Fernando Sahmkow2020-06-271-4/+2
|
* Core: Correct rebase.Fernando Sahmkow2020-06-271-6/+5
|
* Scheduler: Release old thread fiber before trying to switch to the next ↵Fernando Sahmkow2020-06-271-11/+26
| | | | thread fiber.
* Scheduler: Correct Select Threads Step 2.Fernando Sahmkow2020-06-271-0/+1
|
* Kernel: Corrections to Scheduling.Fernando Sahmkow2020-06-271-13/+13
|
* General: Add AssertsFernando Sahmkow2020-06-271-0/+18
|
* General: Add better safety for JIT use.Fernando Sahmkow2020-06-271-0/+3
|
* SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.Fernando Sahmkow2020-06-271-1/+1
|
* SVC: Correct SendSyncRequest.Fernando Sahmkow2020-06-271-0/+9
|
* General: Recover Prometheus project from harddrive failure Fernando Sahmkow2020-06-271-119/+296
| | | | | | | This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
* core: Implement separate A32/A64 ARM interfaces.bunnei2020-03-021-9/+12
|
* Scheduler: Inline global scheduler in Scheduler Lock.Fernando Sahmkow2020-02-221-4/+2
|
* Kernel: Correct pending feedback.Fernando Sahmkow2020-02-221-3/+4
|
* Kernel: Address Feedback.Fernando Sahmkow2020-02-221-9/+12
|
* Kernel: Implement Scheduler locksFernando Sahmkow2020-02-221-0/+48
|
* Kernel: Make global scheduler depend on KernelCoreFernando Sahmkow2020-02-221-3/+3
|
* Core: Address FeedbackFernando Sahmkow2020-02-131-2/+2
|
* Core: Set all hardware emulation constants in a single file.Fernando Sahmkow2020-02-111-6/+6
|
* Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow2020-01-261-1/+0
| | | | This commit instends on better naming the new purpose of this classes.