2019-08-27 19:03:18

by Joel Fernandes

[permalink] [raw]
Subject: [PATCH 0/5] kfree_rcu() additions for -rcu

Hi,

This is a series on top of the patch "rcu/tree: Add basic support for kfree_rcu() batching".

Link: http://lore.kernel.org/r/[email protected]

It adds performance tests, some clean ups and removal of "lazy" RCU callbacks.

Now that kfree_rcu() is handled separately from call_rcu(), we also get rid of
kfree "lazy" handling from tree RCU as suggested by Paul which will be unused.
This also results in a nice negative delta as well.

Joel Fernandes (Google) (5):
rcu/rcuperf: Add kfree_rcu() performance Tests
rcu/tree: Add multiple in-flight batches of kfree_rcu work
rcu/tree: Add support for debug_objects debugging for kfree_rcu()
rcu: Remove kfree_rcu() special casing and lazy handling
rcu: Remove kfree_call_rcu_nobatch()

Documentation/RCU/stallwarn.txt | 13 +-
.../admin-guide/kernel-parameters.txt | 13 ++
include/linux/rcu_segcblist.h | 2 -
include/linux/rcutiny.h | 5 -
include/linux/rcutree.h | 1 -
include/trace/events/rcu.h | 32 ++--
kernel/rcu/rcu.h | 27 ---
kernel/rcu/rcu_segcblist.c | 25 +--
kernel/rcu/rcu_segcblist.h | 25 +--
kernel/rcu/rcuperf.c | 173 +++++++++++++++++-
kernel/rcu/srcutree.c | 4 +-
kernel/rcu/tiny.c | 29 ++-
kernel/rcu/tree.c | 145 ++++++++++-----
kernel/rcu/tree.h | 1 -
kernel/rcu/tree_plugin.h | 42 +----
kernel/rcu/tree_stall.h | 6 +-
16 files changed, 337 insertions(+), 206 deletions(-)

--
2.23.0.187.g17f5b7556c-goog


2019-08-28 20:30:27

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 0/5] kfree_rcu() additions for -rcu

On Tue, Aug 27, 2019 at 03:01:54PM -0400, Joel Fernandes (Google) wrote:
> Hi,
>
> This is a series on top of the patch "rcu/tree: Add basic support for kfree_rcu() batching".
>
> Link: http://lore.kernel.org/r/[email protected]
>
> It adds performance tests, some clean ups and removal of "lazy" RCU callbacks.
>
> Now that kfree_rcu() is handled separately from call_rcu(), we also get rid of
> kfree "lazy" handling from tree RCU as suggested by Paul which will be unused.
> This also results in a nice negative delta as well.
>
> Joel Fernandes (Google) (5):
> rcu/rcuperf: Add kfree_rcu() performance Tests
> rcu/tree: Add multiple in-flight batches of kfree_rcu work
> rcu/tree: Add support for debug_objects debugging for kfree_rcu()
> rcu: Remove kfree_rcu() special casing and lazy handling
> rcu: Remove kfree_call_rcu_nobatch()
>
> Documentation/RCU/stallwarn.txt | 13 +-
> .../admin-guide/kernel-parameters.txt | 13 ++
> include/linux/rcu_segcblist.h | 2 -
> include/linux/rcutiny.h | 5 -
> include/linux/rcutree.h | 1 -
> include/trace/events/rcu.h | 32 ++--
> kernel/rcu/rcu.h | 27 ---
> kernel/rcu/rcu_segcblist.c | 25 +--
> kernel/rcu/rcu_segcblist.h | 25 +--
> kernel/rcu/rcuperf.c | 173 +++++++++++++++++-
> kernel/rcu/srcutree.c | 4 +-
> kernel/rcu/tiny.c | 29 ++-
> kernel/rcu/tree.c | 145 ++++++++++-----
> kernel/rcu/tree.h | 1 -
> kernel/rcu/tree_plugin.h | 42 +----
> kernel/rcu/tree_stall.h | 6 +-
> 16 files changed, 337 insertions(+), 206 deletions(-)

Looks like a 131-line positive delta to me. ;-)

Thanx, Paul

2019-08-28 20:37:18

