Greetings, 0day kernel testing robot got the below dmesg and the first bad commit is git://bee.sh.intel.com/git/ydu19/linux cc-v4-on-3.16-rc2 commit 981fa8778958e70170ad2e757bc75f5e3c688665 Author: Yuyang Du AuthorDate: Wed Jun 25 03:57:18 2014 +0800 Commit: Yuyang Du CommitDate: Thu Jun 26 15:06:56 2014 +0800 Define SD_WORKLOAD_CONSOLIDATION and attach to sched_domain Workload Consolidation is completely CPU topology and policy driven. To do so, we define SD_WORKLOAD_CONSOLIDATION, and add some fields in sched_domain struct: 1) total_groups is the group number in total in this domain 2) group_number is this CPU's group sequence number 3) consolidating_coeff is the coefficient for consolidating CPUs, and is changeable via sysctl tool to make consolidation more aggressive or less 4) first_group is the pointer to this domain's first group ordered by CPU number This patchset enables SD_WORKLOAD_CONSOLIDATION in MC domain by default. But we need to come up with a better way to determine on which architecture this flag should be enabled or not. Thanks to PeterZ and Dietmar for pointing this out and help me finally understand it. Signed-off-by: Yuyang Du =================================================== PARENT COMMIT NOT CLEAN. LOOK OUT FOR WRONG BISECT! =================================================== Attached dmesg for the parent commit, too, to help confirm whether it is a noise error. +--------------------------------------------------+------------+------------+------------------+ | | 3b3fb61976 | 981fa87789 | v3.16-rc2_062617 | +--------------------------------------------------+------------+------------+------------------+ | boot_successes | 56 | 0 | 0 | | boot_failures | 1 | 19 | 13 | | BUG:kernel_boot_crashed | 1 | | | | WARNING:CPU:PID:at_kernel/sched/core.c:sd_init() | 0 | 19 | 13 | | backtrace:sd_init | 0 | 19 | 13 | | backtrace:warn_slowpath_fmt | 0 | 19 | 13 | | backtrace:build_sched_domains | 0 | 19 | 13 | | backtrace:sched_init_smp | 0 | 19 | 13 | | backtrace:kernel_init_freeable | 0 | 19 | 13 | +--------------------------------------------------+------------+------------+------------------+ [ 0.182210] --------------------------------- [ 0.183384] smpboot: Total of 2 processors activated (10774.02 BogoMIPS) [ 0.185468] ------------[ cut here ]------------ [ 0.185468] WARNING: CPU: 0 PID: 1 at kernel/sched/core.c:6069 sd_init+0x3e6/0x400() [ 0.185468] wrong sd_flags in topology description [ 0.190008] Modules linked in: [ 0.191075] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.16.0-rc2-00004-g981fa87 #1 [ 0.193126] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 [ 0.195267] 0000000000000009 ffff880013487d30 ffffffff822ec723 ffff880013487d78 [ 0.197754] ffff880013487d68 ffffffff810ca0d7 ffffffff82d90038 0000000000008000 [ 0.200484] 0000000000000001 ffff8800135b8000 0000000000000001 ffff880013487dc8 [ 0.202956] Call Trace: [ 0.203814] [] dump_stack+0xc1/0x111 [ 0.205138] [] warn_slowpath_common+0xc7/0x100 [ 0.206629] [] warn_slowpath_fmt+0x57/0x70 [ 0.208029] [] ? __bitmap_weight+0xe4/0x110 [ 0.209447] [] sd_init+0x3e6/0x400 [ 0.210015] [] build_sched_domain+0x31/0x230 [ 0.211450] [] build_sched_domains+0xc46/0x1770 [ 0.212931] [] sched_init_smp+0x118/0x3b0 [ 0.214329] [] kernel_init_freeable+0xcd/0x31a [ 0.215816] [] ? rest_init+0x120/0x120 [ 0.217155] [] kernel_init+0x11/0x230 [ 0.218491] [] ret_from_fork+0x7c/0xb0 [ 0.220014] [] ? rest_init+0x120/0x120 [ 0.221383] ---[ end trace 66f6dff8a935a04a ]--- [ 0.233431] gcov: version magic: 0x3430382a git bisect start 9c33bf1e59d26dad8dc45e438cbdc28783589b11 a497c3ba1d97fc69c1e78e7b96435ba8c2cb42ee -- git bisect good 10d9d029067f2aacbdc140786efff146d79b34c5 # 08:26 19+ 0 Merge 'cgroup/for-3.16-fixes' into devel-hourly-2014062617 git bisect bad b8db0fc896849e940f23fbea02c137869c94f3d3 # 08:33 0- 6 Merge 'kvm-ppc/kvm-ppc-queue' into devel-hourly-2014062617 git bisect good 7135b130d9f1c30321f9a9e024498557026cdd03 # 08:41 19+ 0 Merge 'arm-platforms/kvm-arm64/irq-forward' into devel-hourly-2014062617 git bisect good c2484a8acda7d9ff41a98d3e2fcc5a65bbd02747 # 08:50 19+ 0 Merge 'arc/for-next' into devel-hourly-2014062617 git bisect good 1a799f5c9dbbd47d503af1e0cedf9d252cca2d6d # 09:00 19+ 0 Merge 'cryptodev/master' into devel-hourly-2014062617 git bisect bad 9c259d6a46e754ea8fb42bcf688255ffa2c8c048 # 09:09 0- 16 Merge 'yuyang/cc-v4-on-3.16-rc2' into devel-hourly-2014062617 git bisect bad 1a43e8a377f4adc5c9a412de1a57ab453f8313d4 # 09:17 0- 13 Workload Consolidation: Consolidating workload to a subset of CPUs if possible git bisect good 7dee841147a972e809dfcd75f638d7145dd8e756 # 09:29 19+ 0 sched: Precise accumulated time and acount runnable number in update_entity_runnable_avg git bisect bad 981fa8778958e70170ad2e757bc75f5e3c688665 # 09:41 0- 12 Define SD_WORKLOAD_CONSOLIDATION and attach to sched_domain git bisect good 3b3fb61976509ef8f7c0c05adba0b61cea6b05db # 09:52 19+ 0 How CPU ConCurrency (CC) accrues with runqueue change and time # first bad commit: [981fa8778958e70170ad2e757bc75f5e3c688665] Define SD_WORKLOAD_CONSOLIDATION and attach to sched_domain git bisect good 3b3fb61976509ef8f7c0c05adba0b61cea6b05db # 09:58 57+ 1 How CPU ConCurrency (CC) accrues with runqueue change and time git bisect bad 9c33bf1e59d26dad8dc45e438cbdc28783589b11 # 09:58 0- 13 0day head guard for 'devel-hourly-2014062617' git bisect good 24b414d5a7d3e6a716350464dfdb44da610ed142 # 10:10 57+ 0 Merge tag 'spi-v3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi git bisect good 96426007c90cde23c0402856f3e0aec0f4cc2e48 # 10:18 57+ 0 Add linux-next specific files for 20140627 This script may reproduce the error. ----------------------------------------------------------------------------- #!/bin/bash kernel=$1 initrd=yocto-minimal-x86_64.cgz wget --no-clobber https://github.com/fengguang/reproduce-kernel-bug/blob/master/initrd/$initrd kvm=( qemu-system-x86_64 -cpu kvm64 -enable-kvm -kernel $kernel -initrd $initrd -smp 2 -m 256M -net nic,vlan=0,macaddr=00:00:00:00:00:00,model=virtio -net user,vlan=0 -net nic,vlan=1,model=e1000 -net user,vlan=1 -boot order=nc -no-reboot -watchdog i6300esb -serial stdio -display none -monitor null ) append=( debug sched_debug apic=debug ignore_loglevel sysrq_always_enabled panic=10 prompt_ramdisk=0 earlyprintk=ttyS0,115200 console=ttyS0,115200 console=tty0 vga=normal root=/dev/ram0 rw ) "${kvm[@]}" --append "${append[*]}" ----------------------------------------------------------------------------- Thanks, Fengguang