CVSROOT:        /cvs
Module name:    src
Changes by:     kette...@cvs.openbsd.org        2014/11/30 15:26:15

Modified files:
        sys/arch/sparc64/include: mdesc.h 
        sys/arch/sparc64/sparc64: autoconf.c lock_machdep.c locore.s 
                                  mdesc.c 

Log message:
SPARC T4 and later have a pause instruction to voluntarily pause a virtual
processor in order to give other strands a chance to run.  Use it in
__mp_lock_spin_hook() to avoid wasting CPU cycles if we're waiting for
the kernel or scheduler locks.  This is instruction is patched in, just like
we already do for the sleep instruction on SPARC64 VI processors.  We look
at the hwcap-list property of the cpu nodes in the machine description to
decide whether the pause instruction is available.

Reply via email to