diff options
| author | 2019-09-10 11:04:40 -0400 | |
|---|---|---|
| committer | 2019-10-15 11:55:14 -0400 | |
| commit | b49c0dab8772afb06358e5d19af092226b3a59bb (patch) | |
| tree | 00e1cad505f915f5d7d286c5627b8e13f5eb78ff /src/core/hle/kernel/scheduler.h | |
| parent | Scheduler: Add protections for Yield bombing (diff) | |
| download | yuzu-b49c0dab8772afb06358e5d19af092226b3a59bb.tar.gz yuzu-b49c0dab8772afb06358e5d19af092226b3a59bb.tar.xz yuzu-b49c0dab8772afb06358e5d19af092226b3a59bb.zip | |
Kernel: Initial implementation of thread preemption.
Diffstat (limited to 'src/core/hle/kernel/scheduler.h')
| -rw-r--r-- | src/core/hle/kernel/scheduler.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hle/kernel/scheduler.h b/src/core/hle/kernel/scheduler.h index 8fcc86bae..c13a368fd 100644 --- a/src/core/hle/kernel/scheduler.h +++ b/src/core/hle/kernel/scheduler.h | |||
| @@ -133,6 +133,8 @@ public: | |||
| 133 | */ | 133 | */ |
| 134 | bool YieldThreadAndWaitForLoadBalancing(Thread* thread); | 134 | bool YieldThreadAndWaitForLoadBalancing(Thread* thread); |
| 135 | 135 | ||
| 136 | void PreemptThreads(); | ||
| 137 | |||
| 136 | u32 CpuCoresCount() const { | 138 | u32 CpuCoresCount() const { |
| 137 | return NUM_CPU_CORES; | 139 | return NUM_CPU_CORES; |
| 138 | } | 140 | } |
| @@ -153,6 +155,8 @@ private: | |||
| 153 | std::array<Common::MultiLevelQueue<Thread*, THREADPRIO_COUNT>, NUM_CPU_CORES> suggested_queue; | 155 | std::array<Common::MultiLevelQueue<Thread*, THREADPRIO_COUNT>, NUM_CPU_CORES> suggested_queue; |
| 154 | std::atomic<bool> reselection_pending; | 156 | std::atomic<bool> reselection_pending; |
| 155 | 157 | ||
| 158 | std::array<u64, NUM_CPU_CORES> preemption_priorities = {59, 59, 59, 62}; | ||
| 159 | |||
| 156 | /// Lists all thread ids that aren't deleted/etc. | 160 | /// Lists all thread ids that aren't deleted/etc. |
| 157 | std::vector<SharedPtr<Thread>> thread_list; | 161 | std::vector<SharedPtr<Thread>> thread_list; |
| 158 | Core::System& system; | 162 | Core::System& system; |