# git rev-parse -q --verify f098062ea2e4884a5cd42dee46d5b7cba8c99e22^{commit} f098062ea2e4884a5cd42dee46d5b7cba8c99e22 already have revision, skipping fetch # git checkout -q -f -B kisskb f098062ea2e4884a5cd42dee46d5b7cba8c99e22 # git clean -qxdf # git log -1 commit f098062ea2e4884a5cd42dee46d5b7cba8c99e22 Author: Nicholas Piggin Date: Wed Jan 17 23:58:18 2018 +1000 powerpc/64s: Improve RFI L1-D cache flush fallback The fallback RFI flush is used when firmware does not provide a way to flush the cache. It's a "displacement flush" that evicts useful data by displacing it with an uninteresting buffer. The flush has to take care to work with implementation specific cache replacment policies, so the recipe has been in flux. The initial slow but conservative approach is to touch all lines of a congruence class, with dependencies between each load. It has since been determined that a linear pattern of loads without dependencies is sufficient, and is significantly faster. Measuring the speed of a null syscall with RFI fallback flush enabled gives the relative improvement: P8 - 1.83x P9 - 1.75x The flush also becomes simpler and more adaptable to different cache geometries. Signed-off-by: Nicholas Piggin Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux-gcc --version # < git log --format=%s --max-count=1 f098062ea2e4884a5cd42dee46d5b7cba8c99e22 # < make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_ppc64le_defconfig_ppc64le CROSS_COMPILE=/opt/cross/kisskb/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux- ppc64le_defconfig # make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_ppc64le_defconfig_ppc64le CROSS_COMPILE=/opt/cross/kisskb/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux- make[1]: Entering directory '/home/kisskb/slave/build/powerpc-next_ppc64le_defconfig_ppc64le' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile WRAP arch/powerpc/include/generated/uapi/asm/param.h WRAP arch/powerpc/include/generated/uapi/asm/poll.h WRAP arch/powerpc/include/generated/uapi/asm/resource.h WRAP arch/powerpc/include/generated/uapi/asm/sockios.h WRAP arch/powerpc/include/generated/uapi/asm/statfs.h CHK include/generated/uapi/linux/version.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 WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/export.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 WRAP arch/powerpc/include/generated/asm/vtime.h WRAP arch/powerpc/include/generated/asm/msi.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h HOSTCC scripts/kallsyms HOSTCC scripts/pnmtologo HOSTCC scripts/conmakehash HOSTCC scripts/sortextable HOSTCC scripts/asn1_compiler HOSTCC scripts/extract-cert HOSTCC scripts/genksyms/genksyms.o HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o SHIPPED scripts/genksyms/parse.tab.c SHIPPED scripts/genksyms/lex.lex.c SHIPPED scripts/genksyms/parse.tab.h HOSTCC scripts/dtc/fstree.o CC scripts/mod/empty.o HOSTCC scripts/dtc/data.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/livetree.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/genksyms/parse.tab.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/genksyms/lex.lex.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/dtc-lexer.lex.o CC kernel/bounds.s CHK include/generated/timeconst.h UPD include/generated/timeconst.h CHK scripts/mod/devicetable-offsets.h UPD scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h CHK include/generated/bounds.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s HOSTLD scripts/dtc/dtc HOSTLD scripts/genksyms/genksyms CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh HOSTLD scripts/mod/modpost CC init/main.o CHK include/generated/compile.h CC init/do_mounts.o CC init/do_mounts_rd.o CC init/do_mounts_initrd.o CC init/do_mounts_md.o HOSTCC usr/gen_init_cpio CC init/initramfs.o CC init/init_task.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/align.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/signal_32.o UPD include/generated/compile.h CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/process.o CC arch/powerpc/mm/mem.o CC arch/powerpc/kernel/idle.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/mm/pgtable.o CC arch/powerpc/mm/fault.o CC arch/powerpc/kernel/time.o CC arch/powerpc/mm/mmap.o AS arch/powerpc/lib/string.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/kernel/traps.o CC arch/powerpc/mm/pgtable_64.o CC arch/powerpc/kernel/setup-common.o CC init/version.o AS arch/powerpc/mm/slb_low.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/mm/mmu_context.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/mm/init_64.o CC arch/powerpc/lib/feature-fixups.o AS arch/powerpc/lib/checksum_64.o CC arch/powerpc/mm/drmem.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/mm/pgtable-hash64.o CC arch/powerpc/mm/hash_utils_64.o CC arch/powerpc/kernel/io.o CC arch/powerpc/mm/init-common.o CC arch/powerpc/kernel/udbg.o CC arch/powerpc/kernel/dma.o CC arch/powerpc/sysdev/mpic.o CC arch/powerpc/mm/slb.o GEN usr/initramfs_data.cpio AS arch/powerpc/kernel/misc_64.o CC arch/powerpc/lib/checksum_wrappers.o CC arch/powerpc/kernel/of_platform.o CC arch/powerpc/lib/sstep.o CC arch/powerpc/kernel/prom_parse.o AS usr/initramfs_data.o AS arch/powerpc/lib/ldstfp.o CC arch/powerpc/kernel/setup_64.o AS arch/powerpc/lib/quad.o CC arch/powerpc/kernel/sys_ppc32.o AS arch/powerpc/lib/feature-fixups-test.o CC arch/powerpc/kernel/signal_64.o AR usr/built-in.o CC arch/powerpc/mm/hash_native_64.o CC arch/powerpc/lib/xor_vmx.o CC arch/powerpc/lib/xor_vmx_glue.o CC arch/powerpc/kernel/ptrace32.o CC arch/powerpc/platforms/powernv/setup.o AS arch/powerpc/lib/copypage_64.o CC arch/powerpc/platforms/pseries/lpar.o CC arch/powerpc/kernel/nvram_64.o CC arch/powerpc/kernel/paca.o CC arch/powerpc/mm/mmu_context_book3s64.o CC arch/powerpc/kernel/firmware.o CC arch/powerpc/kernel/watchdog.o CC arch/powerpc/kernel/hw_breakpoint.o AS arch/powerpc/lib/copyuser_64.o CC arch/powerpc/mm/pgtable-book3s64.o CC arch/powerpc/mm/pgtable-radix.o AS arch/powerpc/kernel/cpu_setup_ppc970.o AS arch/powerpc/kernel/cpu_setup_pa6t.o CC arch/powerpc/mm/tlb-radix.o CC arch/powerpc/mm/tlb_hash64.o AS arch/powerpc/kernel/cpu_setup_power.o CC arch/powerpc/mm/hash64_64k.o CC arch/powerpc/mm/numa.o CC arch/powerpc/mm/vphn.o CC arch/powerpc/kernel/mce.o AS arch/powerpc/lib/mem_64.o CC arch/powerpc/kernel/mce_power.o AS arch/powerpc/lib/hweight_64.o AS arch/powerpc/lib/copyuser_power7.o CC arch/powerpc/mm/slice.o AS arch/powerpc/platforms/powernv/opal-wrappers.o CC arch/powerpc/kernel/trace/ftrace.o CC arch/powerpc/mm/hugetlbpage.o LDS arch/powerpc/kernel/vdso64/vdso64.lds CC arch/powerpc/kernel/vecemu.o CC arch/powerpc/platforms/powernv/opal.o AS arch/powerpc/kernel/vdso64/sigtramp.o AS arch/powerpc/lib/string_64.o AS arch/powerpc/kernel/idle_book3s.o CC arch/powerpc/mm/hugetlbpage-hash64.o AS arch/powerpc/lib/copypage_power7.o CC arch/powerpc/kernel/proc_powerpc.o AS arch/powerpc/kernel/vdso64/gettimeofday.o CC arch/powerpc/mm/hugetlbpage-radix.o CC arch/powerpc/kernel/rtas.o AS arch/powerpc/kernel/vdso64/datapage.o AS arch/powerpc/lib/memcpy_power7.o AR init/mounts.o AS arch/powerpc/lib/memcpy_64.o CC arch/powerpc/kernel/rtas-rtc.o CC arch/powerpc/kernel/rtas_pci.o AS arch/powerpc/lib/memcmp_64.o AS arch/powerpc/kernel/vdso64/cacheflush.o CC arch/powerpc/lib/pmem.o CC arch/powerpc/lib/locks.o CC arch/powerpc/kernel/rtasd.o AS arch/powerpc/kernel/vdso64/note.o CC arch/powerpc/lib/vmx-helper.o CC arch/powerpc/kernel/rtas-proc.o CC arch/powerpc/kernel/dt_cpu_ftrs.o CC arch/powerpc/kernel/eeh.o CC arch/powerpc/kernel/eeh_pe.o CC arch/powerpc/mm/hugepage-hash64.o CC arch/powerpc/kernel/eeh_dev.o AS arch/powerpc/kernel/vdso64/getcpu.o CC arch/powerpc/kernel/eeh_cache.o AR init/built-in.o CC arch/powerpc/mm/copro_fault.o CC arch/powerpc/kernel/eeh_driver.o CC arch/powerpc/kernel/eeh_sysfs.o CC arch/powerpc/kernel/eeh_event.o VDSO64L arch/powerpc/kernel/vdso64/vdso64.so.dbg AR arch/powerpc/crypto/built-in.o OBJCOPY arch/powerpc/kernel/vdso64/vdso64.so CC arch/powerpc/mm/pkeys.o CC arch/powerpc/mm/mmu_context_iommu.o AS arch/powerpc/kernel/vdso64/vdso64_wrapper.o AR arch/powerpc/math-emu/built-in.o AS [M] arch/powerpc/crypto/md5-asm.o CC arch/powerpc/kernel/crash_dump.o CC arch/powerpc/kernel/module.o AR arch/powerpc/kernel/vdso64/built-in.o CC arch/powerpc/kernel/module_64.o CC arch/powerpc/kernel/dbell.o CC arch/powerpc/kernel/jump_label.o CC [M] arch/powerpc/crypto/md5-glue.o AS arch/powerpc/kernel/reloc_64.o CC arch/powerpc/platforms/powernv/opal-async.o CC arch/powerpc/kernel/trace/trace_clock.o CC arch/powerpc/kernel/dma-iommu.o CC arch/powerpc/kernel/iommu.o AS arch/powerpc/net/bpf_jit_asm64.o CC arch/powerpc/kernel/btext.o CC arch/powerpc/platforms/powernv/idle.o CC arch/powerpc/kernel/smp.o CC arch/powerpc/net/bpf_jit_comp64.o CC arch/powerpc/platforms/powernv/opal-nvram.o CC arch/powerpc/platforms/powernv/opal-rtc.o CC arch/powerpc/kernel/kprobes.o CC arch/powerpc/kernel/optprobes.o CC arch/powerpc/sysdev/mpic_msi.o CC arch/powerpc/sysdev/mpic_u3msi.o AS arch/powerpc/kernel/optprobes_head.o AS arch/powerpc/kernel/trace/ftrace_64.o AS arch/powerpc/kernel/trace/ftrace_64_pg.o CC arch/powerpc/xmon/xmon.o CC arch/powerpc/xmon/nonstdio.o CC arch/powerpc/kernel/uprobes.o AS arch/powerpc/platforms/pseries/hvCall.o CC arch/powerpc/platforms/powernv/opal-lpc.o AS [M] arch/powerpc/crypto/sha1-powerpc-asm.o CC arch/powerpc/kernel/legacy_serial.o CC [M] arch/powerpc/crypto/sha1.o CC arch/powerpc/platforms/pseries/nvram.o CC arch/powerpc/kernel/udbg_16550.o CC arch/powerpc/kernel/stacktrace.o AS [M] arch/powerpc/crypto/crc32c-vpmsum_asm.o CC arch/powerpc/platforms/powernv/opal-flash.o CC arch/powerpc/kernel/pci_64.o CC arch/powerpc/kernel/pci_dn.o CC arch/powerpc/platforms/powernv/rng.o CC arch/powerpc/kernel/pci-hotplug.o CC arch/powerpc/kernel/isa-bridge.o CC [M] arch/powerpc/crypto/crc32c-vpmsum_glue.o LD [M] arch/powerpc/crypto/md5-ppc.o AR arch/powerpc/kernel/trace/built-in.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/msi.o CC arch/powerpc/kernel/pci_of_scan.o CC arch/powerpc/kernel/machine_kexec.o AS arch/powerpc/xmon/spr_access.o CC arch/powerpc/platforms/powernv/opal-elog.o CC arch/powerpc/kernel/crash.o CC arch/powerpc/kernel/machine_kexec_64.o CC arch/powerpc/kernel/machine_kexec_file_64.o CC arch/powerpc/kernel/kexec_elf_64.o AS arch/powerpc/kernel/tm.o /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c: In function 'dump_one_paca': /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:2339:63: error: 'struct paca_struct' has no member named 'l1d_flush_congruence' printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \ ^ /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:2380:2: note: in expansion of macro 'DUMP' DUMP(p, l1d_flush_congruence, "llx"); ^ In file included from /home/kisskb/slave/src/include/linux/compiler_types.h:58:0, from /home/kisskb/slave/src/include/linux/linkage.h:5, from /home/kisskb/slave/src/include/linux/kernel.h:7, from /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:14: /home/kisskb/slave/src/include/linux/compiler-gcc.h:166:2: error: 'struct paca_struct' has no member named 'l1d_flush_congruence' __builtin_offsetof(a, b) ^ /home/kisskb/slave/src/include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) ^ /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:2340:3: note: in expansion of macro 'offsetof' offsetof(struct paca_struct, name)); ^ /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:2380:2: note: in expansion of macro 'DUMP' DUMP(p, l1d_flush_congruence, "llx"); ^ /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:2339:63: error: 'struct paca_struct' has no member named 'l1d_flush_sets' printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \ ^ /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:2381:2: note: in expansion of macro 'DUMP' DUMP(p, l1d_flush_sets, "llx"); ^ In file included from /home/kisskb/slave/src/include/linux/compiler_types.h:58:0, from /home/kisskb/slave/src/include/linux/linkage.h:5, from /home/kisskb/slave/src/include/linux/kernel.h:7, from /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:14: /home/kisskb/slave/src/include/linux/compiler-gcc.h:166:2: error: 'struct paca_struct' has no member named 'l1d_flush_sets' __builtin_offsetof(a, b) ^ /home/kisskb/slave/src/include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) ^ /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:2340:3: note: in expansion of macro 'offsetof' offsetof(struct paca_struct, name)); ^ /home/kisskb/slave/src/arch/powerpc/xmon/xmon.c:2381:2: note: in expansion of macro 'DUMP' DUMP(p, l1d_flush_sets, "llx"); ^ CC arch/powerpc/xmon/ppc-dis.o CC arch/powerpc/sysdev/msi_bitmap.o CC arch/powerpc/platforms/powernv/opal-dump.o AS arch/powerpc/kernel/ppc_save_regs.o /home/kisskb/slave/src/scripts/Makefile.build:310: recipe for target 'arch/powerpc/xmon/xmon.o' failed make[2]: *** [arch/powerpc/xmon/xmon.o] Error 1 make[2]: *** Waiting for unfinished jobs.... CC arch/powerpc/sysdev/i8259.o CC arch/powerpc/platforms/powernv/opal-sysparam.o CC arch/powerpc/platforms/powernv/opal-sensor.o CC arch/powerpc/sysdev/scom.o CC arch/powerpc/platforms/powernv/opal-msglog.o CC arch/powerpc/kernel/prom_init.o AS arch/powerpc/kernel/head_64.o CC arch/powerpc/sysdev/xics/xics-common.o CC arch/powerpc/platforms/powernv/opal-hmi.o LDS arch/powerpc/kernel/vmlinux.lds CC arch/powerpc/platforms/powernv/opal-power.o AS arch/powerpc/kernel/fpu.o CC arch/powerpc/platforms/pseries/reconfig.o AS arch/powerpc/kernel/vector.o AS arch/powerpc/kernel/entry_64.o AR arch/powerpc/lib/built-in.o CC [M] arch/powerpc/kernel/rtas_flash.o /home/kisskb/slave/src/Makefile:1012: recipe for target 'arch/powerpc/xmon' failed make[1]: *** [arch/powerpc/xmon] Error 2 make[1]: *** Waiting for unfinished jobs.... CC arch/powerpc/platforms/powernv/opal-irqchip.o CC arch/powerpc/sysdev/xive/common.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh CC arch/powerpc/platforms/powernv/opal-kmsg.o AR arch/powerpc/mm/built-in.o CC arch/powerpc/sysdev/xive/native.o AS arch/powerpc/kernel/systbl.o CC arch/powerpc/platforms/powernv/opal-powercap.o CC arch/powerpc/platforms/powernv/opal-psr.o CC arch/powerpc/sysdev/xics/icp-native.o CC arch/powerpc/platforms/pseries/of_helpers.o LD [M] arch/powerpc/crypto/sha1-powerpc.o CC arch/powerpc/platforms/powernv/opal-sensor-groups.o CC arch/powerpc/sysdev/xics/icp-hv.o CC arch/powerpc/sysdev/xics/ics-rtas.o CC arch/powerpc/platforms/powernv/smp.o LD [M] arch/powerpc/crypto/crc32c-vpmsum.o CC arch/powerpc/platforms/powernv/subcore.o CC arch/powerpc/sysdev/xive/spapr.o AS arch/powerpc/platforms/powernv/subcore-asm.o CC arch/powerpc/platforms/powernv/pci.o CC arch/powerpc/platforms/powernv/pci-ioda.o CC arch/powerpc/sysdev/xics/ics-opal.o CC arch/powerpc/sysdev/xics/icp-opal.o CC arch/powerpc/platforms/powernv/npu-dma.o CC arch/powerpc/platforms/powernv/pci-cxl.o CC arch/powerpc/platforms/powernv/eeh-powernv.o CC arch/powerpc/platforms/powernv/opal-xscom.o CC arch/powerpc/platforms/pseries/iommu.o CC arch/powerpc/platforms/pseries/setup.o CC arch/powerpc/platforms/powernv/opal-tracepoints.o CC arch/powerpc/platforms/pseries/event_sources.o CC arch/powerpc/platforms/powernv/opal-imc.o CC arch/powerpc/platforms/powernv/vas.o CC arch/powerpc/platforms/pseries/ras.o CC arch/powerpc/platforms/powernv/vas-window.o CC arch/powerpc/platforms/powernv/vas-debug.o CC arch/powerpc/platforms/pseries/firmware.o CC arch/powerpc/platforms/pseries/power.o CC arch/powerpc/platforms/pseries/dlpar.o CC arch/powerpc/platforms/pseries/mobility.o CC arch/powerpc/platforms/pseries/rng.o CC arch/powerpc/platforms/pseries/pci.o CC arch/powerpc/platforms/pseries/pci_dlpar.o CC arch/powerpc/platforms/pseries/smp.o CC arch/powerpc/platforms/pseries/msi.o CC arch/powerpc/platforms/pseries/eeh_pseries.o CC arch/powerpc/platforms/pseries/kexec.o CC arch/powerpc/platforms/pseries/pseries_energy.o CC arch/powerpc/platforms/pseries/hotplug-cpu.o CC arch/powerpc/platforms/pseries/hvconsole.o CC arch/powerpc/platforms/pseries/cmm.o CC arch/powerpc/platforms/pseries/io_event_irq.o CC arch/powerpc/platforms/pseries/dtl.o CC arch/powerpc/platforms/pseries/lparcfg.o AR arch/powerpc/net/built-in.o CC arch/powerpc/platforms/pseries/vio.o CC arch/powerpc/platforms/pseries/suspend.o CC [M] arch/powerpc/platforms/pseries/hvcserver.o CC [M] arch/powerpc/platforms/pseries/scanlog.o AR arch/powerpc/sysdev/xics/built-in.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/prom_init_check.sh AR arch/powerpc/sysdev/xive/built-in.o AR arch/powerpc/sysdev/built-in.o AR arch/powerpc/kernel/built-in.o AR arch/powerpc/platforms/pseries/built-in.o AR arch/powerpc/platforms/powernv/built-in.o AR arch/powerpc/platforms/built-in.o make[1]: Leaving directory '/home/kisskb/slave/build/powerpc-next_ppc64le_defconfig_ppc64le' Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/powerpc-next_ppc64le_defconfig_ppc64le CROSS_COMPILE=/opt/cross/kisskb/gcc-5.2.0-nolibc/powerpc64le-linux/bin/powerpc64le-linux- ' returned non-zero exit status 2 # rm -rf /home/kisskb/slave/build/powerpc-next_ppc64le_defconfig_ppc64le # Build took: 0:00:12.948688