git log git bisect start git bisect good bebc6082da0a9f5d47a1ea2edc099bf671058bd4 (Linux 4.14.0 final) git bisect bad 894025f24bd028942da3e602b87d9f7223109b14 (Linux 4.15 alpha1 Mon Nov 13 21:14:07 2017 -0800) Output: Bisecting: 1128 revisions left to test after this (roughly 10 steps) [7d58e1c9059eefe0066c5acf2ffa582f6f0180e3] Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip git bisect bad Output: Bisecting: 559 revisions left to test after this (roughly 9 steps) [8e9a2dba8686187d8c8179e5b86640e653963889] Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip git bisect bad Output: Bisecting: 272 revisions left to test after this (roughly 8 steps) [dee02770cdcd8bc06a48c917ce5df2fb56cf6059] Merge tag 'mmc-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc git bisect good Output: Bisecting: 129 revisions left to test after this (roughly 7 steps) [d60a540ac5f2fbab3e6fe592717b445bd7343a91] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux git bisect good Output: Bisecting: 64 revisions left to test after this (roughly 6 steps) [7a10e2a9190628a4024ea394ce7bd641ae40ffd1] x86: Use lockdep to assert IRQs are disabled/enabled git bisect bad Output: Bisecting: 32 revisions left to test after this (roughly 5 steps) [eeafcc5a5925d0819dad462eac1d42fda5fbe36f] locking/atomics, firmware/ivc: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() git bisect bad Output: Bisecting: 15 revisions left to test after this (roughly 4 steps) [a4c1887d4c1462b0ec5a8989f8ba3cdd9057a299] locking/arch: Remove dummy arch_{read,spin,write}_lock_flags() implementations git bisect bad Output: Bisecting: 7 revisions left to test after this (roughly 3 steps) [c0905115a55c8a3011d7b7e6ee5d63653c1e99f1] locking/arch, ia64: Add __down_read_killable() git bisect good Output: Bisecting: 3 revisions left to test after this (roughly 2 steps) [0dc208b5d5feedc795cbf124539decd182c8e99e] locking/rwsem, fs: Use killable down_read() in iterate_dir() git bisect good Output: Bisecting: 1 revision left to test after this (roughly 1 step) [a8a217c22116eff6c120d753c9934089fb229af0] locking/core: Remove {read,spin,write}_can_lock() git bisect bad Output: Bisecting: 0 revisions left to test after this (roughly 0 steps) [26c4eb192c6224e5297496cead36404b62fb071b] locking/rwsem, security/apparmor: Replace homebrew use of write_can_lock() with lockdep git bisect good Output: a8a217c22116eff6c120d753c9934089fb229af0 is the first bad commit commit a8a217c22116eff6c120d753c9934089fb229af0 Author: Will Deacon Date: Tue Oct 3 19:25:27 2017 +0100 locking/core: Remove {read,spin,write}_can_lock() Outside of the locking code itself, {read,spin,write}_can_lock() have no users in tree. Apparmor (the last remaining user of write_can_lock()) got moved over to lockdep by the previous patch. This patch removes the use of {read,spin,write}_can_lock() from the BUILD_LOCK_OPS macro, deferring to the trylock operation for testing the lock status, and subsequently removes the unused macros altogether. They aren't guaranteed to work in a concurrent environment and can give incorrect results in the case of qrwlock. Signed-off-by: Will Deacon Signed-off-by: Peter Zijlstra (Intel) Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: paulmck@linux.vnet.ibm.com Link: http://lkml.kernel.org/r/1507055129-12300-2-git-send-email-will.deacon@arm.com Signed-off-by: Ingo Molnar :040000 040000 5b435422698e4cb10a69c8c5d63734785b4e1f3c 35093937ba487d8b5ecf773c38439f99801f4041 M arch :040000 040000 c3fa2d1fc41218e43a76eb6d97808de5be3a0355 6d4682dd193d79f868b28eca9714716ce3dbf7c9 M include :040000 040000 2ac2fb1e58edcf3f6f912ecf66431f8b0e6914b9 d7b7814b7b349e2f0fd7578b35726037294ea9b4 M kernel