aboutsummaryrefslogtreecommitdiff
path: root/src/core/core.cpp
diff options
context:
space:
mode:
authorDavid <25727384+ogniK5377@users.noreply.github.com>2019-10-28 10:53:27 +1100
committerGitHub <noreply@github.com>2019-10-28 10:53:27 +1100
commit86521bca3b3dfe112e8b2a3f3af50e26c3cfa056 (patch)
tree7f03a7f892370b59e56ae06c6c74514f1cc44998 /src/core/core.cpp
parent585e56b4d96b413593d5021e9f1737e569c7202d (diff)
parent4f8fa2dd29e05945b8f6b04a14c23f4277190c12 (diff)
Merge pull request #2971 from FernandoS27/new-scheduler-v2
Kernel: Implement a New Thread Scheduler V2
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index b7b9259ecd..eba17218a3 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -409,6 +409,12 @@ void System::PrepareReschedule() {
CurrentCpuCore().PrepareReschedule();
}
+void System::PrepareReschedule(const u32 core_index) {
+ if (core_index < GlobalScheduler().CpuCoresCount()) {
+ CpuCore(core_index).PrepareReschedule();
+ }
+}
+
PerfStatsResults System::GetAndResetPerfStats() {
return impl->GetAndResetPerfStats();
}
@@ -449,6 +455,16 @@ const Kernel::Scheduler& System::Scheduler(std::size_t core_index) const {
return CpuCore(core_index).Scheduler();
}
+/// Gets the global scheduler
+Kernel::GlobalScheduler& System::GlobalScheduler() {
+ return impl->kernel.GlobalScheduler();
+}
+
+/// Gets the global scheduler
+const Kernel::GlobalScheduler& System::GlobalScheduler() const {
+ return impl->kernel.GlobalScheduler();
+}
+
Kernel::Process* System::CurrentProcess() {
return impl->kernel.CurrentProcess();
}