Skip to content

Commit 2513940

Browse files
mpeingomolnar
authored andcommitted
locking/selftest: Fix output since KERN_CONT changes
Since the KERN_CONT changes the locking-selftest output is messed up, eg: ---------------------------------------------------------------------------- | spin |wlock |rlock |mutex | wsem | rsem | -------------------------------------------------------------------------- A-A deadlock: ok | ok | ok | ok | ok | ok | Use pr_cont() to get it looking normal again: ---------------------------------------------------------------------------- | spin |wlock |rlock |mutex | wsem | rsem | -------------------------------------------------------------------------- A-A deadlock: ok | ok | ok | ok | ok | ok | Reported-by: Christian Kujau <lists@nerdbynature.de> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linuxppc-dev@ozlabs.org Link: http://lkml.kernel.org/r/1480027528-934-1-git-send-email-mpe@ellerman.id.au Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 10b9dd5 commit 2513940

1 file changed

Lines changed: 33 additions & 33 deletions

File tree

lib/locking-selftest.c

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -980,23 +980,23 @@ static void dotest(void (*testcase_fn)(void), int expected, int lockclass_mask)
980980
#ifndef CONFIG_PROVE_LOCKING
981981
if (expected == FAILURE && debug_locks) {
982982
expected_testcase_failures++;
983-
printk("failed|");
983+
pr_cont("failed|");
984984
}
985985
else
986986
#endif
987987
if (debug_locks != expected) {
988988
unexpected_testcase_failures++;
989-
printk("FAILED|");
989+
pr_cont("FAILED|");
990990

991991
dump_stack();
992992
} else {
993993
testcase_successes++;
994-
printk(" ok |");
994+
pr_cont(" ok |");
995995
}
996996
testcase_total++;
997997

