[PATCH] rcutorture: tag success/failure line with module parameters
Paul E. McKenney [Fri, 24 Mar 2006 11:15:58 +0000 (03:15 -0800)]
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>

kernel/rcutorture.c

index 7712912..9a1fa88 100644 (file)
@@ -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)
 {
@@ -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
@@ -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. */