aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/scheduler.cpp
AgeCommit message (Collapse)Author
2020-06-27Scheduler: Set last running time on thread.Fernando Sahmkow
2020-06-27Kernel: Corrections to TimeManager, Scheduler and Mutex.Fernando Sahmkow
2020-06-27Kernel: Fixes, corrections and asserts to scheduler and different svcs.Fernando Sahmkow
2020-06-27Scheduler: Correct yields.Fernando Sahmkow
2020-06-27Scheduler: Remove arm_interface lock and a few corrections.Fernando Sahmkow
2020-06-27SVC: Correct SetThreadActivity.Fernando Sahmkow
2020-06-27Scheduler: Correct locking for hle threads.Fernando Sahmkow
2020-06-27Scheduler: Fix HLE Threads on guardFernando Sahmkow
2020-06-27Scheduler: Protect on closed threads.Fernando Sahmkow
2020-06-27Scheduler: Correct assert.Fernando Sahmkow
2020-06-27Core: Correct rebase.Fernando Sahmkow
2020-06-27Scheduler: Release old thread fiber before trying to switch to the next ↵Fernando Sahmkow
thread fiber.
2020-06-27Scheduler: Correct Select Threads Step 2.Fernando Sahmkow
2020-06-27Kernel: Corrections to Scheduling.Fernando Sahmkow
2020-06-27General: Add AssertsFernando Sahmkow
2020-06-27General: Add better safety for JIT use.Fernando Sahmkow
2020-06-27SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey.Fernando Sahmkow
2020-06-27SVC: Correct SendSyncRequest.Fernando Sahmkow
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow
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.
2020-03-02core: Implement separate A32/A64 ARM interfaces.bunnei
2020-02-22Scheduler: Inline global scheduler in Scheduler Lock.Fernando Sahmkow
2020-02-22Kernel: Correct pending feedback.Fernando Sahmkow
2020-02-22Kernel: Address Feedback.Fernando Sahmkow
2020-02-22Kernel: Implement Scheduler locksFernando Sahmkow
2020-02-22Kernel: Make global scheduler depend on KernelCoreFernando Sahmkow
2020-02-13Core: Address FeedbackFernando Sahmkow
2020-02-11Core: Set all hardware emulation constants in a single file.Fernando Sahmkow
2020-01-26Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow
This commit instends on better naming the new purpose of this classes.
2019-12-05CpuCore: Clear exclusive state after doing a run in dynarmic.Fernando Sahmkow
This commit corrects an error in which a Core could remain with an exclusive state after running, leaving space for possible race conditions between changing cores.
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
kernel objects. (#3154) * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2019-11-12kernel: Resolve sign conversion warningsLioncash
Uncovered a bug within Thread's SetCoreAndAffinityMask() where an unsigned variable (ideal_core) was being compared against "< 0", which would always be a false condition. We can also get rid of an unused function (GetNextProcessorId) which contained a sign mismatch warning.
2019-10-27scheduler: Mark parameter of AskForReselectionOrMarkRedundant() as constLioncash
This is only compared against, so it can be made const.
2019-10-27scheduler: Silence sign conversion warningsLioncash
2019-10-27scheduler: Initialize class members directly where applicableLioncash
Reduces the overall amount of code.
2019-10-27scheduler: Amend documentation commentsLioncash
Adjusts the formatting of a few of the comments an ensures they get recognized as proper Doxygen comments.
2019-10-15Kernel: Clang FormatFernando Sahmkow
2019-10-15Kernel: Address Feedback.Fernando Sahmkow
2019-10-15Kernel Scheduler: Make sure the global scheduler shutdowns correctly.Fernando Sahmkow
2019-10-15Kernel: Clang FormatFernando Sahmkow
2019-10-15Kernel: Remove global system accessor from WaitObjectFernando Sahmkow
2019-10-15Scheduler: Implement Yield Count and Core migration on Thread Preemption.Fernando Sahmkow
2019-10-15Scheduler: Corrections to YieldAndBalanceLoad and Yield bombing protection.Fernando Sahmkow
2019-10-15Kernel: Initial implementation of thread preemption.Fernando Sahmkow
2019-10-15Scheduler: Add protections for Yield bombingFernando Sahmkow
In case of redundant yields, the scheduler will now idle the core for it's timeslice, in order to avoid continuously yielding the same thing over and over.
2019-10-15Kernel: Style and CorrectionsFernando Sahmkow
2019-10-15Comment and reorganize the schedulerFernando Sahmkow
2019-10-15Implement a new Core SchedulerFernando Sahmkow
2019-04-07kernel: Handle page table switching within MakeCurrentProcess()Lioncash
Centralizes the page table switching to one spot, rather than making calling code deal with it everywhere.
2019-03-30kernel/scheduler: Remove unused parameter to AddThread()Lioncash
This was made unused in b404fcdf1443b91ac9994c05ad1fe039fcd9675e, but the parameter itself wasn't removed.
2019-03-30kernel/scheduler: Use deduction guides on mutex locksLioncash
Since C++17, we no longer need to explicitly specify the type of the mutex within the lock_guard. The type system can now deduce these with deduction guides.