RCU Archive on lore.kernel.org
 help / color / Atom feed
From: "Paul E. McKenney" <paulmck@kernel.org>
To: rcu@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, kernel-team@fb.com,
	mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
	josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org,
	rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com,
	fweisbec@gmail.com, oleg@redhat.com, joel@joelfernandes.org
Subject: [PATCH tip/core/rcu 0/30] Add read-side scalability tests for v5.9
Date: Mon, 22 Jun 2020 17:29:41 -0700
Message-ID: <20200623002941.GA26089@paulmck-ThinkPad-P72> (raw)

Hello!

This series adds a refscale set of read-side scalability tests for
reference counting, reader-writer locking, and RCU.

1.	Remove useless while loops around wait_event, courtesy of
	Joel Fernandes.

2.	Add a test to measure performance of read-side synchronization,
	courtesy of Joel Fernandes.

3.	Add comments explaining the high reader overhead.

4.	Add refperf to the rcutorture scripting.

5.	Add holdoff parameter to allow CPUs to come online.

6.	Hoist function-pointer calls out of the loop.

7.	Allow decimal nanoseconds.

8.	Convert nreaders to a module parameter.

9.	Provide module parameter to specify number of experiments.

10.	Dynamically allocate experiment-summary output buffer.

11.	Dynamically allocate thread-summary output buffer.

12.	Make functions static.

13.	Tune reader measurement interval.

14.	Convert reader_task structure's "start" field to int.

15.	More closely synchronize reader start times.

16.	Add warmup and cooldown processing phases.

17.	Label experiment-number column "Runs".

18.	Output per-experiment data points.

19.	Simplify initialization-time wakeup protocol.

20.	Add read-side delay module parameter.

21.	Adjust refperf.loop default value.

22.	Document rcuperf's module parameters.

23.	Work around 64-bit division, courtesy of Arnd Bergmann.

24.	Change readdelay module parameter to nanoseconds.

25.	Add test for RCU Tasks Trace readers..

26.	Add test for RCU Tasks readers.

27.	rcu-tasks: Fix synchronize_rcu_tasks_trace() header comment.

28.	Rename RCU_REF_PERF_TEST to RCU_REF_SCALE_TEST.

29.	Rename refperf.c to refscale.c and change internal names.

30.	Change --torture type from refperf to refscale.

							Thanx, Paul

------------------------------------------------------------------------

 Documentation/admin-guide/kernel-parameters.txt                      |   53 
 include/linux/rcupdate_trace.h                                       |    4 
 kernel/rcu/Kconfig.debug                                             |   23 
 kernel/rcu/Makefile                                                  |    5 
 kernel/rcu/rcuperf.c                                                 |   25 
 kernel/rcu/refperf.c                                                 | 1037 ++++++++--
 kernel/rcu/refscale.c                                                |  182 -
 kernel/rcu/tasks.h                                                   |    9 
 tools/testing/selftests/rcutorture/bin/kvm-recheck-refperf.sh        |   73 
 tools/testing/selftests/rcutorture/bin/kvm-recheck-refscale.sh       |    8 
 tools/testing/selftests/rcutorture/bin/kvm.sh                        |   17 
 tools/testing/selftests/rcutorture/bin/parse-console.sh              |    8 
 tools/testing/selftests/rcutorture/configs/refperf/CFLIST            |    2 
 tools/testing/selftests/rcutorture/configs/refperf/CFcommon          |    4 
 tools/testing/selftests/rcutorture/configs/refperf/NOPREEMPT         |   18 
 tools/testing/selftests/rcutorture/configs/refperf/PREEMPT           |   18 
 tools/testing/selftests/rcutorture/configs/refperf/ver_functions.sh  |   20 
 tools/testing/selftests/rcutorture/configs/refscale/ver_functions.sh |    1 
 18 files changed, 1205 insertions(+), 302 deletions(-)

             reply index

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-23  0:29 Paul E. McKenney [this message]
2020-06-23  0:29 ` [PATCH tip/core/rcu 01/30] rcuperf: Remove useless while loops around wait_event paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 02/30] refperf: Add a test to measure performance of read-side synchronization paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 03/30] rcuperf: Add comments explaining the high reader overhead paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 04/30] torture: Add refperf to the rcutorture scripting paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 05/30] refperf: Add holdoff parameter to allow CPUs to come online paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 06/30] refperf: Hoist function-pointer calls out of the loop paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 07/30] refperf: Allow decimal nanoseconds paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 08/30] refperf: Convert nreaders to a module parameter paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 09/30] refperf: Provide module parameter to specify number of experiments paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 10/30] refperf: Dynamically allocate experiment-summary output buffer paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 11/30] refperf: Dynamically allocate thread-summary " paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 12/30] refperf: Make functions static paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 13/30] refperf: Tune reader measurement interval paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 14/30] refperf: Convert reader_task structure's "start" field to int paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 15/30] refperf: More closely synchronize reader start times paulmck
2020-06-23  0:29 ` [PATCH tip/core/rcu 16/30] refperf: Add warmup and cooldown processing phases paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 17/30] refperf: Label experiment-number column "Runs" paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 18/30] refperf: Output per-experiment data points paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 19/30] refperf: Simplify initialization-time wakeup protocol paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 20/30] refperf: Add read-side delay module parameter paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 21/30] refperf: Adjust refperf.loop default value paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 22/30] doc: Document rcuperf's module parameters paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 23/30] refperf: Work around 64-bit division paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 24/30] refperf: Change readdelay module parameter to nanoseconds paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 25/30] refperf: Add test for RCU Tasks Trace readers paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 26/30] refperf: Add test for RCU Tasks readers paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 27/30] rcu-tasks: Fix synchronize_rcu_tasks_trace() header comment paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 28/30] refperf: Rename RCU_REF_PERF_TEST to RCU_REF_SCALE_TEST paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 29/30] refperf: Rename refperf.c to refscale.c and change internal names paulmck
2020-06-23  0:30 ` [PATCH tip/core/rcu 30/30] refscale: Change --torture type from refperf to refscale paulmck

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=20200623002941.GA26089@paulmck-ThinkPad-P72 \
    --to=paulmck@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jiangshanlai@gmail.com \
    --cc=joel@joelfernandes.org \
    --cc=josh@joshtriplett.org \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rcu@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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

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
	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.git