All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleg Nesterov <oleg@redhat.com>
To: Jan Kara <jack@suse.cz>
Cc: Al Viro <viro@zeniv.linux.org.uk>,
	Dave Chinner <david@fromorbit.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 9/8] don't fool lockdep in freeze_super() and thaw_super() paths
Date: Thu, 13 Aug 2015 15:58:38 +0200	[thread overview]
Message-ID: <20150813135838.GA17414@redhat.com> (raw)
In-Reply-To: <20150813110155.GI26599@quack.suse.cz>

On 08/13, Jan Kara wrote:
>
> On Wed 12-08-15 15:11:38, Oleg Nesterov wrote:
> > On 08/11, Oleg Nesterov wrote:
> > >
> > > The only essential change is that I dropped the lockdep improvements
> > > as we discussed. This means that 8/8 was changed a bit, and I decided
> > > to add the new documentation patch, see 3/8.
> >
> > Update: The recent
> >
> > 	[PATCH 0/2] xfs: kill lockdep false positives from readdir
> >
> > changes from Dave fixed the problems ILOCK false-positives. So we can
> > add the additional patch which (modulo comments) just turns v2 back into
> > v1.
> >
> > Dave, Jan, you seem to agree with these patches. How should we route
> > this all?
>
> Regarding the routing, ideally Al Viro should take these as a VFS
> maintainer.

OK. I'll send v3.

But to remind, this particular patch depends on Dave's fixes, so I will
send it later.

And I forgot to mention that I have another patch which removes the
trylock hack from __sb_start_write() as Dave suggested, it passed the
tests. But again, I'd really like to send it separately so that it can
be reverted in (unlikely) case something else does recursive read_lock().

> > Subject: [PATCH v2 9/8] don't fool lockdep in freeze_super() and thaw_super() paths
> >
> > sb_wait_write()->percpu_rwsem_release() fools lockdep to avoid the
> > false-positives. Now that xfs was fixed by Dave we can remove it and
> > change freeze_super() and thaw_super() to run with s_writers.rw_sem
> > locks held; we add two trivial helpers for that, sb_freeze_release()
> > and sb_freeze_acquire().
> >
> > While at it, kill the outdated part of the comment above sb_wait_write.
> >
> > Signed-off-by: Oleg Nesterov <oleg@redhat.com>
>
> The patch looks good. Just one nit:
>
> > +	for (level = SB_FREEZE_LEVELS; --level >= 0; )
> > +		percpu_rwsem_release(sb->s_writers.rw_sem + level, 0, _THIS_IP_);
>
> It is more common (and to me more readable) to have the loop written as:
>
> for (level = SB_FREEZE_LEVELS - 1; level >= 0; level--)
>
> I agree what you do is shorter but IMHO it's just an unnecessary
> obfuscation :)

Agreed, will fix.

Oleg.


      reply	other threads:[~2015-08-13 14:00 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-11 17:03 [PATCH v2 0/8] change sb_writers to use percpu_rw_semaphore Oleg Nesterov
2015-08-11 17:03 ` [PATCH v2 1/8] introduce __sb_{acquire,release}_write() helpers Oleg Nesterov
2015-08-13  9:45   ` Jan Kara
2015-08-13  9:56     ` Jan Kara
2015-08-13 13:17       ` Oleg Nesterov
2015-08-13 13:32         ` Jan Kara
2015-08-13 13:37           ` Oleg Nesterov
2015-08-11 17:04 ` [PATCH v2 2/8] fix the broken lockdep logic in __sb_start_write() Oleg Nesterov
2015-08-13 10:02   ` Jan Kara
2015-08-13 13:22     ` Oleg Nesterov
2015-08-13 13:29       ` Jan Kara
2015-08-11 17:04 ` [PATCH v2 3/8] document rwsem_release() in sb_wait_write() Oleg Nesterov
2015-08-13 10:22   ` Jan Kara
2015-08-11 17:04 ` [PATCH v2 4/8] percpu-rwsem: introduce percpu_down_read_trylock() Oleg Nesterov
2015-08-11 17:04 ` [PATCH v2 5/8] percpu-rwsem: introduce percpu_rwsem_release() and percpu_rwsem_acquire() Oleg Nesterov
2015-08-11 17:04 ` [PATCH v2 6/8] percpu-rwsem: kill CONFIG_PERCPU_RWSEM Oleg Nesterov
2015-08-11 17:04 ` [PATCH v2 7/8] shift percpu_counter_destroy() into destroy_super_work() Oleg Nesterov
2015-08-13 10:35   ` Jan Kara
2015-08-13 13:36     ` Oleg Nesterov
2015-08-13 14:09       ` Jan Kara
2015-08-13 15:20         ` Oleg Nesterov
2015-08-11 17:04 ` [PATCH v2 8/8] change sb_writers to use percpu_rw_semaphore Oleg Nesterov
2015-08-13 10:48   ` Jan Kara
2015-08-12 13:11 ` [PATCH v2 9/8] don't fool lockdep in freeze_super() and thaw_super() paths Oleg Nesterov
2015-08-13 11:01   ` Jan Kara
2015-08-13 13:58     ` Oleg Nesterov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150813135838.GA17414@redhat.com \
    --to=oleg@redhat.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@fromorbit.com \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.