https://bugzilla.kernel.org/show_bug.cgi?id=203647
Bug ID: 203647
Summary: Locking API testsuite fails "mixed
read-lock/lock-write ABBA" rlock on kernels >=4.14.x
Product: Platform Specific/Hardware
Version: 2.5
Kernel Version: 5.1.3
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: PPC-64
Assignee: platform_ppc-64@kernel-bugs.osdl.org
Reporter: erhard_f@mailbox.org
Regression: No
Created attachment 282831
--> https://bugzilla.kernel.org/attachment.cgi?id=282831&action=edit
dmesg (5.1.3, G5 11,2)
Probably this test fails on ppc64 since it is around. Kernel 4.9.x passes all
tests, since it does not seem to contain "mixed read-lock/lock-write ABBA".
Machine is a PowerMac G5 11,2 running Gentoo Linux ppc64, Big Endian, 4 KiB
pagesize.
[ 0.002051] ------------------------
[ 0.002065] | Locking API testsuite:
[ 0.002079]
----------------------------------------------------------------------------
[ 0.002111] | spin |wlock |rlock |mutex |
wsem | rsem |
[ 0.002142]
--------------------------------------------------------------------------
[ 0.002179] A-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.007366] A-B-B-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.012471] A-B-B-C-C-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.017598] A-B-C-A-B-C deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.022740] A-B-B-C-C-D-D-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.027912] A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.033083] A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.038269] double unlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.043319] initialize held: ok | ok | ok | ok |
ok | ok | ok |
[ 0.048379]
--------------------------------------------------------------------------
[ 0.048411] recursive read-lock: | ok |
| ok |
[ 0.049894] recursive read-lock #2: | ok |
| ok |
[ 0.051375] mixed read-write-lock: | ok |
| ok |
[ 0.052859] mixed write-read-lock: | ok |
| ok |
[ 0.054333] mixed read-lock/lock-write ABBA: |FAILED|
| ok |
[ 0.055802] mixed read-lock/lock-read ABBA: | ok |
| ok |
[ 0.057290] mixed write-lock/lock-write ABBA: | ok |
| ok |
[ 0.058771]
--------------------------------------------------------------------------
--
You are receiving this mail because:
You are watching the assignee of the bug.
https://bugzilla.kernel.org/show_bug.cgi?id=203647
Michael Ellerman (michael@ellerman.id.au) changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |michael@ellerman.id.au
Resolution|--- |DOCUMENTED
--- Comment #6 from Michael Ellerman (michael@ellerman.id.au) ---
This appears to be working as expected, which I admit is a little confusing.
The key thing is that at the end you see, eg:
[ 0.179788] Good, all 261 testcases passed! |
See the commit that added the test:
https://git.kernel.org/torvalds/c/e91498589746
locking/lockdep/selftests: Add mixed read-write ABBA tests
Currently lockdep has limited support for recursive readers, add a few
mixed read-write ABBA selftests to show the extend of these
limitations.
And in the code:
print_testname("mixed read-lock/lock-write ABBA");
pr_cont(" |");
dotest(rlock_ABBA1, FAILURE, LOCKTYPE_RWLOCK);
#ifdef CONFIG_PROVE_LOCKING
/*
* Lockdep does indeed fail here, but there's nothing we can do about
* that now. Don't kill lockdep for it.
*/
unexpected_testcase_failures--;
#endif
--
You are receiving this mail because:
You are watching the assignee of the bug.
--- Comment #7 from Anatoly Pugachev (matorola@gmail.com) ---
it's the same for sparc64:
`
[ 0.000020] PROMLIB: Sun IEEE Boot Prom 'OBP 4.38.12 2018/03/28 14:54'
[ 0.000032] PROMLIB: Root node compatible: sun4v
[ 0.000080] Linux version 5.2.0-10808-g9637d517347e (mator@ttip) (gcc
version 8.3.0 (Debian 8.3.0-7)) #1080 SMP Tue Jul 16 10:46:19 MSK 2019
[ 0.000386] printk: bootconsole [earlyprom0] enabled
[ 0.000441] ARCH: SUN4V
...
[ 0.451068] memory used by lock dependency info: 3855 kB
[ 0.451104] per task-struct memory footprint: 1920 bytes
[ 0.451140] ------------------------
[ 0.451167] | Locking API testsuite:
[ 0.451194]
----------------------------------------------------------------------------
[ 0.451244] | spin |wlock |rlock |mutex |
wsem | rsem |
[ 0.451294]
--------------------------------------------------------------------------
[ 0.451350] A-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.454281] A-B-B-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.457443] A-B-B-C-C-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.460744] A-B-C-A-B-C deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.464032] A-B-B-C-C-D-D-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.467545] A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.471009] A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.474475] double unlock: ok | ok | ok | ok |
ok | ok | ok |
[ 0.477425] initialize held: ok | ok | ok | ok |
ok | ok | ok |
[ 0.480301]
--------------------------------------------------------------------------
[ 0.480352] recursive read-lock: | ok |
| ok |
[ 0.481247] recursive read-lock #2: | ok |
| ok |
[ 0.482120] mixed read-write-lock: | ok |
| ok |
[ 0.482998] mixed write-read-lock: | ok |
| ok |
[ 0.483878] mixed read-lock/lock-write ABBA: |FAILED|
| ok |
[ 0.484755] mixed read-lock/lock-read ABBA: | ok |
| ok |
[ 0.485676] mixed write-lock/lock-write ABBA: | ok |
| ok |
[ 0.486597]
--------------------------------------------------------------------------
`
--
You are receiving this mail because:
You are watching the assignee of the bug.