summaryrefslogtreecommitdiff
path: root/src/core/core.h
diff options
context:
space:
mode:
authorGravatar David2019-10-28 10:53:27 +1100
committerGravatar GitHub2019-10-28 10:53:27 +1100
commit4c5731c34f0915457a31c60c9f70a2f169ea575d (patch)
tree7f03a7f892370b59e56ae06c6c74514f1cc44998 /src/core/core.h
parentMerge pull request #3034 from ReinUsesLisp/w4244-maxwell3d (diff)
parentKernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE. (diff)
downloadyuzu-4c5731c34f0915457a31c60c9f70a2f169ea575d.tar.gz
yuzu-4c5731c34f0915457a31c60c9f70a2f169ea575d.tar.xz
yuzu-4c5731c34f0915457a31c60c9f70a2f169ea575d.zip
Merge pull request #2971 from FernandoS27/new-scheduler-v2
Kernel: Implement a New Thread Scheduler V2
Diffstat (limited to 'src/core/core.h')
-rw-r--r--src/core/core.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/core.h b/src/core/core.h
index 90e7ac607..984074ce3 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -24,6 +24,7 @@ class VfsFilesystem;
24} // namespace FileSys 24} // namespace FileSys
25 25
26namespace Kernel { 26namespace Kernel {
27class GlobalScheduler;
27class KernelCore; 28class KernelCore;
28class Process; 29class Process;
29class Scheduler; 30class Scheduler;
@@ -184,6 +185,9 @@ public:
184 /// Prepare the core emulation for a reschedule 185 /// Prepare the core emulation for a reschedule
185 void PrepareReschedule(); 186 void PrepareReschedule();
186 187
188 /// Prepare the core emulation for a reschedule
189 void PrepareReschedule(u32 core_index);
190
187 /// Gets and resets core performance statistics 191 /// Gets and resets core performance statistics
188 PerfStatsResults GetAndResetPerfStats(); 192 PerfStatsResults GetAndResetPerfStats();
189 193
@@ -238,6 +242,12 @@ public:
238 /// Gets the scheduler for the CPU core with the specified index 242 /// Gets the scheduler for the CPU core with the specified index
239 const Kernel::Scheduler& Scheduler(std::size_t core_index) const; 243 const Kernel::Scheduler& Scheduler(std::size_t core_index) const;
240 244
245 /// Gets the global scheduler
246 Kernel::GlobalScheduler& GlobalScheduler();
247
248 /// Gets the global scheduler
249 const Kernel::GlobalScheduler& GlobalScheduler() const;
250
241 /// Provides a pointer to the current process 251 /// Provides a pointer to the current process
242 Kernel::Process* CurrentProcess(); 252 Kernel::Process* CurrentProcess();
243 253