aboutsummaryrefslogtreecommitdiff
path: root/src/core/cpu_manager.cpp
AgeCommit message (Collapse)Author
2022-06-16Merge pull request #8457 from liamwhite/kprocess-suspendFernando S
kernel: implement KProcess suspension
2022-06-14core: centralize profile scope for DynarmicLiam
2022-06-14kernel: implement KProcess suspensionLiam
2022-06-08CpuManager: simplify pausingLiam
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2021-12-06core: hle: kernel: Disable dispatch count tracking on single core.bunnei
- This would have limited value, and would be a mess to handle properly.
2021-12-06core: cpu_manager: Use invalid core_id on init and simplify shutdown.bunnei
2021-12-06core: cpu_manager: Use KScopedDisableDispatch.bunnei
2021-11-03core: Remove unused includesameerj
2021-09-03core: cpu_manager: Use jthread.bunnei
2021-08-25Revert "kernel: Various improvements to scheduler"bunnei
2021-08-14core: hle: kernel: Disable dispatch count tracking on single core.bunnei
- This would have limited value, and would be a mess to handle properly.
2021-08-07core: cpu_manager: Use invalid core_id on init and simplify shutdown.bunnei
2021-08-07core: cpu_manager: Use KScopedDisableDispatch.bunnei
2021-08-07core: cpu_manager: Use jthread.bunnei
2021-05-16core: Make variable shadowing a compile-time errorLioncash
Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
2021-03-07common: Fiber: use a reference for YieldTo.bunnei
- Fixes another small leak.
2021-03-05Revert "core: Switch to unique_ptr for usage of Common::Fiber."bunnei
2021-02-27core: Switch to unique_ptr for usage of Common::Fiber.bunnei
- With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context. - Fixes a memory leak due to circular reference of the shared pointer.
2021-01-28core: cpu_manager: Remove unused variable.bunnei
2021-01-28hle: kernel: Recode implementation of KThread to be more accurate.bunnei
2021-01-28hle: kernel: Move single core "phantom mode" out of KThread.bunnei
- This is a workaround that does not belong in a kernel primitive.
2021-01-28hle: kernel: KThread: Remove thread types that do not exist.bunnei
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2020-12-06core: cpu_manager: Fix a typo in PreemptSingleCore, which broke many games.bunnei
- We were reload'ing the old current scheduler, which may have changed.
2020-12-06hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei
2020-11-29hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei
2020-11-27core: Eliminate remaining usages of the global system instanceLioncash
Removes all remaining usages of the global system instance. After this, migration can begin to migrate to being constructed and managed entirely by the various frontends.
2020-11-24core: cpu_manager: Fix shutdown crash when closing before emulation starts.bunnei
2020-10-26core: cpu_manager: Add missing call to MicroProfileOnThreadExit().bunnei
- Fixes an occasional crash when trying to launch subsequent games.
2020-08-31Merge pull request #4461 from comex/thread-namesLC
Fix thread naming on Linux, which limits names to 15 bytes.
2020-08-22cpu_manager: Make use of ranged for where applicableLioncash
We can simplify a few loops by making use of ranged for.
2020-08-05Fix thread naming on Linux, which limits names to 15 bytes.comex
- In `SetCurrentThreadName`, when on Linux, truncate to 15 bytes, as (at least on glibc) `pthread_set_name_np` will otherwise return `ERANGE` and do nothing. - Also, add logging in case `pthread_set_name_np` returns an error anyway. This is Linux-specific, as the Apple and BSD versions of `pthread_set_name_np return `void`. - Change the name for CPU threads in multi-core mode from "yuzu:CoreCPUThread_N" (19 bytes) to "yuzu:CPUCore_N" (14 bytes) so it fits into the Linux limit. Some other thread names are also cut off, but I didn't bother addressing them as you can guess them from the truncated versions. For a CPU thread, truncation means you can't see which core it is!
2020-07-27cpu_manager: Remove redundant std::function declarationsLioncash
We can just return the function directly. Making for less reading.
2020-06-27General: Tune the priority of main emulation threads so they have higher ↵Fernando Sahmkow
priority than less important helper threads.
2020-06-27General: Correct rebase, sync gpu and context management.Fernando Sahmkow
2020-06-27SingleCore: Correct ticks reset to be on preemption.Fernando Sahmkow
2020-06-27Bootmanager/CPU_Manager: Correct shader caches and sync GPU on OpenGL.Fernando Sahmkow
2020-06-27SingleCore: Improve Cycle timing Behavior and replace mutex in global ↵Fernando Sahmkow
scheduler for spinlock.
2020-06-27SingleCore: Use Cycle Timing instead of Host Timing.Fernando Sahmkow
2020-06-27General: Move ARM_Interface into Threads.Fernando Sahmkow
2020-06-27SingleCore: Move Host Timing from a sepparate thread to main cpu thread.Fernando Sahmkow
2020-06-27GUI: Make multicore only work with Async and add GUI for multicore.Fernando Sahmkow
2020-06-27CPU_Manager: Correct stopping on SingleCore.Fernando Sahmkow
2020-06-27General: Fix microprofile on dynarmic/svc, fix wait tree showing which ↵Fernando Sahmkow
threads were running.
2020-06-27CPU_Manager: Unload/Reload threads on preemption on SingleCoreFernando Sahmkow
2020-06-27General: Initial Setup for Single Core.Fernando Sahmkow
2020-06-27General: Add better safety for JIT use.Fernando Sahmkow
2020-06-27SVC: Correct races on physical core switching.Fernando Sahmkow
2020-06-27CPU_Manager: Reconfigre guest threads for dynamrmic downsidesFernando Sahmkow