On Sat, 2013-06-15 at 07:27 +0200, Manfred Spraul wrote: > Assume there is one op (semctl(), whatever) that acquires the global > lock - and a continuous stream of simple ops. > - spin_is_locked() returns true due to the semctl(). > - then simple ops will switch to spin_lock(&sma->sem_perm.lock). > - since the spinlock is acquired, the next operation will get true from > spin_is_locked(). > > It will stay that way around - as long as there is at least one op > waiting for sma->sem_perm.lock. > With enough cpus, it will stay like this forever.
Yup, pondered that yesterday, scratching my head over how to do better. Hints highly welcome. Maybe if I figure out how to scratch dual lock thingy properly for -rt, non-rt will start acting sane too, as that spot seems to be itchy in both kernels. -Mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/