git checkout 816434ec4a674fcdb3c2221a6dffdc8f34020550 Previous HEAD position was fb869b6... sched/wait: Clean up wait.h details a bit HEAD is now at 816434e... Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:816434ec4a674fcdb3c2221a6dffdc8f34020550:bisect-net 2013-10-08-22:59:16 816434ec4a674fcdb3c2221a6dffdc8f34020550 compiling 478 real 659 user 68 sys 152.06% cpu i386-randconfig-r8-1005 2013-10-08-23:09:27 detecting boot state 3.11.0-03120-g816434e.. 20 25 SUCCESS bisect: good commit 816434ec4a674fcdb3c2221a6dffdc8f34020550 git bisect start fb869b6e91a3ac235f237f73305ecf34cdc4969b 816434ec4a674fcdb3c2221a6dffdc8f34020550 -- Previous HEAD position was 816434e... Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Switched to branch 'master' Your branch is behind 'origin/master' by 41213 commits, and can be fast-forwarded. (use "git pull" to update your local branch) Bisecting: 3493 revisions left to test after this (roughly 12 steps) [39eda2aba6be642b71f2e0ad623dcb09fd9d79cf] Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc git bisect run /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:39eda2aba6be642b71f2e0ad623dcb09fd9d79cf:bisect-net 2013-10-08-23:11:54 39eda2aba6be642b71f2e0ad623dcb09fd9d79cf compiling 520 real 660 user 71 sys 140.77% cpu i386-randconfig-r8-1005 2013-10-08-23:24:37 detecting boot state 3.11.0-06739-g39eda2a.. 6 24...... 25 SUCCESS Bisecting: 1768 revisions left to test after this (roughly 11 steps) [f3ad857e3da1abaea780dc892b592cd86c541c52] net_sched: htb: fix a typo in htb_change_class() running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:f3ad857e3da1abaea780dc892b592cd86c541c52:bisect-net 2013-10-08-23:30:09 f3ad857e3da1abaea780dc892b592cd86c541c52 compiling 207 real 648 user 66 sys 345.18% cpu i386-randconfig-r8-1005 2013-10-08-23:34:11 detecting boot state 3.11.0-08464-gf3ad857.. 8 23 24 25 SUCCESS Bisecting: 884 revisions left to test after this (roughly 10 steps) [7c993e11aa59d9d1cefbd6acc8d84f2d8d46545a] rbtree: allow tests to run as builtin running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:7c993e11aa59d9d1cefbd6acc8d84f2d8d46545a:bisect-net 2013-10-08-23:37:14 7c993e11aa59d9d1cefbd6acc8d84f2d8d46545a compiling 102 real 653 user 65 sys 702.04% cpu i386-randconfig-r8-1005 2013-10-08-23:39:18 detecting boot state 3.11.0-09317-g7c993e1.. 10 15 20 23 25 SUCCESS Bisecting: 454 revisions left to test after this (roughly 9 steps) [3cc69b638e11bfda5d013c2b75b60934aa0e88a1] Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:3cc69b638e11bfda5d013c2b75b60934aa0e88a1:bisect-net 2013-10-08-23:42:51 3cc69b638e11bfda5d013c2b75b60934aa0e88a1 compiling 214 real 653 user 67 sys 335.30% cpu i386-randconfig-r8-1005 2013-10-08-23:47:03 detecting boot state 3.11.0-09778-g3cc69b6... 23 24 25 SUCCESS Bisecting: 227 revisions left to test after this (roughly 8 steps) [183c420323a9e45af0d995d7cbf416221698cbe4] Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:183c420323a9e45af0d995d7cbf416221698cbe4:bisect-net 2013-10-08-23:50:04 183c420323a9e45af0d995d7cbf416221698cbe4 compiling 93 real 584 user 57 sys 684.93% cpu i386-randconfig-r8-1005 2013-10-08-23:52:21 detecting boot state 3.11.0-10005-g183c420.. 23 24.. 25 SUCCESS Bisecting: 107 revisions left to test after this (roughly 7 steps) [cd619e21ea468b02af9eeed75eae2307ec7de1cb] Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:cd619e21ea468b02af9eeed75eae2307ec7de1cb:bisect-net 2013-10-08-23:55:52 cd619e21ea468b02af9eeed75eae2307ec7de1cb compiling 95 real 628 user 63 sys 722.96% cpu i386-randconfig-r8-1005 2013-10-08-23:58:15 detecting boot state 3.11.0-10125-gcd619e2... 15 21 25 SUCCESS Bisecting: 52 revisions left to test after this (roughly 6 steps) [62d228b8c676232eca579f91cc0782b060a59097] Merge branch 'fixes' of git://git.kernel.org/pub/scm/virt/kvm/kvm running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:62d228b8c676232eca579f91cc0782b060a59097:bisect-net 2013-10-09-00:01:16 62d228b8c676232eca579f91cc0782b060a59097 compiling 28 real 81 user 17 sys 347.25% cpu i386-randconfig-r8-1005 2013-10-09-00:01:58 detecting boot state 3.12.0-rc1-00027-g62d228b.. 16 25 SUCCESS Bisecting: 26 revisions left to test after this (roughly 5 steps) [ea8117478918a4734586d35ff530721b682425be] sched, idle: Fix the idle polling state logic running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:ea8117478918a4734586d35ff530721b682425be:bisect-net 2013-10-09-00:03:58 ea8117478918a4734586d35ff530721b682425be compiling 103 real 658 user 67 sys 697.86% cpu i386-randconfig-r8-1005 2013-10-09-00:05:57 detecting boot state 3.12.0-rc1-00053-gea81174. TEST FAILURE mount: mounting proc on /proc failed: No such device [ 0.787263] BUG: unable to handle kernel NULL pointer dereference at (null) [ 0.788429] IP: [] __fput+0x50/0x380 [ 0.789123] *pdpt = 0000000000000000 *pde = f000ff53f000ff53 [ 0.789491] Oops: 0000 [#1] DEBUG_PAGEALLOC [ 0.789491] Modules linked in: [ 0.789491] CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 3.12.0-rc1-00053-gea81174 #386 [ 0.789491] Workqueue: events delayed_fput [ 0.789491] task: c0035f90 ti: ce866000 task.ti: ce866000 [ 0.789491] EIP: 0060:[] EFLAGS: 00010212 CPU: 0 [ 0.789491] EIP is at __fput+0x50/0x380 [ 0.789491] EAX: 00000000 EBX: cd0e3600 ECX: 00000000 EDX: 0000001d [ 0.789491] ESI: 00000010 EDI: 00000000 EBP: ce867e98 ESP: ce867e70 [ 0.789491] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 [ 0.789491] CR0: 8005003b CR2: 00000000 CR3: 0d10a000 CR4: 000006b0 [ 0.789491] Stack: [ 0.789491] 00000246 00000000 00000002 00000000 00000000 00000000 00000000 00000000 [ 0.789491] 00000000 c0124540 ce867ea4 c110a879 c148d640 ce867efc c1048fb9 00000000 [ 0.789491] 00000002 00000000 c1048f81 00000000 00000000 00000000 0019ec77 c0083400 [ 0.789491] Call Trace: [ 0.789491] [] delayed_fput+0x29/0x30 [ 0.789491] [] process_one_work+0x2f9/0x650 [ 0.789491] [] ? process_one_work+0x2c1/0x650 [ 0.789491] [] worker_thread+0x28f/0x610 [ 0.789491] [] ? cancel_delayed_work_sync+0x20/0x20 [ 0.789491] [] kthread+0x92/0xa0 [ 0.789491] [] ret_from_kernel_thread+0x1b/0x30 [ 0.789491] [] ? kthread_create_on_node+0xd0/0xd0 [ 0.789491] Code: 00 b8 0d 5f 41 c1 e8 00 fe f4 ff e8 8b b1 1f 00 8b 43 10 89 c1 89 45 e8 8b 53 40 89 d0 83 e0 02 83 f8 01 19 f6 83 e6 08 83 c6 08 <8b> 01 25 00 f0 ff ff 66 3d 00 40 0f 84 2f 02 00 00 81 e2 00 00 [ 0.789491] EIP: [] __fput+0x50/0x380 SS:ESP 0068:ce867e70 [ 0.789491] CR2: 0000000000000000 [ 0.816662] ---[ end trace 334f75f008e45dc1 ]--- [ 0.822825] Kernel panic - not syncing: CRED: put_cred_rcu() sees cd0c6c80 with usage -1 /kernel/i386-randconfig-r8-1005/ea8117478918a4734586d35ff530721b682425be/dmesg-yocto-xian-13:20131009000609:i386-randconfig-r8-1005:3.12.0-rc1-00053-gea81174:386 /kernel/i386-randconfig-r8-1005/ea8117478918a4734586d35ff530721b682425be/dmesg-yocto-stoakley-1:20131009000612:i386-randconfig-r8-1005:3.12.0-rc1-00053-gea81174:386 /kernel/i386-randconfig-r8-1005/ea8117478918a4734586d35ff530721b682425be/dmesg-yocto-xian-26:20131009000612:i386-randconfig-r8-1005:3.12.0-rc1-00053-gea81174:386 /kernel/i386-randconfig-r8-1005/ea8117478918a4734586d35ff530721b682425be/dmesg-yocto-cairo-31:20131009000616:i386-randconfig-r8-1005:3.12.0-rc1-00053-gea81174:386 /kernel/i386-randconfig-r8-1005/ea8117478918a4734586d35ff530721b682425be/dmesg-yocto-waimea-8:20131009080302:i386-randconfig-r8-1005:3.12.0-rc1-00053-gea81174:386 /kernel/i386-randconfig-r8-1005/ea8117478918a4734586d35ff530721b682425be/dmesg-yocto-xian-42:20131009000619:i386-randconfig-r8-1005:3.12.0-rc1-00053-gea81174:386 0:6:6 all_good:bad:all_bad boots Bisecting: 14 revisions left to test after this (roughly 4 steps) [7e3115ef5149fc502e3a2e80719dba54a8e7409d] sched/balancing: Fix cfs_rq->task_h_load calculation running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:7e3115ef5149fc502e3a2e80719dba54a8e7409d:bisect-net 2013-10-09-00:06:29 7e3115ef5149fc502e3a2e80719dba54a8e7409d compiling 108 real 654 user 66 sys 666.04% cpu i386-randconfig-r8-1005 2013-10-09-00:08:30 detecting boot state 3.12.0-rc1-00038-g7e3115e.. 20 25 SUCCESS Bisecting: 7 revisions left to test after this (roughly 3 steps) [7aff2e3a56b724b79fa2d5abd10d8231ef8fb0c5] sched/balancing: Prevent the reselection of a previous env.dst_cpu if some tasks are pinned running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:7aff2e3a56b724b79fa2d5abd10d8231ef8fb0c5:bisect-net 2013-10-09-00:10:31 7aff2e3a56b724b79fa2d5abd10d8231ef8fb0c5 compiling 29 real 79 user 16 sys 319.95% cpu i386-randconfig-r8-1005 2013-10-09-00:11:15 detecting boot state 3.12.0-rc1-00045-g7aff2e3.. 3 24 25 SUCCESS Bisecting: 3 revisions left to test after this (roughly 2 steps) [4314895165623879937f46d767673654662b570c] sched: Micro-optimize by dropping unnecessary task_rq() calls running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:4314895165623879937f46d767673654662b570c:bisect-net 2013-10-09-00:13:45 4314895165623879937f46d767673654662b570c compiling 106 real 644 user 66 sys 666.67% cpu i386-randconfig-r8-1005 2013-10-09-00:15:45 detecting boot state 3.12.0-rc1-00049-g4314895.. 1 5 15 23 24 25 SUCCESS Bisecting: 1 revision left to test after this (roughly 1 step) [b021fe3e25094fbec22d0eff846d2adeee1b9736] sched, rcu: Make RCU use resched_cpu() running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:b021fe3e25094fbec22d0eff846d2adeee1b9736:bisect-net 2013-10-09-00:19:46 b021fe3e25094fbec22d0eff846d2adeee1b9736 compiling 99 real 657 user 66 sys 729.66% cpu i386-randconfig-r8-1005 2013-10-09-00:21:38 detecting boot state 3.12.0-rc1-00051-gb021fe3.. TEST FAILURE mount: mounting proc on /proc failed: No such device [ 8.938991] BUG: unable to handle kernel NULL pointer dereference at (null) [ 8.939832] IP: [< (null)>] (null) [ 8.939832] *pdpt = 0000000000000000 *pde = f000ff53f000ff53 [ 8.939832] Oops: 0010 [#1] DEBUG_PAGEALLOC [ 8.939832] Modules linked in: [ 8.939832] CPU: 0 PID: 46 Comm: mount Not tainted 3.12.0-rc1-00051-gb021fe3 #390 [ 8.939832] task: cd7cbcd0 ti: cd10c000 task.ti: cd10c000 [ 8.939832] EIP: 0060:[<00000000>] EFLAGS: 00000246 CPU: 0 [ 8.939832] EIP is at 0x0 [ 8.939832] EAX: cd0e0f00 EBX: cd0e0e40 ECX: 00000000 EDX: cd0e0f00 [ 8.939832] ESI: cd7cbf68 EDI: cd7cbcd0 EBP: cd10df44 ESP: cd10df34 [ 8.939832] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 [ 8.939832] CR0: 8005003b CR2: 00000000 CR3: 0d108000 CR4: 000006b0 [ 8.939832] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 8.939832] DR6: 00000000 DR7: 00000000 [ 8.939832] Stack: [ 8.939832] c104d499 cd7cbf80 cd0da900 cd7cbcd0 cd10df8c c1031202 00000000 cd10df58 [ 8.939832] c107607b cd10df78 00000001 00000100 00000000 00000046 00000030 cd0da950 [ 8.939832] cd7cbcd0 00000004 cd10df9c 0000ff00 ce867b80 cd7cbcd0 cd10dfa4 c10327ea [ 8.939832] Call Trace: [ 8.939832] [] ? task_work_run+0x79/0xa0 [ 8.939832] [] do_exit+0x2f2/0x950 [ 8.939832] [] ? trace_hardirqs_off+0xb/0x10 [ 8.939832] [] do_group_exit+0x4a/0xa0 [ 8.939832] [] SyS_exit_group+0x18/0x20 [ 8.939832] [] syscall_call+0x7/0xb [ 8.939832] Code: Bad EIP value. [ 8.939832] EIP: [<00000000>] 0x0 SS:ESP 0068:cd10df34 [ 8.939832] CR2: 0000000000000000 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-athens-1:20131009002205:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-athens-20:20131009002211:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-bens-4:20131009002207:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-cairo-38:20131009002206:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-jaketown-18:20131009002210:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-jaketown-19:20131009002204:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-jaketown-45:20131009002208:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-lkp-tt02-7:20131008145318:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-stoakley-1:20131009002206:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-xian-2:20131009002209:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 /kernel/i386-randconfig-r8-1005/b021fe3e25094fbec22d0eff846d2adeee1b9736/dmesg-yocto-ant-2:20131009002212:i386-randconfig-r8-1005:3.12.0-rc1-00051-gb021fe3:390 0:11:11 all_good:bad:all_bad boots Bisecting: 0 revisions left to test after this (roughly 0 steps) [0c44c2d0f459cd7e275242b72f500137c4fa834d] x86: Use asm goto to implement better modify_and_test() functions running /c/kernel-tests/bisect-test-boot-failure.sh /home/wfg/net/obj-bisect ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:0c44c2d0f459cd7e275242b72f500137c4fa834d:bisect-net 2013-10-09-00:22:40 0c44c2d0f459cd7e275242b72f500137c4fa834d compiling 32 real 74 user 15 sys 276.06% cpu i386-randconfig-r8-1005 2013-10-09-00:23:24 detecting boot state 3.12.0-rc1-00050-g0c44c2d. TEST FAILURE mount: mounting proc on /proc failed: No such device [ 0.510689] BUG: unable to handle kernel NULL pointer dereference at (null) [ 0.511333] IP: [] __fput+0x50/0x380 [ 0.511670] *pdpt = 0000000000000000 *pde = f000ff53f000ff53 [ 0.511670] Oops: 0000 [#1] DEBUG_PAGEALLOC [ 0.511670] Modules linked in: [ 0.511670] CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 3.12.0-rc1-00050-g0c44c2d #391 [ 0.511670] Workqueue: events delayed_fput [ 0.511670] task: c0035f90 ti: ce866000 task.ti: ce866000 [ 0.511670] EIP: 0060:[] EFLAGS: 00010212 CPU: 0 [ 0.511670] EIP is at __fput+0x50/0x380 [ 0.511670] EAX: 00000000 EBX: cd0e3200 ECX: 00000000 EDX: 0000001d [ 0.511670] ESI: 00000010 EDI: 00000000 EBP: ce867e98 ESP: ce867e70 [ 0.511670] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 [ 0.511670] CR0: 8005003b CR2: 00000000 CR3: 0d10b000 CR4: 000006b0 [ 0.511670] Stack: [ 0.511670] 00000246 00000000 00000002 00000000 00000000 00000000 00000000 00000000 [ 0.511670] 00000000 c0124540 ce867ea4 c110a7c9 c148d640 ce867efc c1048fb9 00000000 [ 0.511670] 00000002 00000000 c1048f81 00000000 00000000 00000000 0019ebc7 c0083400 [ 0.511670] Call Trace: [ 0.511670] [] delayed_fput+0x29/0x30 [ 0.511670] [] process_one_work+0x2f9/0x650 [ 0.511670] [] ? process_one_work+0x2c1/0x650 [ 0.511670] [] worker_thread+0x28f/0x610 [ 0.511670] [] ? cancel_delayed_work_sync+0x20/0x20 [ 0.511670] [] kthread+0x92/0xa0 [ 0.511670] [] ret_from_kernel_thread+0x1b/0x30 [ 0.511670] [] ? kthread_create_on_node+0xd0/0xd0 [ 0.511670] Code: 00 b8 ad 5e 41 c1 e8 b0 fe f4 ff e8 fb b1 1f 00 8b 43 10 89 c1 89 45 e8 8b 53 40 89 d0 83 e0 02 83 f8 01 19 f6 83 e6 08 83 c6 08 <8b> 01 25 00 f0 ff ff 66 3d 00 40 0f 84 2f 02 00 00 81 e2 00 00 [ 0.511670] EIP: [] __fput+0x50/0x380 SS:ESP 0068:ce867e70 [ 0.511670] CR2: 0000000000000000 [ 0.526608] ---[ end trace 490bc283e6fc34f9 ]--- [ 0.530504] Kernel panic - not syncing: CRED: put_cred_rcu() sees cd0c6d00 with usage -1 /kernel/i386-randconfig-r8-1005/0c44c2d0f459cd7e275242b72f500137c4fa834d/dmesg-yocto-xps-4:20131009081942:i386-randconfig-r8-1005:3.12.0-rc1-00050-g0c44c2d:391 0:1:1 all_good:bad:all_bad boots 0c44c2d0f459cd7e275242b72f500137c4fa834d is the first bad commit commit 0c44c2d0f459cd7e275242b72f500137c4fa834d Author: Peter Zijlstra Date: Wed Sep 11 15:19:24 2013 +0200 x86: Use asm goto to implement better modify_and_test() functions Linus suggested using asm goto to get rid of the typical SETcc + TEST instruction pair -- which also clobbers an extra register -- for our typical modify_and_test() functions. Because asm goto doesn't allow output fields it has to include an unconditinal memory clobber when it changes a memory variable to force a reload. Luckily all atomic ops already imply a compiler barrier to go along with their memory barrier semantics. Suggested-by: Linus Torvalds Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/n/tip-0mtn9siwbeo1d33bap1422se@git.kernel.org Signed-off-by: Ingo Molnar :040000 040000 512c7965864218ef5a40569f80dd617fc75b60f9 22c5286cc1aa1e336c8b0d7efba08f3f3eff0640 M arch bisect run success ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:4314895165623879937f46d767673654662b570c:bisect-net 2013-10-09-00:23:57 4314895165623879937f46d767673654662b570c reuse /kernel/i386-randconfig-r8-1005/4314895165623879937f46d767673654662b570c/vmlinuz-3.12.0-rc1-00049-g4314895 2013-10-09-00:23:57 detecting boot state .. 31 69 73 75 SUCCESS ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:fb869b6e91a3ac235f237f73305ecf34cdc4969b:bisect-net TEST FAILURE [ 80.567852] debug: unmapping init [mem 0xc14d7000-0xc151bfff] modprobe: FATAL: Could not load /lib/modules/3.12.0-rc1-00080-gfb869b6/modules.dep: No such file or directory [ 81.123399] BUG: unable to handle kernel NULL pointer dereference at 00000020 [ 81.123899] IP: [] vfs_getattr+0x14/0x60 [ 81.123899] *pdpt = 0000000006d36001 *pde = 0000000000000000 [ 81.123899] Oops: 0000 [#1] DEBUG_PAGEALLOC [ 81.123899] Modules linked in: [ 81.123899] CPU: 0 PID: 39 Comm: modprobe Not tainted 3.12.0-rc1-00080-gfb869b6 #3 [ 81.123899] task: c6c32b70 ti: c6d42000 task.ti: c6d42000 [ 81.123899] EIP: 0060:[] EFLAGS: 00000246 CPU: 0 [ 81.123899] EIP is at vfs_getattr+0x14/0x60 [ 81.123899] EAX: c0064b48 EBX: c0064b48 ECX: bf80c0c0 EDX: 00000000 [ 81.123899] ESI: c6d43f5c EDI: 00000000 EBP: c6d43f3c ESP: c6d43f2c [ 81.123899] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 [ 81.123899] CR0: 80050033 CR2: 00000020 CR3: 06d1f000 CR4: 000006b0 [ 81.123899] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 81.123899] DR6: 00000000 DR7: 00000000 [ 81.123899] Stack: [ 81.123899] c6d43f5c c0064b40 c6d43f5c 00000000 c6d43f54 c110cc89 00000000 bf80c0c0 [ 81.123899] bf80c348 00002000 c6d43fac c110d69a c109287e c6d42000 00000000 00000046 [ 81.123899] 00000030 c1305d9e c6c32b70 0805926c c6d43f9c 00000002 c130d582 00000022 [ 81.123899] Call Trace: [ 81.123899] [] vfs_fstat+0x29/0x50 [ 81.123899] [] SyS_fstat64+0x1a/0x30 [ 81.123899] [] ? rcu_irq_exit+0xee/0x130 [ 81.123899] [] ? restore_all+0xf/0xf [ 81.123899] [] ? do_IRQ+0x42/0x94 [ 81.123899] [] ? trace_hardirqs_on_thunk+0xc/0x10 [ 81.123899] [] sysenter_do_call+0x12/0x3c [ 81.123899] Code: 74 81 e2 ff 01 00 00 66 89 50 6c 5b 5e 5d c3 90 8d b4 26 00 00 00 00 55 89 e5 57 56 53 51 e8 94 08 20 00 89 c3 89 55 f0 8b 50 04 <8b> 72 20 8b 00 e8 72 25 06 00 85 c0 75 14 8b 46 10 8b 78 3c 85 [ 81.123899] EIP: [] vfs_getattr+0x14/0x60 SS:ESP 0068:c6d43f2c [ 81.123899] CR2: 0000000000000020 [ 81.184239] ---[ end trace 3794cb3bb65208b5 ]--- -- /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-yocto-waimea-12:20131005100755:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-yocto-xps-6:20131005100537:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-yocto-stoakley-5:20131008225801:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-yocto-xps-4:20131005100530:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-quantal-ant-7:20131005021028:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-yocto-nhm4-1:20131008150254:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-yocto-lkp-tt02-12:20131008132857:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-yocto-jaketown-13:20131008225803:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 /kernel/i386-randconfig-r8-1005/fb869b6e91a3ac235f237f73305ecf34cdc4969b/dmesg-yocto-waimea-14:20131005100543:i386-randconfig-r8-1005:3.12.0-rc1-00080-gfb869b6:3 0:9:19 all_good:bad:all_bad boots [detached HEAD d4f76df] Revert "x86: Use asm goto to implement better modify_and_test() functions" 5 files changed, 92 insertions(+), 58 deletions(-) delete mode 100644 arch/x86/include/asm/rmwcc.h ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:d4f76df54c723cba88160ca4238e87ac0cffdb19:bisect-net 2013-10-09-00:27:01 d4f76df54c723cba88160ca4238e87ac0cffdb19 compiling i386-randconfig-r8-1005: make prepare failed 2013-10-09-00:27:07 d4f76df54c723cba88160ca4238e87ac0cffdb19 SKIP BROKEN BUILD Check erros in /cc/wfg/net-bisect and /tmp/kernel/i386-randconfig-r8-1005/d4f76df54c723cba88160ca4238e87ac0cffdb19 ========= upstream ========= Fetching linus ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:8b5ede69d24db939f52b47effff2f6fe1e83e08b:bisect-net 2013-10-09-00:27:11 8b5ede69d24db939f52b47effff2f6fe1e83e08b compiling 2013-10-09-00:29:22 detecting boot state 3.12.0-rc4-00019-g8b5ede6.. 3 29 51 74.. 75 SUCCESS ========= linux-next ========= Fetching next ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:a0cf1abc25ac197dd97b857c0f6341066a8cb1cf:bisect-net 2013-10-09-00:33:57 a0cf1abc25ac197dd97b857c0f6341066a8cb1cf compiling 2013-10-09-00:35:55 detecting boot state 3.12.0-rc2-next-20130927-03100-ga0cf1ab. TEST FAILURE mount: mounting proc on /proc failed: No such device [ 11.489294] BUG: unable to handle kernel NULL pointer dereference at (null) [ 11.491232] IP: [< (null)>] (null) [ 11.491232] *pdpt = 0000000000000000 *pde = f000ff53f000ff53 [ 11.491232] Oops: 0010 [#1] DEBUG_PAGEALLOC [ 11.491232] Modules linked in: [ 11.491232] CPU: 0 PID: 46 Comm: mount Not tainted 3.12.0-rc2-next-20130927-03100-ga0cf1ab #393 [ 11.491232] task: cd7cbcd0 ti: cd10c000 task.ti: cd10c000 [ 11.491232] EIP: 0060:[<00000000>] EFLAGS: 00000246 CPU: 0 [ 11.491232] EIP is at 0x0 [ 11.491232] EAX: cd0def00 EBX: cd0dee40 ECX: 00000000 EDX: cd0def00 [ 11.491232] ESI: cd7cbf68 EDI: cd7cbcd0 EBP: cd10df44 ESP: cd10df34 [ 11.491232] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 [ 11.491232] CR0: 8005003b CR2: 00000000 CR3: 0d108000 CR4: 000006b0 [ 11.491232] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 11.491232] DR6: 00000000 DR7: 00000000 [ 11.491232] Stack: [ 11.491232] c104d3e9 cd7cbf80 cd0da900 cd7cbcd0 cd10df8c c1031029 00000000 00000000 [ 11.491232] cd0de240 cee9e400 00000001 cd10df88 c1108ea1 00000001 00000000 cd0da950 [ 11.491232] cd7cbcd0 080d3208 cd10df9c 0000ff00 ce867b80 cd7cbcd0 cd10dfa4 c10325ca [ 11.491232] Call Trace: [ 11.491232] [] ? task_work_run+0x79/0xa0 [ 11.491232] [] do_exit+0x2e9/0x940 [ 11.491232] [] ? vfs_write+0x1a1/0x1c0 [ 11.491232] [] do_group_exit+0x4a/0xa0 [ 11.491232] [] SyS_exit_group+0x18/0x20 [ 11.491232] [] syscall_call+0x7/0xb [ 11.491232] Code: Bad EIP value. [ 11.491232] EIP: [<00000000>] 0x0 SS:ESP 0068:cd10df34 [ 11.491232] CR2: 0000000000000000 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-cairo-28:20131009003603:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-cairo-7:20131009003604:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-lkp-tt02-13:20131008150714:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-cairo-9:20131009003608:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-waimea-15:20131009083254:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-ant-3:20131009003612:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-lkp-tt02-12:20131008150721:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-lkp-tt02-13:20131008150725:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-xps-1:20131009083226:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 /kernel/i386-randconfig-r8-1005/a0cf1abc25ac197dd97b857c0f6341066a8cb1cf/dmesg-yocto-waimea-15:20131009083305:i386-randconfig-r8-1005:3.12.0-rc2-next-20130927-03100-ga0cf1ab:393 0:10:10 all_good:bad:all_bad boots ========= tip/master ========= Fetching tip ls -a /kernel-tests/run-queue/kvm/i386-randconfig-r8-1005/tip:sched:core:97d3ab9b2207d72eb0f72347969c284562c374bd:bisect-net 2013-10-09-00:36:31 97d3ab9b2207d72eb0f72347969c284562c374bd compiling 2013-10-09-00:38:51 detecting boot state 3.12.0-rc4-01587-g97d3ab9. TEST FAILURE mount: mounting proc on /proc failed: No such device [ 0.815539] BUG: unable to handle kernel NULL pointer dereference at (null) [ 0.816487] IP: [< (null)>] (null) [ 0.816487] *pdpt = 0000000000000000 *pde = f000ff53f000ff53 [ 0.816487] Oops: 0010 [#1] DEBUG_PAGEALLOC [ 0.816487] Modules linked in: [ 0.816487] CPU: 0 PID: 46 Comm: mount Not tainted 3.12.0-rc4-01587-g97d3ab9 #394 [ 0.816487] task: cd7cbcd0 ti: cd10e000 task.ti: cd10e000 [ 0.816487] EIP: 0060:[<00000000>] EFLAGS: 00010246 CPU: 0 [ 0.816487] EIP is at 0x0 [ 0.816487] EAX: cd0e3500 EBX: cd0e3600 ECX: 00000000 EDX: cd0e3500 [ 0.816487] ESI: cd7cbf68 EDI: cd7cbcd0 EBP: cd10ff44 ESP: cd10ff34 [ 0.816487] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 [ 0.816487] CR0: 8005003b CR2: 00000000 CR3: 0d10b000 CR4: 000006b0 [ 0.816487] Stack: [ 0.816487] c104d2e9 cd7cbf80 cd0daa00 cd7cbcd0 cd10ff8c c1031089 00000000 00000000 [ 0.816487] cee9d000 00000035 00000001 cd10ff88 c1108d21 00000001 00000000 cd0daa50 [ 0.816487] cd7cbcd0 080d3208 cd10ff9c 0000ff00 cd0ee600 cd7cbcd0 cd10ffa4 c103262a [ 0.816487] Call Trace: [ 0.816487] [] ? task_work_run+0x79/0xa0 [ 0.816487] [] do_exit+0x2e9/0x940 [ 0.816487] [] ? vfs_write+0x161/0x1a0 [ 0.816487] [] do_group_exit+0x4a/0xa0 [ 0.816487] [] SyS_exit_group+0x18/0x20 [ 0.816487] [] syscall_call+0x7/0xb [ 0.816487] Code: Bad EIP value. [ 0.816487] EIP: [<00000000>] 0x0 SS:ESP 0068:cd10ff34 [ 0.816487] CR2: 0000000000000000 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-cairo-11:20131009003858:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-snb-38:20131009003855:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-lkp-tt02-10:20131008151008:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-bay-4:20131009003907:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-cairo-30:20131009003910:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-cairo-36:20131009003903:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-lkp-tt02-10:20131008151018:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-nhm4-4:20131008164410:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-snb-44:20131009003905:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-bens-1:20131009003912:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 /kernel/i386-randconfig-r8-1005/97d3ab9b2207d72eb0f72347969c284562c374bd/dmesg-yocto-nhm4-4:20131008164419:i386-randconfig-r8-1005:3.12.0-rc4-01587-g97d3ab9:394 0:11:11 all_good:bad:all_bad boots