998998
if (debug_locks_verbose)
999-
printk(" lockclass mask: %x, debug_locks: %d, expected: %d\n",
999+
pr_cont(" lockclass mask: %x, debug_locks: %d, expected: %d\n",
10001000
lockclass_mask, debug_locks, expected);
10011001
/*
10021002
* Some tests (e.g. double-unlock) might corrupt the preemption
@@ -1021,26 +1021,26 @@ static inline void print_testname(const char *testname)
10211021
#define DO_TESTCASE_1(desc, name, nr) \
10221022
print_testname(desc"/"#nr); \
10231023
dotest(name##_##nr, SUCCESS, LOCKTYPE_RWLOCK); \
1024-
printk("\n");
1024+
pr_cont("\n");
10251025

10261026
#define DO_TESTCASE_1B(desc, name, nr) \
10271027
print_testname(desc"/"#nr); \
10281028
dotest(name##_##nr, FAILURE, LOCKTYPE_RWLOCK); \
1029-
printk("\n");
1029+
pr_cont("\n");
10301030

10311031
#define DO_TESTCASE_3(desc, name, nr) \
10321032
print_testname(desc"/"#nr); \
10331033
dotest(name##_spin_##nr, FAILURE, LOCKTYPE_SPIN); \
10341034
dotest(name##_wlock_##nr, FAILURE, LOCKTYPE_RWLOCK); \
10351035
dotest(name##_rlock_##nr, SUCCESS, LOCKTYPE_RWLOCK); \
1036-
printk("\n");
1036+
pr_cont("\n");
10371037

10381038
#define DO_TESTCASE_3RW(desc, name, nr) \
10391039
print_testname(desc"/"#nr); \
10401040
dotest(name##_spin_##nr, FAILURE, LOCKTYPE_SPIN|LOCKTYPE_RWLOCK);\
10411041
dotest(name##_wlock_##nr, FAILURE, LOCKTYPE_RWLOCK); \
10421042
dotest(name##_rlock_##nr, SUCCESS, LOCKTYPE_RWLOCK); \
1043-
printk("\n");
1043+
pr_cont("\n");
10441044

10451045
#define DO_TESTCASE_6(desc, name) \
10461046
print_testname(desc); \
@@ -1050,7 +1050,7 @@ static inline void print_testname(const char *testname)
10501050
dotest(name##_mutex, FAILURE, LOCKTYPE_MUTEX); \
10511051
dotest(name##_wsem, FAILURE, LOCKTYPE_RWSEM); \
10521052
dotest(name##_rsem, FAILURE, LOCKTYPE_RWSEM); \
1053-
printk("\n");
1053+
pr_cont("\n");
10541054

10551055
#define DO_TESTCASE_6_SUCCESS(desc, name) \
10561056
print_testname(desc); \
@@ -1060,7 +1060,7 @@ static inline void print_testname(const char *testname)
10601060
dotest(name##_mutex, SUCCESS, LOCKTYPE_MUTEX); \
10611061
dotest(name##_wsem, SUCCESS, LOCKTYPE_RWSEM); \
10621062
dotest(name##_rsem, SUCCESS, LOCKTYPE_RWSEM); \
1063-
printk("\n");
1063+
pr_cont("\n");
10641064

10651065
/*
10661066
* 'read' variant: rlocks must not trigger.
@@ -1073,7 +1073,7 @@ static inline void print_testname(const char *testname)
10731073
dotest(name##_mutex, FAILURE, LOCKTYPE_MUTEX); \
10741074
dotest(name##_wsem, FAILURE, LOCKTYPE_RWSEM); \
10751075
dotest(name##_rsem, FAILURE, LOCKTYPE_RWSEM); \
1076-
printk("\n");
1076+
pr_cont("\n");
10771077

10781078
#define DO_TESTCASE_2I(desc, name, nr) \
10791079
DO_TESTCASE_1("hard-"desc, name##_hard, nr); \
@@ -1726,25 +1726,25 @@ static void ww_tests(void)
17261726
dotest(ww_test_fail_acquire, SUCCESS, LOCKTYPE_WW);
17271727
dotest(ww_test_normal, SUCCESS, LOCKTYPE_WW);
17281728
dotest(ww_test_unneeded_slow, FAILURE, LOCKTYPE_WW);
1729-
printk("\n");
1729+
pr_cont("\n");
17301730

17311731
print_testname("ww contexts mixing");
17321732
dotest(ww_test_two_contexts, FAILURE, LOCKTYPE_WW);
17331733
dotest(ww_test_diff_class, FAILURE, LOCKTYPE_WW);
1734-
printk("\n");
1734+
pr_cont("\n");
17351735

17361736
print_testname("finishing ww context");
17371737
dotest(ww_test_context_done_twice, FAILURE, LOCKTYPE_WW);
17381738
dotest(ww_test_context_unlock_twice, FAILURE, LOCKTYPE_WW);
17391739
dotest(ww_test_context_fini_early, FAILURE, LOCKTYPE_WW);
17401740
dotest(ww_test_context_lock_after_done, FAILURE, LOCKTYPE_WW);
1741-
printk("\n");
1741+
pr_cont("\n");
17421742

17431743
print_testname("locking mismatches");
17441744
dotest(ww_test_object_unlock_twice, FAILURE, LOCKTYPE_WW);
17451745
dotest(ww_test_object_lock_unbalanced, FAILURE, LOCKTYPE_WW);
17461746
dotest(ww_test_object_lock_stale_context, FAILURE, LOCKTYPE_WW);
1747-
printk("\n");
1747+
pr_cont("\n");
17481748

17491749
print_testname("EDEADLK handling");
17501750
dotest(ww_test_edeadlk_normal, SUCCESS, LOCKTYPE_WW);
@@ -1757,11 +1757,11 @@ static void ww_tests(void)
17571757
dotest(ww_test_edeadlk_acquire_more_edeadlk_slow, FAILURE, LOCKTYPE_WW);
17581758
dotest(ww_test_edeadlk_acquire_wrong, FAILURE, LOCKTYPE_WW);
17591759
dotest(ww_test_edeadlk_acquire_wrong_slow, FAILURE, LOCKTYPE_WW);
1760-
printk("\n");
1760+
pr_cont("\n");
17611761

17621762
print_testname("spinlock nest unlocked");
17631763
dotest(ww_test_spin_nest_unlocked, FAILURE, LOCKTYPE_WW);
1764-
printk("\n");
1764+
pr_cont("\n");
17651765

17661766
printk(" -----------------------------------------------------\n");
17671767
printk(" |block | try |context|\n");
@@ -1771,25 +1771,25 @@ static void ww_tests(void)
17711771
dotest(ww_test_context_block, FAILURE, LOCKTYPE_WW);
17721772
dotest(ww_test_context_try, SUCCESS, LOCKTYPE_WW);
17731773
dotest(ww_test_context_context, SUCCESS, LOCKTYPE_WW);
1774-
printk("\n");
1774+
pr_cont("\n");
17751775

17761776
print_testname("try");
17771777
dotest(ww_test_try_block, FAILURE, LOCKTYPE_WW);
17781778
dotest(ww_test_try_try, SUCCESS, LOCKTYPE_WW);
17791779
dotest(ww_test_try_context, FAILURE, LOCKTYPE_WW);
1780-
printk("\n");
1780+
pr_cont("\n");
17811781

17821782
print_testname("block");
17831783
dotest(ww_test_block_block, FAILURE, LOCKTYPE_WW);
17841784
dotest(ww_test_block_try, SUCCESS, LOCKTYPE_WW);
17851785
dotest(ww_test_block_context, FAILURE, LOCKTYPE_WW);
1786-
printk("\n");
1786+
pr_cont("\n");
17871787

17881788
print_testname("spinlock");
17891789
dotest(ww_test_spin_block, FAILURE, LOCKTYPE_WW);
17901790
dotest(ww_test_spin_try, SUCCESS, LOCKTYPE_WW);
17911791
dotest(ww_test_spin_context, FAILURE, LOCKTYPE_WW);
1792-
printk("\n");
1792+
pr_cont("\n");
17931793
}
17941794

17951795
void locking_selftest(void)
@@ -1829,32 +1829,32 @@ void locking_selftest(void)
18291829

18301830
printk(" --------------------------------------------------------------------------\n");
18311831
print_testname("recursive read-lock");
1832-
printk(" |");
1832+
pr_cont(" |");
18331833
dotest(rlock_AA1, SUCCESS, LOCKTYPE_RWLOCK);
1834-
printk(" |");
1834+
pr_cont(" |");
18351835
dotest(rsem_AA1, FAILURE, LOCKTYPE_RWSEM);
1836-
printk("\n");
1836+
pr_cont("\n");
18371837

18381838
print_testname("recursive read-lock #2");
1839-
printk(" |");
1839+
pr_cont(" |");
18401840
dotest(rlock_AA1B, SUCCESS, LOCKTYPE_RWLOCK);
1841-
printk(" |");
1841+
pr_cont(" |");
18421842
dotest(rsem_AA1B, FAILURE, LOCKTYPE_RWSEM);
1843-
printk("\n");
1843+
pr_cont("\n");
18441844

18451845
print_testname("mixed read-write-lock");
1846-
printk(" |");
1846+
pr_cont(" |");
18471847
dotest(rlock_AA2, FAILURE, LOCKTYPE_RWLOCK);
1848-
printk(" |");
1848+
pr_cont(" |");
18491849
dotest(rsem_AA2, FAILURE, LOCKTYPE_RWSEM);
1850-
printk("\n");
1850+
pr_cont("\n");
18511851

18521852
print_testname("mixed write-read-lock");
1853-
printk(" |");
1853+
pr_cont(" |");
18541854
dotest(rlock_AA3, FAILURE, LOCKTYPE_RWLOCK);
1855-
printk(" |");
1855+
pr_cont(" |");
18561856
dotest(rsem_AA3, FAILURE, LOCKTYPE_RWSEM);
1857-
printk("\n");
1857+
pr_cont("\n");
18581858

18591859
printk(" --------------------------------------------------------------------------\n");
18601860

0 commit comments

Comments
 (0)