Use spinwait so we don't completely blast the CPU with cmpxchg

This commit is contained in:
riperiperi 2024-05-20 19:43:38 +01:00
parent 83f2eb9495
commit 90a21959e7

View file

@ -236,7 +236,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
private void ActivateIdleThread()
{
while (Interlocked.CompareExchange(ref _coreIdleLock, 1, 0) != 0)
{ }
{
Thread.SpinWait(1);
}
Thread.MemoryBarrier();
@ -251,7 +253,9 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading
private void NotifyIdleThread()
{
while (Interlocked.CompareExchange(ref _coreIdleLock, 1, 0) != 0)
{ }
{
Thread.SpinWait(1);
}
Thread.MemoryBarrier();