aboutsummaryrefslogtreecommitdiff
path: root/src/core/cpu_manager.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-25 11:12:46 -0400
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 11:35:09 -0400
commitdc580582034fb5937aa53176fdaa4bd0fc4acce8 (patch)
tree6d351a6c3a76fee0a9bc1ab546d07c0583a9d9cd /src/core/cpu_manager.cpp
parenta5c58a25ef3ed7975c8466933ca38e03c999b027 (diff)
General: Setup yuzu threads' microprofile, naming and registry.
Diffstat (limited to 'src/core/cpu_manager.cpp')
-rw-r--r--src/core/cpu_manager.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp
index ff2fe8eadc..9b93371318 100644
--- a/src/core/cpu_manager.cpp
+++ b/src/core/cpu_manager.cpp
@@ -3,6 +3,7 @@
// Refer to the license.txt file included.
#include "common/fiber.h"
+#include "common/microprofile.h"
#include "common/thread.h"
#include "core/arm/exclusive_monitor.h"
#include "core/core.h"
@@ -36,6 +37,7 @@ void CpuManager::Shutdown() {
Pause(false);
for (std::size_t core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) {
core_data[core].host_thread->join();
+ core_data[core].host_thread.reset();
}
}
@@ -80,7 +82,7 @@ void CpuManager::RunGuestThread() {
auto& physical_core = kernel.CurrentPhysicalCore();
if (!physical_core.IsInterrupted()) {
physical_core.Idle();
- //physical_core.Run();
+ // physical_core.Run();
}
auto& scheduler = physical_core.Scheduler();
scheduler.TryDoContextSwitch();
@@ -159,6 +161,7 @@ void CpuManager::RunThread(std::size_t core) {
/// Initialization
system.RegisterCoreThread(core);
std::string name = "yuzu:CoreHostThread_" + std::to_string(core);
+ MicroProfileOnThreadCreate(name.c_str());
Common::SetCurrentThreadName(name.c_str());
auto& data = core_data[core];
data.enter_barrier = std::make_unique<Common::Event>();