All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
	josh@joshtriplett.org, niv@us.ibm.com, tglx@linutronix.de,
	peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com,
	edumazet@google.com, darren@dvhart.com, fweisbec@gmail.com,
	oleg@redhat.com, sbw@mit.edu
Subject: [PATCH tip/core/rcu 0/44] Torture-test changes for 3.16
Date: Mon, 28 Apr 2014 17:24:55 -0700	[thread overview]
Message-ID: <20140429002455.GA15461@linux.vnet.ibm.com> (raw)

Hello!

This series provides torture-test updates:

1.	Add forward-progress checking to distinguish between stalls in
	the RCU implementation and in the torture test itself.

2.	Remove the --builddir and --relbuilddir options, which have been
	obsoleted by the parallel testing facility.

3.	Make "--dryrun sched" output more readable by clearly indicating
	where each batch of concurrent runs starts.

4.	Make torture-test errors less RCU-specific.  ("Hey, why did
	my locktorture run complain about RCU???")

5,8-14.	Rename variables to reflect the new RCU-independence of a number
	of the torture-test scripts.

6.	Reduce locktorture sleeping to increase intensity.

7.	Add a --defconfig argument to allow other default configs to
	be specified.

15.	Make config-fragment filtering RCU-independent.

16.	Mark private functions as static in kernel/rcu/torture.c,
	courtesy of Rashika Kheria.

17-18.	Make the output of "--dryrun script" independently runnable.

19.	Print negative numbers when SRCU counters wrap instead of
	huge 64-bit integers.

20.	Fix "Stopping" torture messages.

21.	Report any diagnostics issued by qemu.

22.	Make kthreads spin during the last jiffy of a stutter period
	to increase the intensity of torture stop-start events.

23.	Permit multiple qemu and boot arguments to be specified on
	the command line.

24.	Choose bzImage location based on architecture.

25.	Add tracing-enabled variant of TREE02 to aid debugging.

26.	Dump the ftrace buffer when the RCU grace period stalls.

27.	Export the RCU grace-period kthread wait state to rcutorture
	to ease diagnosis of RCU grace-period stalls.

28.	Fix bug in raw_cpu_inc_return().

29.	Make cond_resched() report RCU quiescent states.

30.	Make rcu_torture_reader() use cond_resched() instead of
	unconditionally invoking schedule().

31.	Complain if an all-zero cpumask is specified during a torture
	shuffle operation, courtesy of Iulia Manda.

32.	Make build failures more evident.

33.	Capture and report the torture_create_kthread() return value when
	creating the rcu_torture_fqs kthread.

34.	Use elapsed time to detect hangs rather than counting "sleep 1"
	commands.

35.	Rearrange config fragments to ensure that RCU-sched primitives are
	tested in TREE_PREEMPT_RCU kernels.

36.	Add rcutorture tests for get_state_synchronize_rcu() and
	cond_synchronize_rcu().

37.	Add explicit tests for synchronous grace-period primitives.

38.	Add missing destroy_timer_on_stack(), courtesy of Thomas Gleixner.

39.	Make scripts record "git diff HEAD" to ease reproduction of
	an unexpected torture-test result.

40.	Run rcu_torture_writer() at normal priority.

41.	Put the qemu process into the background to better handle
	kernel hangs.

42.	Remove reference to a non-existent Kconfig parameter.

43.	Refuse to run multiple concurrent torture tests.

44.	Remove __init from torture_init_begin() and torture_init_end()
	to allow rcutorture to once again work as a loadable module.

45.	Remove unused torture_parm() macro.

							Thanx, Paul

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

 b/include/linux/percpu.h                                     |    2 
 b/include/linux/rcupdate.h                                   |   19 +
 b/include/linux/rcutiny.h                                    |    4 
 b/include/linux/rcutree.h                                    |    1 
 b/include/linux/torture.h                                    |    2 
 b/kernel/locking/locktorture.c                               |    3 
 b/kernel/rcu/rcutorture.c                                    |   37 ++
 b/kernel/rcu/tree.c                                          |   18 +
 b/kernel/rcu/tree.h                                          |    8 
 b/kernel/rcu/update.c                                        |   18 +
 b/kernel/sched/core.c                                        |    7 
 b/kernel/torture.c                                           |    5 
 b/tools/testing/selftests/rcutorture/bin/configinit.sh       |    2 
 b/tools/testing/selftests/rcutorture/bin/functions.sh        |   12 
 b/tools/testing/selftests/rcutorture/bin/kvm-build.sh        |    2 
 b/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh |    2 
 b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh  |    2 
 b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh      |    2 
 b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh   |    2 
 b/tools/testing/selftests/rcutorture/bin/kvm.sh              |   16 
 b/tools/testing/selftests/rcutorture/bin/parse-torture.sh    |  106 ++++++
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE02-T    |   25 +
 b/tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot |    1 
 include/linux/rcupdate.h                                     |   36 ++
 include/linux/torture.h                                      |    6 
 kernel/locking/locktorture.c                                 |    7 
 kernel/rcu/rcutorture.c                                      |  193 +++++++----
 kernel/rcu/tree.c                                            |   17 
 kernel/torture.c                                             |   36 +-
 tools/testing/selftests/rcutorture/bin/functions.sh          |   35 +
 tools/testing/selftests/rcutorture/bin/kvm-build.sh          |    4 
 tools/testing/selftests/rcutorture/bin/kvm-recheck.sh        |   24 +
 tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh     |   44 +-
 tools/testing/selftests/rcutorture/bin/kvm.sh                |  162 +++++----
 tools/testing/selftests/rcutorture/bin/parse-rcutorture.sh   |  106 ------
 35 files changed, 649 insertions(+), 317 deletions(-)


             reply	other threads:[~2014-04-29  0:25 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-29  0:24 Paul E. McKenney [this message]
2014-04-29  0:24 ` [PATCH tip/core/rcu 01/45] rcutorture: Add forward-progress checking for writer Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 02/45] torture: Remove obsolete builddir options Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 03/45] torture: Add batch headers "--dryrun sched" Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 04/45] torture: Make parse-rcutorture.sh less RCU-specific Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 05/45] torture: Rename RCU_INITRD to TORTURE_INITRD Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 06/45] torture: Intensify locking test Paul E. McKenney
2014-05-07 21:20     ` josh
2014-05-07 23:56       ` Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 07/45] torture: Allow variations of "defconfig" to be specified Paul E. McKenney
2014-05-07 21:22     ` josh
2014-05-07 23:52       ` Paul E. McKenney
2014-05-08  1:54         ` Josh Triplett
2014-05-08  2:43           ` Paul E. McKenney
2014-05-08  7:47             ` Josh Triplett
2014-04-29  0:24   ` [PATCH tip/core/rcu 08/45] torture: Rename RCU_KMAKE_ARG to TORTURE_KMAKE_ARG Paul E. McKenney
2014-05-07 21:23     ` josh
2014-05-13 19:00       ` Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 09/45] torture: Rename RCU_BOOTARGS to TORTURE_BOOTARGS Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 10/45] torture: Rename RCU_BUILDONLY to TORTURE_BUILDONLY Paul E. McKenney
2014-05-07 21:24     ` josh
2014-05-13 19:01       ` Paul E. McKenney
2014-04-29  0:24   ` [PATCH tip/core/rcu 11/45] torture: Rename RCU_QEMU_INTERACTIVE to TORTURE_QEMU_INTERACTIVE Paul E. McKenney
2014-05-07 21:26     ` josh
2014-05-07 23:59       ` Paul E. McKenney
2014-05-07 21:27     ` josh
2014-05-07 23:57       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 12/45] torture: Rename RCU_QEMU_MAC to TORTURE_QEMU_MAC Paul E. McKenney
2014-05-07 21:27     ` josh
2014-05-07 23:59       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 13/45] torture: Rename RCU_QEMU_ARG to TORTURE_QEMU_ARG Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 14/45] torture: Rename RCU_QEMU_CMD to TORTURE_QEMU_CMD Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 15/45] torture: Make config-fragment filtering RCU-independent Paul E. McKenney
2014-05-07 21:29     ` josh
2014-05-08  0:01       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 16/45] rcutorture: Mark function as static in kernel/rcu/torture.c Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 17/45] torture: Make "--dryrun script" output self-sufficient Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 18/45] torture: Make "--dryrun script" use same environment as normal run Paul E. McKenney
2014-05-07 21:33     ` josh
2014-05-08  0:07       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 19/45] rcutorture: Print negatives for SRCU counter wraparound Paul E. McKenney
2014-05-07 21:34     ` josh
2014-05-08  0:08       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 20/45] torture: Include "Stopping" string to torture_kthread_stopping() Paul E. McKenney
2014-05-07 21:37     ` josh
2014-05-10  0:13       ` Paul E. McKenney
2014-05-10  0:16         ` Josh Triplett
2014-05-10  0:42           ` Paul E. McKenney
2014-05-10  3:46             ` Josh Triplett
2014-05-13 19:05               ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 21/45] torture: Report diagnostics from qemu Paul E. McKenney
2014-05-07 21:59     ` josh
2014-05-13 23:03       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 22/45] torture: Increase stutter-end intensity Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 23/45] torture: Permit multi-word qemu and boot arguments Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 24/45] torture: Choose bzImage location based on architecture Paul E. McKenney
2014-05-07 22:02     ` josh
2014-05-10  0:31       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 25/45] torture: Add tracing-enabled variant of TREE02 Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 26/45] torture: Dump ftrace buffer when the RCU grace period stalls Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 27/45] rcutorture: Export RCU grace-period kthread wait state to rcutorture Paul E. McKenney
2014-05-07 22:05     ` josh
2014-05-10  0:37       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 28/45] percpu: Fix raw_cpu_inc_return() Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 29/45] sched,rcu: Make cond_resched() report RCU quiescent states Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 30/45] rcutorture: Make rcu_torture_reader() use cond_resched() Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 31/45] torture: Notice if an all-zero cpumask is passed inside a critical section Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 32/45] torture: Better summary diagnostics for build failures Paul E. McKenney
2014-05-07 22:11     ` josh
2014-05-10  0:48       ` Paul E. McKenney
2014-05-10 19:34         ` Josh Triplett
2014-05-13 19:25           ` Paul E. McKenney
2014-05-13 20:21             ` josh
2014-05-13 20:33               ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 33/45] rcutorture: Check for rcu_torture_fqs creation errors Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 34/45] torture: Use elapsed time to detect hangs Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 35/45] rcutorture: Test RCU-sched primitives in TREE_PREEMPT_RCU kernels Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 36/45] rcutorture: Add tests for get_state_synchronize_rcu() Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 37/45] rcutorture: Explicitly test synchronous grace-period primitives Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 38/45] rcutorture: Add missing destroy_timer_on_stack() Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 39/45] rcutorture: Note diffs from git commits Paul E. McKenney
2014-05-07 22:17     ` josh
2014-05-10  0:51       ` Paul E. McKenney
2014-05-10  5:19         ` Josh Triplett
2014-05-13 23:17           ` Paul E. McKenney
2014-05-13 23:39             ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 40/45] rcutorture: Run rcu_torture_writer at normal priority Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 41/45] torture: Put qemu into the background Paul E. McKenney
2014-05-07 22:18     ` josh
2014-05-13 17:44       ` Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 42/45] locktorture: Remove reference to nonexistent Kconfig parameter Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 43/45] torture: Check for multiple concurrent torture tests Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 44/45] torture: Remove __init from torture_init_begin/end Paul E. McKenney
2014-04-29  0:25   ` [PATCH tip/core/rcu 45/45] torture: Remove unused definition Paul E. McKenney
2014-05-07 21:16   ` [PATCH tip/core/rcu 01/45] rcutorture: Add forward-progress checking for writer josh
2014-05-07 23:43     ` Paul E. McKenney
2014-05-09 15:52       ` Josh Triplett
2014-05-09 17:36         ` Paul E. McKenney
2014-05-09 19:32           ` Josh Triplett
2014-05-09 22:30             ` Paul E. McKenney
2014-05-09 22:40               ` Josh Triplett
2014-05-09 22:55                 ` Paul E. McKenney
2014-05-10  0:14                   ` Josh Triplett
2014-05-10  0:31                     ` Paul E. McKenney
2014-05-13 18:27                     ` Paul E. McKenney
2014-05-07 22:32 ` [PATCH tip/core/rcu 0/44] Torture-test changes for 3.16 Josh Triplett

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=20140429002455.GA15461@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=darren@dvhart.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=niv@us.ibm.com \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=sbw@mit.edu \
    --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
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.