summaryrefslogtreecommitdiffstats
path: root/src/common/x64/cpu_wait.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-06-28x64: cpu_wait: Implement MWAITX for non-MSVC compilersMorph1-0/+10
2023-06-28x64: cpu_wait: Remove magic valuesMorph1-3/+8
2023-06-28x64: cpu_wait: Make use of MWAITX in MicroSleepMorph1-12/+21
MWAITX is equivalent to UMWAIT on Intel's Alder Lake CPUs. We can emulate TPAUSE by using MONITORX in conjunction with MWAITX to wait for 100K cycles.
2023-06-08x64: Deduplicate RDTSC usageMorph1-19/+1
2023-03-27x64: Simplify RDTSC on non-MSVC compilersMorph1-8/+5
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-03-27x64: Add MicroSleepMorph1-0/+72
MicroSleep allows the processor to pause for a "short" amount of time (in the microsecond range). This is useful for spin-waiting that does not require nanosecond precision. This uses the new TPAUSE instruction introduced on Intel's newest processors as part of the waitpkg instructions. For CPUs that do not support waitpkg instructions, this is equivalent to yield(). Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>