I have cloned linux-rt-devel.git If I understand correctly, in rt rw_semaphore is actually defined in rwsem_rt.h so percpu_rwsem_acquire() should probably do sem->rw_sem.rtmutex.owner = current; ? On 04/30, Oleg Nesterov wrote: > > Sorry, I don't understand... > > On 04/30, Peter Zijlstra wrote: > > > > Thaw then does the reverse, frobs lockdep > > Yes, in particular it does > > lockdep_sb_freeze_acquire() > percpu_rwsem_acquire() > sem->rw_sem.owner = current; > > > > and then does: percpu_up_write(). > > > > percpu_up_write() on up_write(). And note how __up_write() has: > > > > DEBUG_RWSEMS_WARN_ON(sem->owner != current, sem); > > and everything looks correct, sem->owner == current by the time > thaw_super_locked() does percpu_up_write/up_write. > > Oleg.