lkml.org 
[lkml]   [2009]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH RFC tip/core/rcu 3/3] rcu: add synchronize_srcu_expedited() to the rcutorture test suite
    Date
    From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

    Adds the "srcu_expedited" torture type, and also renames sched_ops_sync
    to sched_sync_ops for consistency while we are in this file.

    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    ---
    kernel/rcutorture.c | 25 ++++++++++++++++++++++---
    1 files changed, 22 insertions(+), 3 deletions(-)

    diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
    index 697c0a0..14480e8 100644
    --- a/kernel/rcutorture.c
    +++ b/kernel/rcutorture.c
    @@ -547,6 +547,25 @@ static struct rcu_torture_ops srcu_ops = {
    .name = "srcu"
    };

    +static void srcu_torture_synchronize_expedited(void)
    +{
    + synchronize_srcu_expedited(&srcu_ctl);
    +}
    +
    +static struct rcu_torture_ops srcu_expedited_ops = {
    + .init = srcu_torture_init,
    + .cleanup = srcu_torture_cleanup,
    + .readlock = srcu_torture_read_lock,
    + .read_delay = srcu_read_delay,
    + .readunlock = srcu_torture_read_unlock,
    + .completed = srcu_torture_completed,
    + .deferred_free = rcu_sync_torture_deferred_free,
    + .sync = srcu_torture_synchronize_expedited,
    + .cb_barrier = NULL,
    + .stats = srcu_torture_stats,
    + .name = "srcu_expedited"
    +};
    +
    /*
    * Definitions for sched torture testing.
    */
    @@ -592,7 +611,7 @@ static struct rcu_torture_ops sched_ops = {
    .name = "sched"
    };

    -static struct rcu_torture_ops sched_ops_sync = {
    +static struct rcu_torture_ops sched_sync_ops = {
    .init = rcu_sync_torture_init,
    .cleanup = NULL,
    .readlock = sched_torture_read_lock,
    @@ -1098,8 +1117,8 @@ rcu_torture_init(void)
    int firsterr = 0;
    static struct rcu_torture_ops *torture_ops[] =
    { &rcu_ops, &rcu_sync_ops, &rcu_bh_ops, &rcu_bh_sync_ops,
    - &sched_expedited_ops,
    - &srcu_ops, &sched_ops, &sched_ops_sync, };
    + &srcu_ops, &srcu_expedited_ops,
    + &sched_ops, &sched_sync_ops, &sched_expedited_ops, };

    mutex_lock(&fullstop_mutex);

    --
    1.5.2.5


    \
     
     \ /
      Last update: 2009-10-10 00:59    [W:3.580 / U:0.588 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site