Skip to content

Commit

Permalink
[PATCH] rcutorture: tag success/failure line with module parameters
Browse files Browse the repository at this point in the history
A long-running rcutorture test can overflow dmesg, so that the line
containing the module parameters is lost.  Although it is usually possible
to retrieve this information from the log files, it is much better to just
tag it onto the final success/failure line so that it may be easily found.
This patch does just that.

Signed-off-by: "Paul E. McKenney" <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Paul E. McKenney authored and Linus Torvalds committed Mar 24, 2006
1 parent cdb0452 commit 95c3832
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions kernel/rcutorture.c
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,16 @@ rcu_torture_shuffle(void *arg)
return 0;
}

static inline void
rcu_torture_print_module_parms(char *tag)
{
printk(KERN_ALERT TORTURE_FLAG "--- %s: nreaders=%d "
"stat_interval=%d verbose=%d test_no_idle_hz=%d "
"shuffle_interval = %d\n",
tag, nrealreaders, stat_interval, verbose, test_no_idle_hz,
shuffle_interval);
}

static void
rcu_torture_cleanup(void)
{
Expand Down Expand Up @@ -483,9 +493,10 @@ rcu_torture_cleanup(void)
rcu_barrier();

rcu_torture_stats_print(); /* -After- the stats thread is stopped! */
printk(KERN_ALERT TORTURE_FLAG
"--- End of test: %s\n",
atomic_read(&n_rcu_torture_error) == 0 ? "SUCCESS" : "FAILURE");
if (atomic_read(&n_rcu_torture_error))
rcu_torture_print_module_parms("End of test: FAILURE");
else
rcu_torture_print_module_parms("End of test: SUCCESS");
}

static int
Expand All @@ -501,11 +512,7 @@ rcu_torture_init(void)
nrealreaders = nreaders;
else
nrealreaders = 2 * num_online_cpus();
printk(KERN_ALERT TORTURE_FLAG "--- Start of test: nreaders=%d "
"stat_interval=%d verbose=%d test_no_idle_hz=%d "
"shuffle_interval = %d\n",
nrealreaders, stat_interval, verbose, test_no_idle_hz,
shuffle_interval);
rcu_torture_print_module_parms("Start of test");
fullstop = 0;

/* Set up the freelist. */
Expand Down

0 comments on commit 95c3832

Please sign in to comment.