RCU Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 0/5] kfree_rcu() additions for -rcu
@ 2019-08-27 19:01 Joel Fernandes (Google)
  2019-08-28 20:28 ` Paul E. McKenney
  0 siblings, 1 reply; 5+ messages in thread
From: Joel Fernandes (Google) @ 2019-08-27 19:01 UTC (permalink / raw)
  To: linux-kernel
  Cc: Joel Fernandes (Google),
	byungchul.park, Josh Triplett, Lai Jiangshan, linux-doc,
	Mathieu Desnoyers, Paul E. McKenney, rcu, Steven Rostedt,
	kernel-team

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/20190814160411.58591-1-joel@joelfernandes.org

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/5] kfree_rcu() additions for -rcu
  2019-08-27 19:01 [PATCH 0/5] kfree_rcu() additions for -rcu Joel Fernandes (Google)
@ 2019-08-28 20:28 ` Paul E. McKenney
  2019-08-28 20:34   ` Joel Fernandes
  0 siblings, 1 reply; 5+ messages in thread
From: Paul E. McKenney @ 2019-08-28 20:28 UTC (permalink / raw)
  To: Joel Fernandes (Google)
  Cc: linux-kernel, byungchul.park, Josh Triplett, Lai Jiangshan,
	linux-doc, Mathieu Desnoyers, rcu, Steven Rostedt, kernel-team

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/20190814160411.58591-1-joel@joelfernandes.org
> 
> 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/5] kfree_rcu() additions for -rcu
  2019-08-28 20:28 ` Paul E. McKenney
@ 2019-08-28 20:34   ` Joel Fernandes
  2019-08-28 20:46     ` Paul E. McKenney
  0 siblings, 1 reply; 5+ messages in thread
From: Joel Fernandes @ 2019-08-28 20:34 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, byungchul.park, Josh Triplett, Lai Jiangshan,
	linux-doc, Mathieu Desnoyers, rcu, Steven Rostedt, kernel-team

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/20190814160411.58591-1-joel@joelfernandes.org
> > 
> > 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/5] kfree_rcu() additions for -rcu
  2019-08-28 20:34   ` Joel Fernandes
@ 2019-08-28 20:46     ` Paul E. McKenney
  2019-08-28 21:26       ` Joel Fernandes
  0 siblings, 1 reply; 5+ messages in thread
From: Paul E. McKenney @ 2019-08-28 20:46 UTC (permalink / raw)
  To: Joel Fernandes
  Cc: linux-kernel, byungchul.park, Josh Triplett, Lai Jiangshan,
	linux-doc, Mathieu Desnoyers, rcu, Steven Rostedt, kernel-team

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/20190814160411.58591-1-joel@joelfernandes.org
> > > 
> > > 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/5] kfree_rcu() additions for -rcu
  2019-08-28 20:46     ` Paul E. McKenney
@ 2019-08-28 21:26       ` Joel Fernandes
  0 siblings, 0 replies; 5+ messages in thread
From: Joel Fernandes @ 2019-08-28 21:26 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, byungchul.park, Josh Triplett, Lai Jiangshan,
	linux-doc, Mathieu Desnoyers, rcu, Steven Rostedt, kernel-team

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/20190814160411.58591-1-joel@joelfernandes.org
> > > > 
> > > > 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-27 19:01 [PATCH 0/5] kfree_rcu() additions for -rcu Joel Fernandes (Google)
2019-08-28 20:28 ` Paul E. McKenney
2019-08-28 20:34   ` Joel Fernandes
2019-08-28 20:46     ` Paul E. McKenney
2019-08-28 21:26       ` Joel Fernandes

RCU Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/rcu/0 rcu/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 rcu rcu/ https://lore.kernel.org/rcu \
		rcu@vger.kernel.org rcu@archiver.kernel.org
	public-inbox-index rcu

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.rcu


AGPL code for this site: git clone https://public-inbox.org/ public-inbox