MTX_LINKSPIN
if (lock & MTX_LINKSPIN) {
nlock = lock | MTX_LINKSPIN;
nlock = MTX_LINKSPIN; /* to clear */
if (lock & MTX_LINKSPIN) {
nlock = lock | MTX_EXWANTED | MTX_LINKSPIN;
MTX_LINKSPIN |
MTX_LINKSPIN);
atomic_clear_int(&mtx->mtx_lock, MTX_LINKSPIN);
if (lock & MTX_LINKSPIN) {
nlock = lock | MTX_SHWANTED | MTX_LINKSPIN;
MTX_LINKSPIN);
MTX_LINKSPIN |
atomic_clear_int(&mtx->mtx_lock, MTX_LINKSPIN);
KKASSERT(lock & MTX_LINKSPIN);
olock &= ~MTX_LINKSPIN;
nlock = olock | MTX_LINKSPIN | MTX_EXCLUSIVE; /* upgrade if necc */
nlock = MTX_LINKSPIN | MTX_EXWANTED; /* to clear */
nlock = MTX_LINKSPIN; /* to clear */
olock &= ~MTX_LINKSPIN;
nlock = olock | MTX_LINKSPIN;
atomic_clear_int(&mtx->mtx_lock, MTX_LINKSPIN |
if (lock & MTX_LINKSPIN) {
nlock = lock | MTX_LINKSPIN;
nlock = MTX_LINKSPIN; /* to clear */