Liam
da07e13e07
kernel: fix single-core preemption points
4 years ago
Liam
21945ae127
kernel: fix issues with single core mode
4 years ago
Liam
0624c880bd
kernel: use KScheduler from mesosphere
4 years ago
Liam
ed0319cfed
common/fiber: make fibers easier to use
4 years ago
Liam
2c1e2c63c3
cpu_manager: properly check idle on return from preemption
4 years ago
Liam
2c56e94702
kernel: make current thread pointer thread local
4 years ago
Liam
a6371fb69d
core: fix initialization in single core, sync GPU mode
4 years ago
Liam
20eab9fed9
core: centralize profile scope for Dynarmic
4 years ago
Liam
888f499188
kernel: implement KProcess suspension
4 years ago
Liam
af022294dd
CpuManager: simplify pausing
4 years ago
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
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.
4 years ago
bunnei
3dc803a430
core: hle: kernel: Disable dispatch count tracking on single core.
- This would have limited value, and would be a mess to handle properly.
4 years ago
bunnei
08c63d5c75
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
4 years ago
bunnei
d604edfedf
core: cpu_manager: Use KScopedDisableDispatch.
4 years ago
ameerj
7c4b6aab2e
core: Remove unused includes
4 years ago
bunnei
25a97e0139
core: cpu_manager: Use jthread.
4 years ago
bunnei
0c8594b225
Revert "kernel: Various improvements to scheduler"
4 years ago
bunnei
aef0ca6f0d
core: hle: kernel: Disable dispatch count tracking on single core.
- This would have limited value, and would be a mess to handle properly.
4 years ago
bunnei
9e3d1d865c
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
4 years ago
bunnei
cbe4e32d38
core: cpu_manager: Use KScopedDisableDispatch.
4 years ago
bunnei
5ea0d3629a
core: cpu_manager: Use jthread.
4 years ago
Lioncash
9a07ed53eb
core: Make variable shadowing a compile-time error
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.
5 years ago
bunnei
8f7eb194af
common: Fiber: use a reference for YieldTo.
- Fixes another small leak.
5 years ago
bunnei
a5ab85ac37
Revert "core: Switch to unique_ptr for usage of Common::Fiber."
5 years ago
bunnei
51fb0a6f96
core: Switch to unique_ptr for usage of Common::Fiber.
- 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.
5 years ago
bunnei
89a5ae92bd
core: cpu_manager: Remove unused variable.
5 years ago
bunnei
cdd14b03e5
hle: kernel: Recode implementation of KThread to be more accurate.
5 years ago
bunnei
4782985013
hle: kernel: Move single core "phantom mode" out of KThread.
- This is a workaround that does not belong in a kernel primitive.
5 years ago
bunnei
eea346ba8e
hle: kernel: KThread: Remove thread types that do not exist.
5 years ago
bunnei
c0d3aef28c
core: hle: kernel: Rename Thread to KThread.
5 years ago
bunnei
d4ae0ae0e9
core: cpu_manager: Fix a typo in PreemptSingleCore, which broke many games.
- We were reload'ing the old current scheduler, which may have changed.
5 years ago
bunnei
9e29e36a78
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
5 years ago
bunnei
7b642c7781
hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.
5 years ago
Lioncash
5bc4eabe36
core: Eliminate remaining usages of the global system instance
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.
5 years ago
bunnei
3359e5ab70
core: cpu_manager: Fix shutdown crash when closing before emulation starts.
5 years ago
bunnei
54aabb00b0
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
- Fixes an occasional crash when trying to launch subsequent games.
5 years ago
Lioncash
544fbd5c84
cpu_manager: Make use of ranged for where applicable
We can simplify a few loops by making use of ranged for.
5 years ago
comex
d37f0b29e2
Fix thread naming on Linux, which limits names to 15 bytes.
- 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!
5 years ago
Lioncash
989ad52dc1
cpu_manager: Remove redundant std::function declarations
We can just return the function directly. Making for less reading.
5 years ago
Fernando Sahmkow
528b19a842
General: Tune the priority of main emulation threads so they have higher priority than less important helper threads.
6 years ago
Fernando Sahmkow
ad92865497
General: Correct rebase, sync gpu and context management.
6 years ago
Fernando Sahmkow
bece52cd81
SingleCore: Correct ticks reset to be on preemption.
6 years ago
Fernando Sahmkow
54e304fe2a
Bootmanager/CPU_Manager: Correct shader caches and sync GPU on OpenGL.
6 years ago
Fernando Sahmkow
7e2ce2f7f4
SingleCore: Improve Cycle timing Behavior and replace mutex in global scheduler for spinlock.
6 years ago
Fernando Sahmkow
f5e32935ca
SingleCore: Use Cycle Timing instead of Host Timing.
6 years ago
Fernando Sahmkow
1567824d2d
General: Move ARM_Interface into Threads.
6 years ago
Fernando Sahmkow
f2ade343e2
SingleCore: Move Host Timing from a sepparate thread to main cpu thread.
6 years ago
Fernando Sahmkow
5d3a2be04f
GUI: Make multicore only work with Async and add GUI for multicore.
6 years ago
Fernando Sahmkow
1a5f2e290b
CPU_Manager: Correct stopping on SingleCore.
6 years ago
Fernando Sahmkow
7020d498c5
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
6 years ago