# git rev-parse -q --verify c4aa5aa68e06ef1a2a511ef3200c6be13e620ec6^{commit} c4aa5aa68e06ef1a2a511ef3200c6be13e620ec6 already have revision, skipping fetch # git checkout -q -f -B kisskb c4aa5aa68e06ef1a2a511ef3200c6be13e620ec6 # git clean -qxdf # git log -1 commit c4aa5aa68e06ef1a2a511ef3200c6be13e620ec6 Author: Suresh Warrier Date: Wed Nov 25 17:44:56 2015 -0600 KVM: PPC: Book3S HV: Add tunable to control H_IPI redirection Redirecting the wakeup of a VCPU from the H_IPI hypercall to a core running in the host is usually a good idea, most workloads seemed to benefit. However, in one heavily interrupt-driven SMT1 workload, some regression was observed. This patch adds a kvm_hv module parameter called h_ipi_redirect to control this feature. The default value for this tunable is 1 - that is enable the feature. Signed-off-by: Suresh Warrier # < /opt/cross/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux-gcc --version # < git log --format=%s --max-count=1 c4aa5aa68e06ef1a2a511ef3200c6be13e620ec6 # < make -j 8 ARCH=powerpc O=/home/kisskb/slave/build/mpe-0day_ppc64le_defconfig+NO_KVM_ppc64le CROSS_COMPILE=/opt/cross/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux- ppc64le_defconfig # Added to kconfig CONFIG_KVM_BOOK3S_64=n # Added to kconfig CONFIG_KVM=n # Added to kconfig # yes \n | make -j 8 ARCH=powerpc O=/home/kisskb/slave/build/mpe-0day_ppc64le_defconfig+NO_KVM_ppc64le CROSS_COMPILE=/opt/cross/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -j 8 ARCH=powerpc O=/home/kisskb/slave/build/mpe-0day_ppc64le_defconfig+NO_KVM_ppc64le CROSS_COMPILE=/opt/cross/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux- make[1]: Entering directory '/home/kisskb/slave/build/mpe-0day_ppc64le_defconfig+NO_KVM_ppc64le' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/irq_regs.h WRAP arch/powerpc/include/generated/asm/irq_work.h WRAP arch/powerpc/include/generated/asm/local64.h WRAP arch/powerpc/include/generated/asm/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/preempt.h WRAP arch/powerpc/include/generated/asm/rwsem.h CHK include/generated/uapi/linux/version.h WRAP arch/powerpc/include/generated/asm/vtime.h UPD include/generated/uapi/linux/version.h HOSTCC scripts/basic/bin2c UPD include/config/kernel.release Using /home/kisskb/slave/src as source for kernel CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/kallsyms HOSTCC scripts/dtc/dtc.o HOSTCC scripts/pnmtologo HOSTCC scripts/genksyms/genksyms.o SHIPPED scripts/genksyms/parse.tab.c CC scripts/mod/empty.o HOSTCC scripts/conmakehash HOSTCC scripts/dtc/flattree.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s MKELF scripts/mod/elfconfig.h GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/dtc/fstree.o HOSTCC scripts/mod/sumversion.o HOSTCC scripts/dtc/data.o CC kernel/bounds.s CHK include/generated/timeconst.h UPD include/generated/timeconst.h SHIPPED scripts/genksyms/lex.lex.c SHIPPED scripts/genksyms/keywords.hash.c HOSTCC scripts/dtc/livetree.o CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s SHIPPED scripts/genksyms/parse.tab.h HOSTCC scripts/genksyms/parse.tab.o HOSTCC scripts/genksyms/lex.lex.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/mod/modpost.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/dtc/checks.o CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/dtc-parser.tab.o HOSTLD scripts/genksyms/genksyms HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost HOSTCC usr/gen_init_cpio CC init/main.o CHK include/generated/compile.h CC init/do_mounts.o CC init/do_mounts_rd.o UPD include/generated/compile.h CC arch/powerpc/mm/fault.o CC init/do_mounts_initrd.o AS arch/powerpc/lib/string.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/kernel/cputable.o GEN usr/initramfs_data.cpio.gz AS arch/powerpc/lib/crtsavres.o AS usr/initramfs_data.o CC arch/powerpc/lib/ppc_ksyms.o LD usr/built-in.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/lib/sstep.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/mm/mem.o AS arch/powerpc/lib/ldstfp.o CC arch/powerpc/sysdev/mpic.o CC arch/powerpc/sysdev/mpic_msi.o AS arch/powerpc/lib/feature-fixups-test.o CC arch/powerpc/platforms/powernv/setup.o CC arch/powerpc/lib/xor_vmx.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/mm/pgtable.o CC init/do_mounts_md.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/mm/init_64.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/mm/pgtable_64.o AS arch/powerpc/platforms/powernv/opal-wrappers.o CC arch/powerpc/platforms/powernv/opal.o AS arch/powerpc/lib/copypage_64.o AS arch/powerpc/lib/copyuser_64.o CC init/initramfs.o CC arch/powerpc/platforms/powernv/opal-async.o CC arch/powerpc/lib/usercopy_64.o CC arch/powerpc/sysdev/mpic_u3msi.o CC arch/powerpc/sysdev/msi_bitmap.o AS arch/powerpc/lib/mem_64.o AS arch/powerpc/lib/hweight_64.o AS arch/powerpc/lib/copyuser_power7.o AS arch/powerpc/lib/string_64.o AS arch/powerpc/lib/copypage_power7.o CC arch/powerpc/platforms/pseries/lpar.o AS arch/powerpc/lib/memcpy_power7.o AS arch/powerpc/lib/memcpy_64.o AS arch/powerpc/lib/memcmp_64.o CC arch/powerpc/kernel/align.o CC arch/powerpc/lib/locks.o CC arch/powerpc/mm/hash_utils_64.o CC arch/powerpc/platforms/powernv/idle.o CC arch/powerpc/sysdev/i8259.o CC arch/powerpc/lib/vmx-helper.o CC init/init_task.o LD arch/powerpc/math-emu/built-in.o AS arch/powerpc/platforms/pseries/hvCall.o CC init/version.o LD arch/powerpc/lib/built-in.o LD init/mounts.o CC arch/powerpc/platforms/pseries/nvram.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/sysdev/scom.o CC arch/powerpc/platforms/powernv/opal-rtc.o LD arch/powerpc/crypto/built-in.o AS arch/powerpc/net/bpf_jit_asm.o CC arch/powerpc/net/bpf_jit_comp.o LD init/built-in.o CC arch/powerpc/xmon/xmon.o CC arch/powerpc/platforms/pseries/reconfig.o CC arch/powerpc/perf/callchain.o CC arch/powerpc/sysdev/xics/xics-common.o CC arch/powerpc/platforms/powernv/opal-nvram.o AS arch/powerpc/mm/slb_low.o CC arch/powerpc/mm/slb.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/platforms/powernv/opal-lpc.o CC arch/powerpc/platforms/pseries/of_helpers.o CC arch/powerpc/perf/core-book3s.o CC arch/powerpc/sysdev/xics/icp-native.o CC arch/powerpc/mm/hash_native_64.o CC arch/powerpc/platforms/pseries/setup.o /home/kisskb/slave/src/arch/powerpc/sysdev/xics/icp-native.c: In function 'icp_native_cause_ipi_rm': /home/kisskb/slave/src/arch/powerpc/sysdev/xics/icp-native.c:177:23: error: 'struct paca_struct' has no member named 'kvm_hstate' xics_phys = paca[cpu].kvm_hstate.xics_phys; ^ /home/kisskb/slave/src/scripts/Makefile.build:258: recipe for target 'arch/powerpc/sysdev/xics/icp-native.o' failed make[3]: *** [arch/powerpc/sysdev/xics/icp-native.o] Error 1 /home/kisskb/slave/src/scripts/Makefile.build:403: recipe for target 'arch/powerpc/sysdev/xics' failed make[2]: *** [arch/powerpc/sysdev/xics] Error 2 /home/kisskb/slave/src/Makefile:943: recipe for target 'arch/powerpc/sysdev' failed make[1]: *** [arch/powerpc/sysdev] Error 2 make[1]: *** Waiting for unfinished jobs.... CC arch/powerpc/platforms/pseries/iommu.o CC arch/powerpc/kernel/process.o CC arch/powerpc/platforms/powernv/opal-flash.o LD arch/powerpc/net/built-in.o CC arch/powerpc/platforms/powernv/rng.o AS arch/powerpc/mm/hash_low_64.o CC arch/powerpc/mm/tlb_hash64.o CC arch/powerpc/mm/mmu_context_hash64.o CC arch/powerpc/platforms/powernv/opal-elog.o CC arch/powerpc/mm/numa.o AS arch/powerpc/perf/bhrb.o CC arch/powerpc/xmon/nonstdio.o CC arch/powerpc/perf/hv-24x7.o CC arch/powerpc/xmon/ppc-dis.o CC arch/powerpc/perf/hv-gpci.o CC arch/powerpc/platforms/pseries/event_sources.o CC arch/powerpc/platforms/powernv/opal-dump.o CC arch/powerpc/xmon/ppc-opc.o CC arch/powerpc/platforms/powernv/opal-sysparam.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/idle.o CC arch/powerpc/platforms/pseries/ras.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/mm/vphn.o CC arch/powerpc/platforms/powernv/opal-sensor.o CC arch/powerpc/platforms/pseries/firmware.o CC arch/powerpc/perf/hv-common.o CC arch/powerpc/platforms/powernv/opal-msglog.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/perf/power4-pmu.o CC arch/powerpc/platforms/pseries/power.o CC arch/powerpc/mm/slice.o CC arch/powerpc/platforms/pseries/dlpar.o CC arch/powerpc/platforms/powernv/opal-hmi.o CC arch/powerpc/perf/ppc970-pmu.o CC arch/powerpc/perf/power5-pmu.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/platforms/powernv/opal-power.o CC arch/powerpc/kernel/time.o CC arch/powerpc/platforms/pseries/mobility.o CC arch/powerpc/perf/power5+-pmu.o CC arch/powerpc/mm/hugetlbpage.o LD arch/powerpc/xmon/built-in.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/platforms/powernv/opal-irqchip.o CC arch/powerpc/platforms/powernv/smp.o CC arch/powerpc/platforms/pseries/rng.o CC arch/powerpc/perf/power6-pmu.o CC arch/powerpc/platforms/powernv/subcore.o CC arch/powerpc/kernel/traps.o CC arch/powerpc/platforms/pseries/pci.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/mm/hugetlbpage-hash64.o AS arch/powerpc/platforms/powernv/subcore-asm.o CC arch/powerpc/platforms/powernv/pci.o CC arch/powerpc/platforms/pseries/pci_dlpar.o CC arch/powerpc/mm/copro_fault.o CC arch/powerpc/perf/power7-pmu.o CC arch/powerpc/perf/power8-pmu.o CC arch/powerpc/platforms/pseries/eeh_pseries.o LD arch/powerpc/mm/built-in.o CC arch/powerpc/platforms/pseries/msi.o CC arch/powerpc/kernel/udbg.o CC arch/powerpc/platforms/pseries/smp.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/io.o CC arch/powerpc/kernel/dma.o LD arch/powerpc/perf/built-in.o CC arch/powerpc/platforms/powernv/pci-p5ioc2.o CC arch/powerpc/platforms/pseries/kexec.o CC arch/powerpc/platforms/powernv/pci-ioda.o AS arch/powerpc/kernel/misc_64.o CC arch/powerpc/platforms/powernv/eeh-powernv.o CC arch/powerpc/platforms/powernv/opal-xscom.o CC arch/powerpc/platforms/powernv/opal-tracepoints.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/platforms/pseries/pseries_energy.o CC arch/powerpc/kernel/prom_parse.o CC arch/powerpc/kernel/setup_64.o CC arch/powerpc/kernel/sys_ppc32.o CC arch/powerpc/kernel/signal_64.o CC arch/powerpc/platforms/pseries/hotplug-cpu.o CC arch/powerpc/kernel/ptrace32.o CC arch/powerpc/kernel/paca.o CC arch/powerpc/platforms/pseries/hvconsole.o CC arch/powerpc/platforms/pseries/cmm.o CC arch/powerpc/kernel/nvram_64.o CC arch/powerpc/kernel/firmware.o CC arch/powerpc/platforms/pseries/dtl.o CC arch/powerpc/kernel/hw_breakpoint.o AS arch/powerpc/kernel/cpu_setup_ppc970.o CC arch/powerpc/platforms/pseries/io_event_irq.o CC arch/powerpc/platforms/pseries/lparcfg.o CC arch/powerpc/platforms/pseries/suspend.o CC [M] arch/powerpc/platforms/pseries/scanlog.o CC [M] arch/powerpc/platforms/pseries/hvcserver.o AS arch/powerpc/kernel/cpu_setup_pa6t.o AS arch/powerpc/kernel/cpu_setup_power.o CC arch/powerpc/kernel/mce.o CC arch/powerpc/kernel/mce_power.o LD arch/powerpc/platforms/powernv/built-in.o CC arch/powerpc/kernel/vecemu.o LDS arch/powerpc/kernel/vdso64/vdso64.lds VDSO64A arch/powerpc/kernel/vdso64/sigtramp.o VDSO64A arch/powerpc/kernel/vdso64/gettimeofday.o VDSO64A arch/powerpc/kernel/vdso64/datapage.o VDSO64A arch/powerpc/kernel/vdso64/cacheflush.o AS arch/powerpc/kernel/idle_power7.o VDSO64A arch/powerpc/kernel/vdso64/note.o CC arch/powerpc/kernel/proc_powerpc.o VDSO64A arch/powerpc/kernel/vdso64/getcpu.o VDSO64L arch/powerpc/kernel/vdso64/vdso64.so.dbg OBJCOPY arch/powerpc/kernel/vdso64/vdso64.so AS arch/powerpc/kernel/vdso64/vdso64_wrapper.o CC arch/powerpc/kernel/rtas.o LD arch/powerpc/kernel/vdso64/built-in.o CC arch/powerpc/kernel/rtas-rtc.o LD arch/powerpc/platforms/pseries/built-in.o CC arch/powerpc/kernel/rtas_pci.o LD arch/powerpc/platforms/built-in.o CC arch/powerpc/kernel/rtasd.o CC arch/powerpc/kernel/rtas-proc.o CC arch/powerpc/kernel/vio.o CC arch/powerpc/kernel/ibmebus.o CC arch/powerpc/kernel/eeh.o CC arch/powerpc/kernel/eeh_pe.o CC arch/powerpc/kernel/eeh_dev.o CC arch/powerpc/kernel/eeh_cache.o CC arch/powerpc/kernel/eeh_driver.o CC arch/powerpc/kernel/eeh_event.o CC arch/powerpc/kernel/eeh_sysfs.o CC arch/powerpc/kernel/crash_dump.o CC arch/powerpc/kernel/module.o CC arch/powerpc/kernel/module_64.o CC arch/powerpc/kernel/dbell.o CC arch/powerpc/kernel/jump_label.o CC arch/powerpc/kernel/dma-iommu.o CC arch/powerpc/kernel/iommu.o CC arch/powerpc/kernel/ppc_ksyms.o CC arch/powerpc/kernel/btext.o CC arch/powerpc/kernel/smp.o CC arch/powerpc/kernel/kprobes.o CC arch/powerpc/kernel/legacy_serial.o CC arch/powerpc/kernel/udbg_16550.o CC arch/powerpc/kernel/stacktrace.o CC arch/powerpc/kernel/pci_64.o CC arch/powerpc/kernel/pci_dn.o CC arch/powerpc/kernel/pci-hotplug.o CC arch/powerpc/kernel/isa-bridge.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/msi.o CC arch/powerpc/kernel/machine_kexec.o CC arch/powerpc/kernel/crash.o CC arch/powerpc/kernel/machine_kexec_64.o CC arch/powerpc/kernel/trace_clock.o AS arch/powerpc/kernel/reloc_64.o AS arch/powerpc/kernel/tm.o AS arch/powerpc/kernel/ppc_save_regs.o CC arch/powerpc/kernel/prom_init.o AS arch/powerpc/kernel/head_64.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o AS arch/powerpc/kernel/vector.o AS arch/powerpc/kernel/entry_64.o CC [M] arch/powerpc/kernel/rtas_flash.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh AS arch/powerpc/kernel/systbl.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/prom_init_check.sh LD arch/powerpc/kernel/built-in.o make[1]: Leaving directory '/home/kisskb/slave/build/mpe-0day_ppc64le_defconfig+NO_KVM_ppc64le' Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 8 ARCH=powerpc O=/home/kisskb/slave/build/mpe-0day_ppc64le_defconfig+NO_KVM_ppc64le CROSS_COMPILE=/opt/cross/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/mpe-0day_ppc64le_defconfig+NO_KVM_ppc64le # Build took: 0:00:24.516846