RISC-V: Execute a PAUSE hint in spin loops
The atomic_spin_nop() macro can be used to run arch-specific code in the body of a spin loop to potentially improve efficiency. RISC-V's Zihintpause extension includes a PAUSE instruction for this use-case, which is encoded as a HINT, which means that it behaves like a NOP on systems that don't implement Zihintpause. Binutils supports Zihintpause since 2.36, so this patch uses the ".insn" directive to keep the code compatible with older toolchains. Signed-off-by:Christoph Müllner <christoph.muellner@vrull.eu> Reviewed-by:
Palmer Dabbelt <palmer@rivosinc.com> Acked-by:
Palmer Dabbelt <palmer@rivosinc.com>
Loading
Please register or sign in to comment