04 Oct, 2006

5 commits

  • Implement torture testing for the "sched" variant of RCU, which uses
    preempt_disable, preempt_enable, and synchronize_sched.

    Signed-off-by: Josh Triplett
    Acked-by: Paul E. McKenney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     
  • Use the newly-generic synchronous deferred free function to implement torture
    testing for rcu_bh using synchronize_rcu_bh rather than the asynchronous
    call_rcu_bh.

    Signed-off-by: Josh Triplett
    Acked-by: Paul E. McKenney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     
  • Use the newly-generic synchronous deferred free function to implement torture
    testing for RCU using synchronize_rcu rather than the asynchronous call_rcu.

    Signed-off-by: Josh Triplett
    Acked-by: Paul E. McKenney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     
  • rcutorture currently has one writer and an arbitrary number of readers. To
    better exercise some of the code paths in RCU implementations, add fake
    writer threads which call the synchronize function for the RCU variant in a
    loop, with a delay between calls to arrange for different numbers of
    writers running in parallel.

    [bunk@stusta.de: cleanup]
    Acked-by: Paul McKenney
    Cc: Dipkanar Sarma
    Signed-off-by: Josh Triplett
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     
  • Adds SRCU operations to rcutorture and updates rcutorture documentation.
    Also increases the stress imposed by the rcutorture test.

    [bunk@stusta.de: make needlessly global code static]
    Signed-off-by: Paul E. McKenney
    Cc: Paul E. McKenney
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul E. McKenney
     

28 Jun, 2006

2 commits


31 Oct, 2005

1 commit

  • This patch is a rewrite of the one submitted on October 1st, using modules
    (http://marc.theaimsgroup.com/?l=linux-kernel&m=112819093522998&w=2).

    This rewrite adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an
    intense torture test of the RCU infratructure. This is needed due to the
    continued changes to the RCU infrastructure to accommodate dynamic ticks,
    CPU hotplug, realtime, and so on. Most of the code is in a separate file
    that is compiled only if the CONFIG variable is set. Documentation on how
    to run the test and interpret the output is also included.

    This code has been tested on i386 and ppc64, and an earlier version of the
    code has received extensive testing on a number of architectures as part of
    the PREEMPT_RT patchset.

    Signed-off-by: "Paul E. McKenney"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul E. McKenney