diff options
author | Paul E. McKenney <paulmck@us.ibm.com> | 2006-03-24 06:15:58 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-24 10:33:22 -0500 |
commit | 95c3832272fc77ea3e31f6382f82ba17be985cc7 (patch) | |
tree | 7a8ac960b4abec39004927443d2d1464112b805d /kernel | |
parent | cdb0452789d365695b5b173542af9c7e3d24f185 (diff) |
[PATCH] rcutorture: tag success/failure line with module parameters
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>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/rcutorture.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c index 7712912dbc84..9a1fa8894b95 100644 --- a/kernel/rcutorture.c +++ b/kernel/rcutorture.c | |||
@@ -441,6 +441,16 @@ rcu_torture_shuffle(void *arg) | |||
441 | return 0; | 441 | return 0; |
442 | } | 442 | } |
443 | 443 | ||
444 | static inline void | ||
445 | rcu_torture_print_module_parms(char *tag) | ||
446 | { | ||
447 | printk(KERN_ALERT TORTURE_FLAG "--- %s: nreaders=%d " | ||
448 | "stat_interval=%d verbose=%d test_no_idle_hz=%d " | ||
449 | "shuffle_interval = %d\n", | ||
450 | tag, nrealreaders, stat_interval, verbose, test_no_idle_hz, | ||
451 | shuffle_interval); | ||
452 | } | ||
453 | |||
444 | static void | 454 | static void |
445 | rcu_torture_cleanup(void) | 455 | rcu_torture_cleanup(void) |
446 | { | 456 | { |
@@ -483,9 +493,10 @@ rcu_torture_cleanup(void) | |||
483 | rcu_barrier(); | 493 | rcu_barrier(); |
484 | 494 | ||
485 | rcu_torture_stats_print(); /* -After- the stats thread is stopped! */ | 495 | rcu_torture_stats_print(); /* -After- the stats thread is stopped! */ |
486 | printk(KERN_ALERT TORTURE_FLAG | 496 | if (atomic_read(&n_rcu_torture_error)) |
487 | "--- End of test: %s\n", | 497 | rcu_torture_print_module_parms("End of test: FAILURE"); |
488 | atomic_read(&n_rcu_torture_error) == 0 ? "SUCCESS" : "FAILURE"); | 498 | else |
499 | rcu_torture_print_module_parms("End of test: SUCCESS"); | ||
489 | } | 500 | } |
490 | 501 | ||
491 | static int | 502 | static int |
@@ -501,11 +512,7 @@ rcu_torture_init(void) | |||
501 | nrealreaders = nreaders; | 512 | nrealreaders = nreaders; |
502 | else | 513 | else |
503 | nrealreaders = 2 * num_online_cpus(); | 514 | nrealreaders = 2 * num_online_cpus(); |
504 | printk(KERN_ALERT TORTURE_FLAG "--- Start of test: nreaders=%d " | 515 | rcu_torture_print_module_parms("Start of test"); |
505 | "stat_interval=%d verbose=%d test_no_idle_hz=%d " | ||
506 | "shuffle_interval = %d\n", | ||
507 | nrealreaders, stat_interval, verbose, test_no_idle_hz, | ||
508 | shuffle_interval); | ||
509 | fullstop = 0; | 516 | fullstop = 0; |
510 | 517 | ||
511 | /* Set up the freelist. */ | 518 | /* Set up the freelist. */ |