From: "Paul E. McKenney" <paulmck@us.ibm.com>
To: Josh Triplett <josht@us.ibm.com>
Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
Dipankar Sarma <dipankar@in.ibm.com>
Subject: Re: [PATCH 2/4] rcu: Add rcu_sync torture type to rcutorture
Date: Thu, 31 Aug 2006 18:29:48 -0700 [thread overview]
Message-ID: <20060901012948.GE4927@us.ibm.com> (raw)
In-Reply-To: <1157065014.25808.7.camel@josh-work.beaverton.ibm.com>
On Thu, Aug 31, 2006 at 03:56:54PM -0700, Josh Triplett wrote:
> Use the newly-generic synchronous deferred free function to implement torture
> testing for RCU using synchronize_rcu rather than the asynchronous call_rcu.
Acked-by: Paul E. McKenney <paulmck@us.ibm.com>
> Signed-off-by: Josh Triplett <josh@freedesktop.org>
> ---
> Documentation/RCU/torture.txt | 7 ++++---
> kernel/rcutorture.c | 17 +++++++++++++++--
> 2 files changed, 19 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/RCU/torture.txt b/Documentation/RCU/torture.txt
> index 2180ef9..6714b53 100644
> --- a/Documentation/RCU/torture.txt
> +++ b/Documentation/RCU/torture.txt
> @@ -53,9 +53,10 @@ test_no_idle_hz Whether or not to test t
> a kernel that disables the scheduling-clock interrupt to
> idle CPUs. Boolean parameter, "1" to test, "0" otherwise.
>
> -torture_type The type of RCU to test: "rcu" for the rcu_read_lock()
> - API, "rcu_bh" for the rcu_read_lock_bh() API, and "srcu"
> - for the "srcu_read_lock()" API.
> +torture_type The type of RCU to test: "rcu" for the rcu_read_lock() API,
> + "rcu_sync" for rcu_read_lock() with synchronous reclamation,
> + "rcu_bh" for the rcu_read_lock_bh() API, and "srcu" for the
> + "srcu_read_lock()" API.
>
> verbose Enable debug printk()s. Default is disabled.
>
> diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
> index 6e2f0a8..1c329df 100644
> --- a/kernel/rcutorture.c
> +++ b/kernel/rcutorture.c
> @@ -58,7 +58,7 @@ static int stat_interval; /* Interval be
> static int verbose; /* Print more debug info. */
> static int test_no_idle_hz; /* Test RCU's support for tickless idle CPUs. */
> static int shuffle_interval = 5; /* Interval between shuffles (in sec)*/
> -static char *torture_type = "rcu"; /* What to torture: rcu, rcu_bh, srcu. */
> +static char *torture_type = "rcu"; /* What RCU implementation to torture. */
>
> module_param(nreaders, int, 0);
> MODULE_PARM_DESC(nreaders, "Number of RCU reader threads");
> @@ -297,6 +297,19 @@ static void rcu_sync_torture_init(void)
> INIT_LIST_HEAD(&rcu_torture_removed);
> }
>
> +static struct rcu_torture_ops rcu_sync_ops = {
> + .init = rcu_sync_torture_init,
> + .cleanup = NULL,
> + .readlock = rcu_torture_read_lock,
> + .readdelay = rcu_read_delay,
> + .readunlock = rcu_torture_read_unlock,
> + .completed = rcu_torture_completed,
> + .deferredfree = rcu_sync_torture_deferred_free,
> + .sync = synchronize_rcu,
> + .stats = NULL,
> + .name = "rcu_sync"
> +};
> +
> /*
> * Definitions for rcu_bh torture testing.
> */
> @@ -439,7 +452,7 @@ static struct rcu_torture_ops srcu_ops =
> };
>
> static struct rcu_torture_ops *torture_ops[] =
> - { &rcu_ops, &rcu_bh_ops, &srcu_ops, NULL };
> + { &rcu_ops, &rcu_sync_ops, &rcu_bh_ops, &srcu_ops, NULL };
>
> /*
> * RCU torture writer kthread. Repeatedly substitutes a new structure
> --
> 1.4.1.1
>
>
prev parent reply other threads:[~2006-09-01 1:29 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-31 22:56 [PATCH 2/4] rcu: Add rcu_sync torture type to rcutorture Josh Triplett
2006-09-01 1:29 ` Paul E. McKenney [this message]
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=20060901012948.GE4927@us.ibm.com \
--to=paulmck@us.ibm.com \
--cc=akpm@osdl.org \
--cc=dipankar@in.ibm.com \
--cc=josht@us.ibm.com \
--cc=linux-kernel@vger.kernel.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.