xfs
[Top] [All Lists]

Re: [PATCH, RFC] xfs: remove i_iolock and use i_rwsem in the VFS inode i

To: Christoph Hellwig <hch@xxxxxx>
Subject: Re: [PATCH, RFC] xfs: remove i_iolock and use i_rwsem in the VFS inode instead
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Fri, 9 Sep 2016 10:44:50 +0200
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20160909083306.GA19964@xxxxxx>
References: <1470935423-12329-1-git-send-email-hch@xxxxxx> <20160811234335.GX16044@dastard> <20160812025026.GA975@xxxxxx> <20160812095813.GZ16044@dastard> <20160905151529.GB16726@xxxxxx> <20160907214536.GQ30056@dastard> <20160909083306.GA19964@xxxxxx>
User-agent: Mutt/1.5.23.1 (2014-03-12)
On Fri, Sep 09, 2016 at 10:33:06AM +0200, Christoph Hellwig wrote:
> On Thu, Sep 08, 2016 at 07:45:36AM +1000, Dave Chinner wrote:
> > It's a semaphore, not a mutex. Semaphore locking is independent of
> > task context, the lock follows the object it protects, not the task
> > that took the lock. i.e. Lockdep is wrong to assume the "owner" of a
> > rw_sem will not change between lock and unlock.
> 
> That's not the case - rw_semaphores had strict owner semanics for a
> long time (although I wish we could get rid of that for a different
> reason..).

Do tell; note however that due to the strict write owner, we can do
things like the optimistic spinning which improved writer->writer
performance significantly.

Also note that !owner locks create problems for RT.

<Prev in Thread] Current Thread [Next in Thread>