summaryrefslogtreecommitdiff
path: root/src/core/cpu_manager.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* scope_exit: Make constexprGravatar FearlessTobi2024-02-191-2/+2
| | | | | Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
* core: refactor emulated cpu core activationGravatar Liam2023-12-041-4/+4
|
* arm: Implement native code execution backendGravatar Liam2023-11-251-0/+2
|
* core: Promote CPU/GPU threads to time criticalGravatar Morph2023-03-071-1/+1
| | | | And also demote Audren and CoreTiming to High thread priority.
* general: improve handling of system startup failureGravatar Liam2022-12-061-8/+7
|
* common: remove "yuzu:" prefix from thread namesGravatar Liam2022-10-031-2/+2
|
* kernel: fix single-core preemption pointsGravatar Liam2022-07-141-28/+14
|
* kernel: fix issues with single core modeGravatar Liam2022-07-141-51/+101
|
* kernel: use KScheduler from mesosphereGravatar Liam2022-07-141-100/+61
|
* Merge pull request #8532 from liamwhite/fiber-supplementsGravatar liamwhite2022-07-051-35/+16
|\ | | | | common/fiber: make fibers easier to use
| * common/fiber: make fibers easier to useGravatar Liam2022-07-021-35/+16
| |
* | cpu_manager: properly check idle on return from preemptionGravatar Liam2022-06-301-1/+3
|/
* kernel: make current thread pointer thread localGravatar Liam2022-06-231-9/+8
|
* core: fix initialization in single core, sync GPU modeGravatar Liam2022-06-161-0/+3
|
* Merge pull request #8457 from liamwhite/kprocess-suspendGravatar Fernando S2022-06-161-97/+30
|\ | | | | kernel: implement KProcess suspension
| * kernel: implement KProcess suspensionGravatar Liam2022-06-141-97/+30
| |
* | core: centralize profile scope for DynarmicGravatar Liam2022-06-141-4/+0
|/
* CpuManager: simplify pausingGravatar Liam2022-06-081-84/+32
|
* general: Convert source file copyright comments over to SPDXGravatar Morph2022-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.Gravatar bunnei2021-12-061-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.Gravatar bunnei2021-12-061-7/+3
|
* core: cpu_manager: Use KScopedDisableDispatch.Gravatar bunnei2021-12-061-7/+8
|
* core: Remove unused includesGravatar ameerj2021-11-031-1/+0
|
* core: cpu_manager: Use jthread.Gravatar bunnei2021-09-031-15/+10
|
* Revert "kernel: Various improvements to scheduler"Gravatar bunnei2021-08-251-16/+24
|
* core: hle: kernel: Disable dispatch count tracking on single core.Gravatar 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.Gravatar bunnei2021-08-071-7/+3
|
* core: cpu_manager: Use KScopedDisableDispatch.Gravatar bunnei2021-08-071-7/+8
|
* core: cpu_manager: Use jthread.Gravatar bunnei2021-08-071-15/+10
|
* core: Make variable shadowing a compile-time errorGravatar Lioncash2021-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.Gravatar bunnei2021-03-071-4/+4
| | | | - Fixes another small leak.
* Revert "core: Switch to unique_ptr for usage of Common::Fiber."Gravatar bunnei2021-03-051-6/+5
|
* core: Switch to unique_ptr for usage of Common::Fiber.Gravatar 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.Gravatar bunnei2021-01-281-1/+0
|
* hle: kernel: Recode implementation of KThread to be more accurate.Gravatar bunnei2021-01-281-2/+1
|
* hle: kernel: Move single core "phantom mode" out of KThread.Gravatar bunnei2021-01-281-6/+7
| | | | - This is a workaround that does not belong in a kernel primitive.
* hle: kernel: KThread: Remove thread types that do not exist.Gravatar bunnei2021-01-281-1/+1
|
* core: hle: kernel: Rename Thread to KThread.Gravatar bunnei2021-01-281-4/+4
|
* core: cpu_manager: Fix a typo in PreemptSingleCore, which broke many games.Gravatar 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.Gravatar bunnei2020-12-061-34/+21
|
* hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.Gravatar bunnei2020-11-291-7/+9
|
* core: Eliminate remaining usages of the global system instanceGravatar Lioncash2020-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.Gravatar bunnei2020-11-241-7/+17
|
* core: cpu_manager: Add missing call to MicroProfileOnThreadExit().Gravatar bunnei2020-10-261-0/+2
| | | | - Fixes an occasional crash when trying to launch subsequent games.
* Merge pull request #4461 from comex/thread-namesGravatar LC2020-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.Gravatar comex2020-08-051-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 applicableGravatar Lioncash2020-08-221-16/+13
|/ | | | We can simplify a few loops by making use of ranged for.
* cpu_manager: Remove redundant std::function declarationsGravatar Lioncash2020-07-271-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 ↵Gravatar Fernando Sahmkow2020-06-271-0/+1
| | | | priority than less important helper threads.
* General: Correct rebase, sync gpu and context management.Gravatar Fernando Sahmkow2020-06-271-9/+2
|