Browse Source

[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 <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4148
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
remotes/1785252804720323840/master
lizzie 4 days ago
committed by crueter
parent
commit
dc1486485b
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 6
      src/core/hle/service/services.cpp

6
src/core/hle/service/services.cpp

@ -89,9 +89,7 @@ Services::Services(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system
for (auto const& e : std::vector<std::pair<std::string_view, void (*)(Core::System&)>>{ for (auto const& e : std::vector<std::pair<std::string_view, void (*)(Core::System&)>>{
{"audio", &Audio::LoopProcess}, {"audio", &Audio::LoopProcess},
{"FS", &FileSystem::LoopProcess}, {"FS", &FileSystem::LoopProcess},
{"jit", &JIT::LoopProcess},
{"ldn", &LDN::LoopProcess}, {"ldn", &LDN::LoopProcess},
{"Loader", &LDR::LoopProcess},
{"nvservices", &Nvidia::LoopProcess}, {"nvservices", &Nvidia::LoopProcess},
{"bsdsocket", &Sockets::LoopProcess}, {"bsdsocket", &Sockets::LoopProcess},
}) })
@ -120,19 +118,21 @@ Services::Services(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system
{"glue", &Glue::LoopProcess}, {"glue", &Glue::LoopProcess},
{"grc", &GRC::LoopProcess}, {"grc", &GRC::LoopProcess},
{"hid", &HID::LoopProcess}, {"hid", &HID::LoopProcess},
{"jit", &JIT::LoopProcess},
{"lbl", &LBL::LoopProcess}, {"lbl", &LBL::LoopProcess},
{"Loader", &LDR::LoopProcess},
{"LogManager.Prod", &LM::LoopProcess}, {"LogManager.Prod", &LM::LoopProcess},
{"mig", &Migration::LoopProcess}, {"mig", &Migration::LoopProcess},
{"mii", &Mii::LoopProcess}, {"mii", &Mii::LoopProcess},
{"mm", &MM::LoopProcess}, {"mm", &MM::LoopProcess},
{"mnpp", &MNPP::LoopProcess}, {"mnpp", &MNPP::LoopProcess},
{"nvnflinger", &Nvnflinger::LoopProcess},
{"NCM", &NCM::LoopProcess}, {"NCM", &NCM::LoopProcess},
{"nfc", &NFC::LoopProcess}, {"nfc", &NFC::LoopProcess},
{"nfp", &NFP::LoopProcess}, {"nfp", &NFP::LoopProcess},
{"ngc", &NGC::LoopProcess}, {"ngc", &NGC::LoopProcess},
{"nifm", &NIFM::LoopProcess}, {"nifm", &NIFM::LoopProcess},
{"nim", &NIM::LoopProcess}, {"nim", &NIM::LoopProcess},
{"nvnflinger", &Nvnflinger::LoopProcess},
{"npns", &NPNS::LoopProcess}, {"npns", &NPNS::LoopProcess},
{"ns", &NS::LoopProcess}, {"ns", &NS::LoopProcess},
{"olsc", &OLSC::LoopProcess}, {"olsc", &OLSC::LoopProcess},

Loading…
Cancel
Save