From dc1486485b71e90e7132032e436eb9c4e84b9e32 Mon Sep 17 00:00:00 2001 From: lizzie Date: Sat, 25 Jul 2026 23:46:59 +0200 Subject: [PATCH] [core/hle/service] move 'loader'+'jit' to guest thread (#4148) loader is barely called whereas audio for example is called super often thus demote loaderr jit is only ever used by Super Mario 3D stars, and no other games require this to be a separate jit thread additionally even of 3D stars this is called often chary so no; we dont need a dedicated thread for it either way this pr should help low power devices/devices with less cores/threads to schedule the existing emulator threads more efficiently also moving to guest means the CPU threads get more loaded with stuffings, which is a good thing as most of the time theyre sleeping and/or waiting for a mutex Signed-off-by: lizzie Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4148 Reviewed-by: Maufeat Reviewed-by: CamilleLaVey --- src/core/hle/service/services.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/hle/service/services.cpp b/src/core/hle/service/services.cpp index 4dfdf9068f..28eb618090 100644 --- a/src/core/hle/service/services.cpp +++ b/src/core/hle/service/services.cpp @@ -89,9 +89,7 @@ Services::Services(std::shared_ptr& sm, Core::System& system for (auto const& e : std::vector>{ {"audio", &Audio::LoopProcess}, {"FS", &FileSystem::LoopProcess}, - {"jit", &JIT::LoopProcess}, {"ldn", &LDN::LoopProcess}, - {"Loader", &LDR::LoopProcess}, {"nvservices", &Nvidia::LoopProcess}, {"bsdsocket", &Sockets::LoopProcess}, }) @@ -120,19 +118,21 @@ Services::Services(std::shared_ptr& sm, Core::System& system {"glue", &Glue::LoopProcess}, {"grc", &GRC::LoopProcess}, {"hid", &HID::LoopProcess}, + {"jit", &JIT::LoopProcess}, {"lbl", &LBL::LoopProcess}, + {"Loader", &LDR::LoopProcess}, {"LogManager.Prod", &LM::LoopProcess}, {"mig", &Migration::LoopProcess}, {"mii", &Mii::LoopProcess}, {"mm", &MM::LoopProcess}, {"mnpp", &MNPP::LoopProcess}, - {"nvnflinger", &Nvnflinger::LoopProcess}, {"NCM", &NCM::LoopProcess}, {"nfc", &NFC::LoopProcess}, {"nfp", &NFP::LoopProcess}, {"ngc", &NGC::LoopProcess}, {"nifm", &NIFM::LoopProcess}, {"nim", &NIM::LoopProcess}, + {"nvnflinger", &Nvnflinger::LoopProcess}, {"npns", &NPNS::LoopProcess}, {"ns", &NS::LoopProcess}, {"olsc", &OLSC::LoopProcess},