[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190430144252.GF23020@redhat.com>
Date: Tue, 30 Apr 2019 16:42:53 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
linux-rt-users <linux-rt-users@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Clark Williams <williams@...hat.com>,
Juri Lelli <juri.lelli@...hat.com>, jack@...e.com
Subject: Re: [RT WARNING] DEBUG_LOCKS_WARN_ON(rt_mutex_owner(lock) !=
current) with fsfreeze (4.19.25-rt16)
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.
Powered by blists - more mailing lists