Buildresult: powerpc-next/corenet64_smp_defconfig+KVM/powerpc-gcc13 built on Oct 24, 02:47
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Oct 24, 02:47
Duration:
0:02:18.566609
Builder:
alpine1
Revision:
powerpc64/bpf: Add support for bpf trampolines (
bb86adc4825afb5a01be747f451317c4a29a3607)
Target:
powerpc-next/corenet64_smp_defconfig+KVM/powerpc-gcc13
Branch:
powerpc-next
Compiler:
powerpc-gcc13
(powerpc64-linux-gcc (GCC) 13.1.0 / GNU ld (GNU Binutils) 2.40)
Config:
corenet64_smp_defconfig+KVM
(
download
)
Log:
Download original
Possible warnings (1)
.config:4681:warning: override: reassigning to symbol VIRTUALIZATION
Full Log
# git rev-parse -q --verify bb86adc4825afb5a01be747f451317c4a29a3607^{commit} bb86adc4825afb5a01be747f451317c4a29a3607 already have revision, skipping fetch # git checkout -q -f -B kisskb bb86adc4825afb5a01be747f451317c4a29a3607 # git clean -qxdf # < git log -1 # commit bb86adc4825afb5a01be747f451317c4a29a3607 # Author: Naveen N Rao <naveen@kernel.org> # Date: Fri Oct 18 23:06:32 2024 +0530 # # powerpc64/bpf: Add support for bpf trampolines # # Add support for bpf_arch_text_poke() and arch_prepare_bpf_trampoline() # for 64-bit powerpc. While the code is generic, BPF trampolines are only # enabled on 64-bit powerpc. 32-bit powerpc will need testing and some # updates. # # BPF Trampolines adhere to the existing ftrace ABI utilizing a # two-instruction profiling sequence, as well as the newer ABI utilizing a # three-instruction profiling sequence enabling return with a 'blr'. The # trampoline code itself closely follows x86 implementation. # # BPF prog JIT is extended to mimic 64-bit powerpc approach for ftrace # having a single nop at function entry, followed by the function # profiling sequence out-of-line and a separate long branch stub for calls # to trampolines that are out of range. A dummy_tramp is provided to # simplify synchronization similar to arm64. # # When attaching a bpf trampoline to a bpf prog, we can patch up to three # things: # - the nop at bpf prog entry to go to the out-of-line stub # - the instruction in the out-of-line stub to either call the bpf trampoline # directly, or to branch to the long_branch stub. # - the trampoline address before the long_branch stub. # # We do not need any synchronization here since we always have a valid # branch target regardless of the order in which the above stores are # seen. dummy_tramp ensures that the long_branch stub goes to a valid # destination on other cpus, even when the branch to the long_branch stub # is seen before the updated trampoline address. # # However, when detaching a bpf trampoline from a bpf prog, or if changing # the bpf trampoline address, we need synchronization to ensure that other # cpus can no longer branch into the older trampoline so that it can be # safely freed. bpf_tramp_image_put() uses rcu_tasks to ensure all cpus # make forward progress, but we still need to ensure that other cpus # execute isync (or some CSI) so that they don't go back into the # trampoline again. While here, update the stale comment that describes # the redzone usage in ppc64 BPF JIT. # # Signed-off-by: Naveen N Rao <naveen@kernel.org> # Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> # Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> # Link: https://patch.msgid.link/20241018173632.277333-18-hbathini@linux.ibm.com # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 bb86adc4825afb5a01be747f451317c4a29a3607 # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_corenet64_smp_defconfig+KVM_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- corenet64_smp_defconfig Using /kisskb/src/arch/powerpc/configs/corenet_base.config as base Merging /kisskb/src/arch/powerpc/configs/85xx-64bit.config Merging /kisskb/src/arch/powerpc/configs/85xx-smp.config Merging /kisskb/src/arch/powerpc/configs/altivec.config Merging /kisskb/src/arch/powerpc/configs/85xx-hw.config Merging /kisskb/src/arch/powerpc/configs/fsl-emb-nonhw.config Merging /kisskb/src/arch/powerpc/configs/dpaa.config # # merged configuration written to .config (needs make) # # Added to kconfig CONFIG_KVM_E500MC=y # Added to kconfig CONFIG_VIRTUALIZATION=y # Added to kconfig CONFIG_KVM_MPIC=y # < make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_corenet64_smp_defconfig+KVM_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_corenet64_smp_defconfig+KVM_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig .config:4681:warning: override: reassigning to symbol VIRTUALIZATION # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_corenet64_smp_defconfig+KVM_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- Completed OK # rm -rf /kisskb/build/powerpc-next_corenet64_smp_defconfig+KVM_powerpc-gcc13 # Build took: 0:02:18.566609
© Michael Ellerman 2006-2018.