by Joel Fernandes

[permalink] [raw]
Subject: Re: [PATCH 0/5] kfree_rcu() additions for -rcu

On Wed, Aug 28, 2019 at 01:28:08PM -0700, Paul E. McKenney wrote:
> On Tue, Aug 27, 2019 at 03:01:54PM -0400, Joel Fernandes (Google) wrote:
> > Hi,
> >
> > This is a series on top of the patch "rcu/tree: Add basic support for kfree_rcu() batching".
> >
> > Link: http://lore.kernel.org/r/[email protected]
> >
> > It adds performance tests, some clean ups and removal of "lazy" RCU callbacks.
> >
> > Now that kfree_rcu() is handled separately from call_rcu(), we also get rid of
> > kfree "lazy" handling from tree RCU as suggested by Paul which will be unused.
> > This also results in a nice negative delta as well.
> >
> > Joel Fernandes (Google) (5):
> > rcu/rcuperf: Add kfree_rcu() performance Tests
> > rcu/tree: Add multiple in-flight batches of kfree_rcu work
> > rcu/tree: Add support for debug_objects debugging for kfree_rcu()
> > rcu: Remove kfree_rcu() special casing and lazy handling
> > rcu: Remove kfree_call_rcu_nobatch()
> >
> > Documentation/RCU/stallwarn.txt | 13 +-
> > .../admin-guide/kernel-parameters.txt | 13 ++
> > include/linux/rcu_segcblist.h | 2 -
> > include/linux/rcutiny.h | 5 -
> > include/linux/rcutree.h | 1 -
> > include/trace/events/rcu.h | 32 ++--
> > kernel/rcu/rcu.h | 27 ---
> > kernel/rcu/rcu_segcblist.c | 25 +--
> > kernel/rcu/rcu_segcblist.h | 25 +--
> > kernel/rcu/rcuperf.c | 173 +++++++++++++++++-
> > kernel/rcu/srcutree.c | 4 +-
> > kernel/rcu/tiny.c | 29 ++-
> > kernel/rcu/tree.c | 145 ++++++++++-----
> > kernel/rcu/tree.h | 1 -
> > kernel/rcu/tree_plugin.h | 42 +----
> > kernel/rcu/tree_stall.h | 6 +-
> > 16 files changed, 337 insertions(+), 206 deletions(-)
>
> Looks like a 131-line positive delta to me. ;-)

Not if you overlook the rcuperf changes which is just test code. :-D ;-)

thanks,

- Joel

2019-08-28 20:48:38

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 0/5] kfree_rcu() additions for -rcu

On Wed, Aug 28, 2019 at 04:34:58PM -0400, Joel Fernandes wrote:
> On Wed, Aug 28, 2019 at 01:28:08PM -0700, Paul E. McKenney wrote:
> > On Tue, Aug 27, 2019 at 03:01:54PM -0400, Joel Fernandes (Google) wrote:
> > > Hi,
> > >
> > > This is a series on top of the patch "rcu/tree: Add basic support for kfree_rcu() batching".
> > >
> > > Link: http://lore.kernel.org/r/[email protected]
> > >
> > > It adds performance tests, some clean ups and removal of "lazy" RCU callbacks.
> > >
> > > Now that kfree_rcu() is handled separately from call_rcu(), we also get rid of
> > > kfree "lazy" handling from tree RCU as suggested by Paul which will be unused.
> > > This also results in a nice negative delta as well.
> > >
> > > Joel Fernandes (Google) (5):
> > > rcu/rcuperf: Add kfree_rcu() performance Tests
> > > rcu/tree: Add multiple in-flight batches of kfree_rcu work
> > > rcu/tree: Add support for debug_objects debugging for kfree_rcu()
> > > rcu: Remove kfree_rcu() special casing and lazy handling
> > > rcu: Remove kfree_call_rcu_nobatch()
> > >
> > > Documentation/RCU/stallwarn.txt | 13 +-
> > > .../admin-guide/kernel-parameters.txt | 13 ++
> > > include/linux/rcu_segcblist.h | 2 -
> > > include/linux/rcutiny.h | 5 -
> > > include/linux/rcutree.h | 1 -
> > > include/trace/events/rcu.h | 32 ++--
> > > kernel/rcu/rcu.h | 27 ---
> > > kernel/rcu/rcu_segcblist.c | 25 +--
> > > kernel/rcu/rcu_segcblist.h | 25 +--
> > > kernel/rcu/rcuperf.c | 173 +++++++++++++++++-
> > > kernel/rcu/srcutree.c | 4 +-
> > > kernel/rcu/tiny.c | 29 ++-
> > > kernel/rcu/tree.c | 145 ++++++++++-----
> > > kernel/rcu/tree.h | 1 -
> > > kernel/rcu/tree_plugin.h | 42 +----
> > > kernel/rcu/tree_stall.h | 6 +-
> > > 16 files changed, 337 insertions(+), 206 deletions(-)
> >
> > Looks like a 131-line positive delta to me. ;-)
>
> Not if you overlook the rcuperf changes which is just test code. :-D ;-)

