RWSEM_NONSPINNABLE
!rwsem_test_oflags(sem, RWSEM_NONSPINNABLE), sem);
(atomic_long_read(&sem->owner) & RWSEM_NONSPINNABLE);
if (owner & RWSEM_NONSPINNABLE)
owner | RWSEM_NONSPINNABLE));
#define RWSEM_OWNER_FLAGS_MASK (RWSEM_READER_OWNED | RWSEM_NONSPINNABLE)
if ((flags & RWSEM_NONSPINNABLE) ||
if (flags & RWSEM_NONSPINNABLE)
if (rwsem_test_oflags(sem, RWSEM_NONSPINNABLE))
if (unlikely(rwsem_test_oflags(sem, RWSEM_NONSPINNABLE)))
atomic_long_andnot(RWSEM_NONSPINNABLE, &sem->owner);