]> git.baikalelectronics.ru Git - kernel.git/commit
tools/lib/lockdep: drop liblockdep
authorSasha Levin <sashal@kernel.org>
Fri, 12 Nov 2021 15:16:02 +0000 (10:16 -0500)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Nov 2021 19:07:17 +0000 (11:07 -0800)
commit1de3bdde3dfd0936eb61414b71d525d152eead1a
tree67a0bf0862f379884822698a8a104fb4bdbc77bf
parent5bd0acf447bbdcdc0d21374dd0c6ce591825d2c3
tools/lib/lockdep: drop liblockdep

TL;DR: While a tool like liblockdep is useful, it probably doesn't
belong within the kernel tree.

liblockdep attempts to reuse kernel code both directly (by directly
building the kernel's lockdep code) as well as indirectly (by using
sanitized headers). This makes liblockdep an integral part of the
kernel.

It also makes liblockdep quite unique: while other userspace code might
use sanitized headers, it generally doesn't attempt to use kernel code
directly which means that changes on the kernel side of things don't
affect (and break) it directly.

All our workflows and tooling around liblockdep don't support this
uniqueness. Changes that go into the kernel code aren't validated to not
break in-tree userspace code.

liblockdep ended up being very fragile, breaking over and over, to the
point that living in the same tree as the lockdep code lost most of it's
value.

liblockdep should continue living in an external tree, syncing with
the kernel often, in a controllable way.

Signed-off-by: Sasha Levin <sashal@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
39 files changed:
MAINTAINERS
tools/Makefile
tools/lib/lockdep/.gitignore [deleted file]
tools/lib/lockdep/Build [deleted file]
tools/lib/lockdep/Makefile [deleted file]
tools/lib/lockdep/common.c [deleted file]
tools/lib/lockdep/include/liblockdep/common.h [deleted file]
tools/lib/lockdep/include/liblockdep/mutex.h [deleted file]
tools/lib/lockdep/include/liblockdep/rwlock.h [deleted file]
tools/lib/lockdep/lockdep [deleted file]
tools/lib/lockdep/lockdep.c [deleted file]
tools/lib/lockdep/lockdep_internals.h [deleted file]
tools/lib/lockdep/lockdep_states.h [deleted file]
tools/lib/lockdep/preload.c [deleted file]
tools/lib/lockdep/rbtree.c [deleted file]
tools/lib/lockdep/run_tests.sh [deleted file]
tools/lib/lockdep/tests/AA.c [deleted file]
tools/lib/lockdep/tests/AA.sh [deleted file]
tools/lib/lockdep/tests/ABA.c [deleted file]
tools/lib/lockdep/tests/ABA.sh [deleted file]
tools/lib/lockdep/tests/ABBA.c [deleted file]
tools/lib/lockdep/tests/ABBA.sh [deleted file]
tools/lib/lockdep/tests/ABBA_2threads.c [deleted file]
tools/lib/lockdep/tests/ABBA_2threads.sh [deleted file]
tools/lib/lockdep/tests/ABBCCA.c [deleted file]
tools/lib/lockdep/tests/ABBCCA.sh [deleted file]
tools/lib/lockdep/tests/ABBCCDDA.c [deleted file]
tools/lib/lockdep/tests/ABBCCDDA.sh [deleted file]
tools/lib/lockdep/tests/ABCABC.c [deleted file]
tools/lib/lockdep/tests/ABCABC.sh [deleted file]
tools/lib/lockdep/tests/ABCDBCDA.c [deleted file]
tools/lib/lockdep/tests/ABCDBCDA.sh [deleted file]
tools/lib/lockdep/tests/ABCDBDDA.c [deleted file]
tools/lib/lockdep/tests/ABCDBDDA.sh [deleted file]
tools/lib/lockdep/tests/WW.c [deleted file]
tools/lib/lockdep/tests/WW.sh [deleted file]
tools/lib/lockdep/tests/common.h [deleted file]
tools/lib/lockdep/tests/unlock_balance.c [deleted file]
tools/lib/lockdep/tests/unlock_balance.sh [deleted file]