Which suggests that you should move the "nice negative delta" comment
to the commits that actually have nice negative deltas. ;-)

Thanx, Paul

2019-08-28 21:28:17

by Joel Fernandes

[permalink] [raw]
Subject: Re: [PATCH 0/5] kfree_rcu() additions for -rcu

On Wed, Aug 28, 2019 at 01:46:24PM -0700, Paul E. McKenney wrote:
> On Wed, Aug 28, 2019 at 04:34:58PM -0400, Joel Fernandes wrote:
> > On Wed, Aug 28, 2019 at 01:28:08PM -0700, Paul E. McKenney wrote:
> > > On Tue, Aug 27, 2019 at 03:01:54PM -0400, Joel Fernandes (Google) wrote:
> > > > Hi,
> > > >
> > > > This is a series on top of the patch "rcu/tree: Add basic support for kfree_rcu() batching".
> > > >
> > > > Link: http://lore.kernel.org/r/[email protected]
> > > >
> > > > It adds performance tests, some clean ups and removal of "lazy" RCU callbacks.
> > > >
> > > > Now that kfree_rcu() is handled separately from call_rcu(), we also get rid of
> > > > kfree "lazy" handling from tree RCU as suggested by Paul which will be unused.
> > > > This also results in a nice negative delta as well.
> > > >
> > > > Joel Fernandes (Google) (5):
> > > > rcu/rcuperf: Add kfree_rcu() performance Tests
> > > > rcu/tree: Add multiple in-flight batches of kfree_rcu work
> > > > rcu/tree: Add support for debug_objects debugging for kfree_rcu()
> > > > rcu: Remove kfree_rcu() special casing and lazy handling
> > > > rcu: Remove kfree_call_rcu_nobatch()
> > > >
> > > > Documentation/RCU/stallwarn.txt | 13 +-
> > > > .../admin-guide/kernel-parameters.txt | 13 ++
> > > > include/linux/rcu_segcblist.h | 2 -
> > > > include/linux/rcutiny.h | 5 -
> > > > include/linux/rcutree.h | 1 -
> > > > include/trace/events/rcu.h | 32 ++--
> > > > kernel/rcu/rcu.h | 27 ---
> > > > kernel/rcu/rcu_segcblist.c | 25 +--
> > > > kernel/rcu/rcu_segcblist.h | 25 +--
> > > > kernel/rcu/rcuperf.c | 173 +++++++++++++++++-
> > > > kernel/rcu/srcutree.c | 4 +-
> > > > kernel/rcu/tiny.c | 29 ++-
> > > > kernel/rcu/tree.c | 145 ++++++++++-----
> > > > kernel/rcu/tree.h | 1 -
> > > > kernel/rcu/tree_plugin.h | 42 +----
> > > > kernel/rcu/tree_stall.h | 6 +-
> > > > 16 files changed, 337 insertions(+), 206 deletions(-)
> > >
> > > Looks like a 131-line positive delta to me. ;-)
> >
> > Not if you overlook the rcuperf changes which is just test code. :-D ;-)
>
> Which suggests that you should move the "nice negative delta" comment
> to the commits that actually have nice negative deltas. ;-)

Will do!

thanks,

- Joel