From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Oleg Nesterov <oleg@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Peter Zijlstra <peterz@infradead.org>, Tejun Heo <tj@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 0/8] Add rcu_sync infrastructure to avoid _expedited() in percpu-rwsem
Date: Sat, 22 Aug 2015 09:38:10 -0700 [thread overview]
Message-ID: <20150822163810.GV11078@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150821174230.GA17867@redhat.com>
On Fri, Aug 21, 2015 at 07:42:30PM +0200, Oleg Nesterov wrote:
> Hello,
>
> Now that sb->s_writers was changed to use percpu_rw_semaphore let me
> send v2.
>
> Changes:
>
> - whitespace fix in 1/8.
>
> - remove EXPORT_SYMBOL() in 3/8, currently rcu_sync has no
> modular users.
>
> - 5/8 is new. This ugly hack pairs with another one:
> "shift percpu_counter_destroy() into destroy_super_work()"
> https://git.kernel.org/cgit/linux/kernel/git/viro/vfs.git/commit/?h=for-next&id=853b39a7c82826b8413048feec7bf08e98ce7a84
> They both will be reverted later.
>
> The problem is that we have 2 series routed via different
> trees, RCU and VFS. We need this hack to ensure that this
> series won't break alloc_super() which currently assumes that
> destroy_super()->percpu_free_rwsem() is safe after kzalloc().
> This way these 2 series do not depend on each other, we can
> test/change/revert/etc them independently.
>
> We will add rcu_sync_dtor() into deactivate_locked_super()
> later and revert both hacks.
> Oleg.
Queued for testing, thank you, Oleg!
Right now, this is mostly relying on 0day and -next testing. Any thoughts
for a useful torture test for this? One approach would be to treat it
like a reader-writer lock. Other thoughts?
Thanx, Paul
> include/linux/percpu-rwsem.h | 3 +-
> include/linux/rcusync.h | 56 +++++++++++++++
> kernel/locking/percpu-rwsem.c | 85 ++++++++---------------
> kernel/rcu/Makefile | 2 +-
> kernel/rcu/sync.c | 151 +++++++++++++++++++++++++++++++++++++++++
> 5 files changed, 240 insertions(+), 57 deletions(-)
>
next prev parent reply other threads:[~2015-08-22 16:38 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-21 17:42 [PATCH v2 0/8] Add rcu_sync infrastructure to avoid _expedited() in percpu-rwsem Oleg Nesterov
2015-08-21 17:42 ` [PATCH v2 1/8] rcu: Create rcu_sync infrastructure Oleg Nesterov
2015-08-21 17:42 ` [PATCH v2 2/8] rcusync: Introduce struct rcu_sync_ops Oleg Nesterov
2015-08-21 17:42 ` [PATCH v2 3/8] rcusync: Add the CONFIG_PROVE_RCU checks Oleg Nesterov
2015-08-21 17:42 ` [PATCH v2 4/8] rcusync: Introduce rcu_sync_dtor() Oleg Nesterov
2015-08-21 17:42 ` [PATCH v2 5/8] percpu-rwsem: make percpu_free_rwsem() after kzalloc() safe Oleg Nesterov
2015-08-21 17:42 ` [PATCH v2 6/8] percpu-rwsem: change it to rely on rss_sync infrastructure Oleg Nesterov
2015-08-21 17:43 ` [PATCH v2 7/8] percpu-rwsem: fix the comments outdated by rcu_sync Oleg Nesterov
2015-08-21 17:43 ` [PATCH v2 8/8] percpu-rwsem: cleanup the lockdep annotations in percpu_down_read() Oleg Nesterov
2015-08-22 16:38 ` Paul E. McKenney [this message]
2015-08-24 15:34 ` [PATCH v2 0/8] Add rcu_sync infrastructure to avoid _expedited() in percpu-rwsem Oleg Nesterov
2015-08-24 18:31 ` parse_args() is too unforgivable? Oleg Nesterov
2015-08-25 1:24 ` Rusty Russell
2015-08-25 15:18 ` [PATCH 0/1] params: don't ignore the rest of cmdline if parse_one() fails Oleg Nesterov
2015-08-25 15:18 ` [PATCH 1/1] " Oleg Nesterov
2015-08-26 0:13 ` Rusty Russell
2015-08-26 0:22 ` [PATCH v2 0/8] Add rcu_sync infrastructure to avoid _expedited() in percpu-rwsem Paul E. McKenney
2015-08-26 12:16 ` Oleg Nesterov
2015-08-26 12:52 ` Oleg Nesterov
2015-08-26 14:29 ` Paul E. McKenney
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=20150822163810.GV11078@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
/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.