Index: sparc64/lock_machdep.c =================================================================== RCS file: /cvs/src/sys/arch/sparc64/sparc64/lock_machdep.c,v retrieving revision 1.10 diff -u -p -r1.10 lock_machdep.c --- sparc64/lock_machdep.c 25 Jun 2015 00:53:19 -0000 1.10 +++ sparc64/lock_machdep.c 26 Jun 2015 05:53:37 -0000 @@ -23,8 +23,6 @@ #include #include -#include - void __mp_lock_init(struct __mp_lock *mpl) { @@ -37,6 +35,8 @@ __mp_lock_init(struct __mp_lock *mpl) #ifndef DDB #error "MP_LOCKDEBUG requires DDB" #endif +#include +#include /* CPU-dependent timing, needs this to be settable from ddb. */ extern int __mp_lock_spinout; @@ -95,7 +95,7 @@ __mp_lock_spin(struct __mp_lock *mpl, u_ #else int ticks = __mp_lock_spinout; - while (mpl->mpl_ticket != me && --ticks > 0) + while (mpl->mpl_ticket != me && (db_is_active || --ticks > 0)) SPINLOCK_SPIN_HOOK; if (ticks == 0) {