Buildresult: linus/rv32_defconfig/riscv-gcc13 built on Aug 13 2023, 05:33
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Aug 13 2023, 05:33
Duration:
0:02:30.295733
Builder:
ka7
Revision:
locking: remove spin_lock_prefetch (
c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3)
Target:
linus/rv32_defconfig/riscv-gcc13
Branch:
linus
Compiler:
riscv-gcc13
(riscv64-linux-gcc (GCC) 13.1.0 / GNU ld (GNU Binutils) 2.40)
Config:
rv32_defconfig
(
download
)
Log:
Download original
Possible warnings (1)
.config:4973:warning: override: ARCH_RV32I changes choice state
Full Log
# git rev-parse -q --verify c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3^{commit} c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3 already have revision, skipping fetch # git checkout -q -f -B kisskb c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3 # git clean -qxdf # < git log -1 # commit c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3 # Author: Mateusz Guzik <mjguzik@gmail.com> # Date: Sat Aug 12 18:15:54 2023 +0200 # # locking: remove spin_lock_prefetch # # The only remaining consumer is new_inode, where it showed up in 2001 as # commit c37fa164f793 ("v2.4.9.9 -> v2.4.9.10") in a historical repo [1] # with a changelog which does not mention it. # # Since then the line got only touched up to keep compiling. # # While it may have been of benefit back in the day, it is guaranteed to # at best not get in the way in the multicore setting -- as the code # performs *a lot* of work between the prefetch and actual lock acquire, # any contention means the cacheline is already invalid by the time the # routine calls spin_lock(). It adds spurious traffic, for short. # # On top of it prefetch is notoriously tricky to use for single-threaded # purposes, making it questionable from the get go. # # As such, remove it. # # I admit upfront I did not see value in benchmarking this change, but I # can do it if that is deemed appropriate. # # Removal from new_inode and of the entire thing are in the same patch as # requested by Linus, so whatever weird looks can be directed at that guy. # # Link: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/fs/inode.c?id=c37fa164f793735b32aa3f53154ff1a7659e6442 [1] # Signed-off-by: Mateusz Guzik <mjguzik@gmail.com> # Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux-ld --version # < git log --format=%s --max-count=1 c8afaa1b0f8bc93d013ab2ea6b9649958af3f1d3 # make -s -j 32 ARCH=riscv O=/kisskb/build/linus_rv32_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux- rv32_defconfig Using .config as base Merging /kisskb/src/arch/riscv/configs/32-bit.config Value of CONFIG_PORTABLE is redefined by fragment /kisskb/src/arch/riscv/configs/32-bit.config: Previous value: CONFIG_PORTABLE=y New value: # CONFIG_PORTABLE is not set Value of CONFIG_NONPORTABLE is redefined by fragment /kisskb/src/arch/riscv/configs/32-bit.config: Previous value: # CONFIG_NONPORTABLE is not set New value: CONFIG_NONPORTABLE=y # # merged configuration written to .config (needs make) # .config:4973:warning: override: ARCH_RV32I changes choice state # < make -s -j 32 ARCH=riscv O=/kisskb/build/linus_rv32_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux- help # make -s -j 32 ARCH=riscv O=/kisskb/build/linus_rv32_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux- olddefconfig # make -s -j 32 ARCH=riscv O=/kisskb/build/linus_rv32_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux- Completed OK # rm -rf /kisskb/build/linus_rv32_defconfig_riscv-gcc13 # Build took: 0:02:30.295733
© Michael Ellerman 2006-2018.