aboutsummaryrefslogtreecommitdiff
path: root/src/core/cpu_manager.cpp
AgeCommit message (Collapse)Author
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
2020-06-27SVC: Correct SendSyncRequest.Fernando Sahmkow
2020-06-27General: Setup yuzu threads' microprofile, naming and registry.Fernando Sahmkow
2020-06-27CPU_Manager: remove debugging code.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-01-30core/cpu_manager: Remove unused includesLioncash
Nothing from these headers are used within this source file, so we can remove them.
2020-01-27System: Address FeedbackFernando 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.