[core] give exclusive affinity control to CPU threads
Some checks failed
eden-license / license-header (pull_request) Failing after 20s
Some checks failed
eden-license / license-header (pull_request) Failing after 20s
Signed-off-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
parent
42280f34d6
commit
8620d9cbe5
7 changed files with 0 additions and 11 deletions
|
@ -132,11 +132,9 @@ void AudioRenderer::CreateSinkStreams() {
|
||||||
void AudioRenderer::Main(std::stop_token stop_token) {
|
void AudioRenderer::Main(std::stop_token stop_token) {
|
||||||
static constexpr char name[]{"DSP_AudioRenderer_Main"};
|
static constexpr char name[]{"DSP_AudioRenderer_Main"};
|
||||||
Common::SetCurrentThreadName(name);
|
Common::SetCurrentThreadName(name);
|
||||||
Common::SetCurrentThreadPriority(Common::ThreadPriority::High);
|
|
||||||
|
|
||||||
// TODO: Create buffer map/unmap thread + mailbox
|
// TODO: Create buffer map/unmap thread + mailbox
|
||||||
// TODO: Create gMix devices, initialize them here
|
// TODO: Create gMix devices, initialize them here
|
||||||
|
|
||||||
if (mailbox.Receive(Direction::DSP) != Message::InitializeOK) {
|
if (mailbox.Receive(Direction::DSP) != Message::InitializeOK) {
|
||||||
LOG_ERROR(Service_Audio,
|
LOG_ERROR(Service_Audio,
|
||||||
"ADSP Audio Renderer -- Failed to receive initialize message from host!");
|
"ADSP Audio Renderer -- Failed to receive initialize message from host!");
|
||||||
|
|
|
@ -80,7 +80,6 @@ bool SystemManager::Remove(System& system_) {
|
||||||
void SystemManager::ThreadFunc(std::stop_token stop_token) {
|
void SystemManager::ThreadFunc(std::stop_token stop_token) {
|
||||||
static constexpr char name[]{"AudioRenderSystemManager"};
|
static constexpr char name[]{"AudioRenderSystemManager"};
|
||||||
Common::SetCurrentThreadName(name);
|
Common::SetCurrentThreadName(name);
|
||||||
Common::SetCurrentThreadPriority(Common::ThreadPriority::High);
|
|
||||||
while (active && !stop_token.stop_requested()) {
|
while (active && !stop_token.stop_requested()) {
|
||||||
{
|
{
|
||||||
std::scoped_lock l{mutex1};
|
std::scoped_lock l{mutex1};
|
||||||
|
|
|
@ -56,7 +56,6 @@ CoreTiming::~CoreTiming() {
|
||||||
void CoreTiming::ThreadEntry(CoreTiming& instance) {
|
void CoreTiming::ThreadEntry(CoreTiming& instance) {
|
||||||
static constexpr char name[] = "HostTiming";
|
static constexpr char name[] = "HostTiming";
|
||||||
Common::SetCurrentThreadName(name);
|
Common::SetCurrentThreadName(name);
|
||||||
Common::SetCurrentThreadPriority(Common::ThreadPriority::High);
|
|
||||||
instance.on_thread_init();
|
instance.on_thread_init();
|
||||||
instance.ThreadLoop();
|
instance.ThreadLoop();
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,8 +124,6 @@ void TimeWorker::StartThread() {
|
||||||
|
|
||||||
void TimeWorker::ThreadFunc(std::stop_token stop_token) {
|
void TimeWorker::ThreadFunc(std::stop_token stop_token) {
|
||||||
Common::SetCurrentThreadName("TimeWorker");
|
Common::SetCurrentThreadName("TimeWorker");
|
||||||
Common::SetCurrentThreadPriority(Common::ThreadPriority::Low);
|
|
||||||
|
|
||||||
while (!stop_token.stop_requested()) {
|
while (!stop_token.stop_requested()) {
|
||||||
enum class EventType : s32 {
|
enum class EventType : s32 {
|
||||||
Exit = 0,
|
Exit = 0,
|
||||||
|
|
|
@ -29,7 +29,6 @@ CDmaPusher::CDmaPusher(Host1x::Host1x& host1x_, s32 id)
|
||||||
CDmaPusher::~CDmaPusher() = default;
|
CDmaPusher::~CDmaPusher() = default;
|
||||||
|
|
||||||
void CDmaPusher::ProcessEntries(std::stop_token stop_token) {
|
void CDmaPusher::ProcessEntries(std::stop_token stop_token) {
|
||||||
Common::SetCurrentThreadPriority(Common::ThreadPriority::High);
|
|
||||||
ChCommandHeaderList command_list{host1x.System().ApplicationMemory(), 0, 0};
|
ChCommandHeaderList command_list{host1x.System().ApplicationMemory(), 0, 0};
|
||||||
u32 count{};
|
u32 count{};
|
||||||
u32 method_offset{};
|
u32 method_offset{};
|
||||||
|
|
|
@ -228,10 +228,7 @@ private:
|
||||||
|
|
||||||
void ReleaseThreadFunc(std::stop_token stop_token) {
|
void ReleaseThreadFunc(std::stop_token stop_token) {
|
||||||
std::string name = "GPUFencingThread";
|
std::string name = "GPUFencingThread";
|
||||||
|
|
||||||
Common::SetCurrentThreadName(name.c_str());
|
Common::SetCurrentThreadName(name.c_str());
|
||||||
Common::SetCurrentThreadPriority(Common::ThreadPriority::High);
|
|
||||||
|
|
||||||
TFence current_fence;
|
TFence current_fence;
|
||||||
std::deque<std::function<void()>> current_operations;
|
std::deque<std::function<void()>> current_operations;
|
||||||
while (!stop_token.stop_requested()) {
|
while (!stop_token.stop_requested()) {
|
||||||
|
|
|
@ -26,7 +26,6 @@ static void RunThread(std::stop_token stop_token, Core::System& system,
|
||||||
std::string name = "GPU";
|
std::string name = "GPU";
|
||||||
|
|
||||||
Common::SetCurrentThreadName(name.c_str());
|
Common::SetCurrentThreadName(name.c_str());
|
||||||
Common::SetCurrentThreadPriority(Common::ThreadPriority::Critical);
|
|
||||||
system.RegisterHostThread();
|
system.RegisterHostThread();
|
||||||
|
|
||||||
auto current_context = context.Acquire();
|
auto current_context = context.Acquire();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue