summaryrefslogtreecommitdiffstats
path: root/src/core/cpu_manager.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #8532 from liamwhite/fiber-supplementsliamwhite2022-07-061-35/+16
|\ | | | | common/fiber: make fibers easier to use
| * common/fiber: make fibers easier to useLiam2022-07-021-35/+16
| |
* | cpu_manager: properly check idle on return from preemptionLiam2022-06-301-1/+3
|/
* kernel: make current thread pointer thread localLiam2022-06-231-9/+8
|
* core: fix initialization in single core, sync GPU modeLiam2022-06-171-0/+3
|
* Merge pull request #8457 from liamwhite/kprocess-suspendFernando S2022-06-161-97/+30
|\ | | | | kernel: implement KProcess suspension
| * kernel: implement KProcess suspensionLiam2022-06-141-97/+30
| |
* | core: centralize profile scope for DynarmicLiam2022-06-151-4/+0
|/
* CpuManager: simplify pausingLiam2022-06-091-84/+32
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* core: hle: kernel: Disable dispatch count tracking on single core.bunnei2021-12-071-1/+1
| | | | - This would have limited value, and would be a mess to handle properly.
* core: cpu_manager: Use invalid core_id on init and simplify shutdown.bunnei2021-12-071-7/+3
|
* core: cpu_manager: Use KScopedDisableDispatch.bunnei2021-12-071-7/+8
|
* core: Remove unused includesameerj2021-11-041-1/+0
|
* core: cpu_manager: Use jthread.bunnei2021-09-041-15/+10
|
* Revert "kernel: Various improvements to scheduler"bunnei2021-08-261-16/+24
|
* core: hle: kernel: Disable dispatch count tracking on single core.bunnei2021-08-141-1/+1
| | | | - This would have limited value, and would be a mess to handle properly.
* core: cpu_manager: Use invalid core_id on init and simplify shutdown.bunnei2021-08-071-7/+3
|
* core: cpu_manager: Use KScopedDisableDispatch.bunnei2021-08-071-7/+8
|
* core: cpu_manager: Use jthread.bunnei2021-08-071-15/+10
|
* core: Make variable shadowing a compile-time errorLioncash2021-05-161-1/+1
| | | | | | 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.
* common: Fiber: use a reference for YieldTo.bunnei2021-03-071-4/+4
| | | | - Fixes another small leak.
* Revert "core: Switch to unique_ptr for usage of Common::Fiber."bunnei2021-03-061-6/+5
|
* core: Switch to unique_ptr for usage of Common::Fiber.bunnei2021-02-271-5/+6
| | | | | - 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.
* core: cpu_manager: Remove unused variable.bunnei2021-01-291-1/+0
|
* hle: kernel: Recode implementation of KThread to be more accurate.bunnei2021-01-291-2/+1
|
* hle: kernel: Move single core "phantom mode" out of KThread.bunnei2021-01-291-6/+7
| | | | - This is a workaround that does not belong in a kernel primitive.
* hle: kernel: KThread: Remove thread types that do not exist.bunnei2021-01-291-1/+1
|
* core: hle: kernel: Rename Thread to KThread.bunnei2021-01-291-4/+4
|
* core: cpu_manager: Fix a typo in PreemptSingleCore, which broke many games.bunnei2020-12-061-21/+26
| | | | - We were reload'ing the old current scheduler, which may have changed.
* hle: kernel: Rewrite scheduler implementation based on Mesopshere.bunnei2020-12-061-34/+21
|
* hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.bunnei2020-11-291-7/+9
|
* core: Eliminate remaining usages of the global system instanceLioncash2020-11-271-1/+0
| | | | | | 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.
* core: cpu_manager: Fix shutdown crash when closing before emulation starts.bunnei2020-11-251-7/+17
|
* core: cpu_manager: Add missing call to MicroProfileOnThreadExit().bunnei2020-10-271-0/+2
| | | | - Fixes an occasional crash when trying to launch subsequent games.
* Merge pull request #4461 from comex/thread-namesLC2020-08-311-1/+1
|\ | | | | Fix thread naming on Linux, which limits names to 15 bytes.
| * Fix thread naming on Linux, which limits names to 15 bytes.comex2020-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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!
* | cpu_manager: Make use of ranged for where applicableLioncash2020-08-231-16/+13
|/ | | | We can simplify a few loops by making use of ranged for.
* cpu_manager: Remove redundant std::function declarationsLioncash2020-07-281-3/+3
| | | | We can just return the function directly. Making for less reading.
* General: Tune the priority of main emulation threads so they have higher priority than less important helper threads.Fernando Sahmkow2020-06-271-0/+1
|
* General: Correct rebase, sync gpu and context management.Fernando Sahmkow2020-06-271-9/+2
|
* SingleCore: Correct ticks reset to be on preemption.Fernando Sahmkow2020-06-271-1/+1
|
* Bootmanager/CPU_Manager: Correct shader caches and sync GPU on OpenGL.Fernando Sahmkow2020-06-271-6/+9
|
* SingleCore: Improve Cycle timing Behavior and replace mutex in global scheduler for spinlock.Fernando Sahmkow2020-06-271-0/+1
|
* SingleCore: Use Cycle Timing instead of Host Timing.Fernando Sahmkow2020-06-271-9/+9
|
* General: Move ARM_Interface into Threads.Fernando Sahmkow2020-06-271-16/+14
|
* SingleCore: Move Host Timing from a sepparate thread to main cpu thread.Fernando Sahmkow2020-06-271-2/+15
|
* GUI: Make multicore only work with Async and add GUI for multicore.Fernando Sahmkow2020-06-271-0/+11
|
* CPU_Manager: Correct stopping on SingleCore.Fernando Sahmkow2020-06-271-3/+8
|
* General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.Fernando Sahmkow2020-06-271-0/+4
|
* CPU_Manager: Unload/Reload threads on preemption on SingleCoreFernando Sahmkow2020-06-271-5/+9
|
* General: Initial Setup for Single Core.Fernando Sahmkow2020-06-271-26/+160
|
* General: Add better safety for JIT use.Fernando Sahmkow2020-06-271-6/+19
|
* SVC: Correct races on physical core switching.Fernando Sahmkow2020-06-271-5/+6
|
* CPU_Manager: Reconfigre guest threads for dynamrmic downsidesFernando Sahmkow2020-06-271-1/+2
|
* SVC: Correct SendSyncRequest.Fernando Sahmkow2020-06-271-2/+1
|
* General: Setup yuzu threads' microprofile, naming and registry.Fernando Sahmkow2020-06-271-1/+4
|
* CPU_Manager: remove debugging code.Fernando Sahmkow2020-06-271-8/+4
|
* General: Recover Prometheus project from harddrive failure Fernando Sahmkow2020-06-271-41/+153
| | | | | | | 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.
* core/cpu_manager: Remove unused includesLioncash2020-01-311-2/+0
| | | | | Nothing from these headers are used within this source file, so we can remove them.
* System: Address FeedbackFernando Sahmkow2020-01-271-1/+0
|
* Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.Fernando Sahmkow2020-01-261-0/+84
This commit instends on better naming the new purpose of this classes.