Buildresult: linus/sparc-allmodconfig/sparc64-gcc5 built on Feb 18 2022, 04:44
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
Failed
Date/Time:
Feb 18 2022, 04:44
Duration:
0:03:41.693205
Builder:
ka4
Revision:
mm: don't try to NUMA-migrate COW pages that have other uses (
80d47f5de5e311cbc0d01ebb6ee684e8f4c196c6)
Target:
linus/sparc-allmodconfig/sparc64-gcc5
Branch:
linus
Compiler:
sparc64-gcc5
(sparc64-linux-gcc.br_real (Buildroot 2016.11-git-00613-ge98b4dd) 5.4.0 / GNU ld (GNU Binutils) 2.26.1)
Config:
allmodconfig
(
download
)
Log:
Download original
Possible errors
arch/sparc/kernel/head_32.o:(.head.text+0x5040): relocation truncated to fit: R_SPARC_WDISP22 against `.init.text' arch/sparc/kernel/head_32.o:(.head.text+0x5100): relocation truncated to fit: R_SPARC_WDISP22 against `.init.text' arch/sparc/kernel/head_32.o:(.init.text+0xa4): relocation truncated to fit: R_SPARC_WDISP22 against symbol `leon_smp_cpu_startup' defined in .text section in arch/sparc/kernel/trampoline_32.o arch/sparc/kernel/process_32.o:(.fixup+0x4): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/process_32.o:(.fixup+0xc): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x4): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x10): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x1c): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x28): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x34): relocation truncated to fit: R_SPARC_WDISP22 against `.text' make[1]: *** [Makefile:1155: vmlinux] Error 1 make: *** [Makefile:219: __sub-make] Error 2
Possible warnings (15)
<stdin>:1517:2: warning: #warning syscall clone3 not implemented [-Wcpp] WARNING: modpost: EXPORT symbol "bzero_1page" [vmlinux] version ... WARNING: modpost: EXPORT symbol "___rw_read_exit" [vmlinux] version ... WARNING: modpost: EXPORT symbol "___rw_read_try" [vmlinux] version ... WARNING: modpost: EXPORT symbol "__ndelay" [vmlinux] version ... WARNING: modpost: EXPORT symbol "__ashrdi3" [vmlinux] version ... WARNING: modpost: EXPORT symbol "empty_zero_page" [vmlinux] version ... WARNING: modpost: EXPORT symbol "__udelay" [vmlinux] version ... WARNING: modpost: EXPORT symbol "__lshrdi3" [vmlinux] version ... WARNING: modpost: EXPORT symbol "___rw_write_enter" [vmlinux] version ... WARNING: modpost: EXPORT symbol "__ashldi3" [vmlinux] version ... WARNING: modpost: EXPORT symbol "__copy_1page" [vmlinux] version ... WARNING: modpost: EXPORT symbol "__muldi3" [vmlinux] version ... WARNING: modpost: EXPORT symbol "__divdi3" [vmlinux] version ... WARNING: modpost: EXPORT symbol "___rw_read_enter" [vmlinux] version ...
Full Log
# git rev-parse -q --verify 80d47f5de5e311cbc0d01ebb6ee684e8f4c196c6^{commit} 80d47f5de5e311cbc0d01ebb6ee684e8f4c196c6 already have revision, skipping fetch # git checkout -q -f -B kisskb 80d47f5de5e311cbc0d01ebb6ee684e8f4c196c6 # git clean -qxdf # < git log -1 # commit 80d47f5de5e311cbc0d01ebb6ee684e8f4c196c6 # Author: Linus Torvalds <torvalds@linux-foundation.org> # Date: Thu Feb 17 08:57:47 2022 -0800 # # mm: don't try to NUMA-migrate COW pages that have other uses # # Oded Gabbay reports that enabling NUMA balancing causes corruption with # his Gaudi accelerator test load: # # "All the details are in the bug, but the bottom line is that somehow, # this patch causes corruption when the numa balancing feature is # enabled AND we don't use process affinity AND we use GUP to pin pages # so our accelerator can DMA to/from system memory. # # Either disabling numa balancing, using process affinity to bind to # specific numa-node or reverting this patch causes the bug to # disappear" # # and Oded bisected the issue to commit 09854ba94c6a ("mm: do_wp_page() # simplification"). # # Now, the NUMA balancing shouldn't actually be changing the writability # of a page, and as such shouldn't matter for COW. But it appears it # does. Suspicious. # # However, regardless of that, the condition for enabling NUMA faults in # change_pte_range() is nonsensical. It uses "page_mapcount(page)" to # decide if a COW page should be NUMA-protected or not, and that makes # absolutely no sense. # # The number of mappings a page has is irrelevant: not only does GUP get a # reference to a page as in Oded's case, but the other mappings migth be # paged out and the only reference to them would be in the page count. # # Since we should never try to NUMA-balance a page that we can't move # anyway due to other references, just fix the code to use 'page_count()'. # Oded confirms that that fixes his issue. # # Now, this does imply that something in NUMA balancing ends up changing # page protections (other than the obvious one of making the page # inaccessible to get the NUMA faulting information). Otherwise the COW # simplification wouldn't matter - since doing the GUP on the page would # make sure it's writable. # # The cause of that permission change would be good to figure out too, # since it clearly results in spurious COW events - but fixing the # nonsensical test that just happened to work before is obviously the # CorrectThing(tm) to do regardless. # # Fixes: 09854ba94c6a ("mm: do_wp_page() simplification") # Link: https://bugzilla.kernel.org/show_bug.cgi?id=215616 # Link: https://lore.kernel.org/all/CAFCwf10eNmwq2wD71xjUhqkvv5+_pJMR1nPug2RqNDcFT4H86Q@mail.gmail.com/ # Reported-and-tested-by: Oded Gabbay <oded.gabbay@gmail.com> # Cc: David Hildenbrand <david@redhat.com> # Cc: Peter Xu <peterx@redhat.com> # Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> # < /opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 80d47f5de5e311cbc0d01ebb6ee684e8f4c196c6 # < make -s -j 120 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- allmodconfig # Added to kconfig CONFIG_64BIT=n # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_HAVE_FTRACE_MCOUNT_RECORD=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 120 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- help # make -s -j 120 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- olddefconfig # make -s -j 120 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- <stdin>:1517:2: warning: #warning syscall clone3 not implemented [-Wcpp] WARNING: modpost: EXPORT symbol "bzero_1page" [vmlinux] version ... Is "bzero_1page" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "___rw_read_exit" [vmlinux] version ... Is "___rw_read_exit" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "___rw_read_try" [vmlinux] version ... Is "___rw_read_try" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "__ndelay" [vmlinux] version ... Is "__ndelay" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "__ashrdi3" [vmlinux] version ... Is "__ashrdi3" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "empty_zero_page" [vmlinux] version ... Is "empty_zero_page" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "__udelay" [vmlinux] version ... Is "__udelay" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "__lshrdi3" [vmlinux] version ... Is "__lshrdi3" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "___rw_write_enter" [vmlinux] version ... Is "___rw_write_enter" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "__ashldi3" [vmlinux] version ... Is "__ashldi3" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "__copy_1page" [vmlinux] version ... Is "__copy_1page" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "__muldi3" [vmlinux] version ... Is "__muldi3" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "__divdi3" [vmlinux] version ... Is "__divdi3" prototyped in <asm/asm-prototypes.h>? WARNING: modpost: EXPORT symbol "___rw_read_enter" [vmlinux] version ... Is "___rw_read_enter" prototyped in <asm/asm-prototypes.h>? arch/sparc/kernel/head_32.o: In function `current_pc': arch/sparc/kernel/head_32.o:(.head.text+0x5040): relocation truncated to fit: R_SPARC_WDISP22 against `.init.text' arch/sparc/kernel/head_32.o: In function `halt_notsup': arch/sparc/kernel/head_32.o:(.head.text+0x5100): relocation truncated to fit: R_SPARC_WDISP22 against `.init.text' arch/sparc/kernel/head_32.o: In function `leon_init': arch/sparc/kernel/head_32.o:(.init.text+0xa4): relocation truncated to fit: R_SPARC_WDISP22 against symbol `leon_smp_cpu_startup' defined in .text section in arch/sparc/kernel/trampoline_32.o arch/sparc/kernel/process_32.o:(.fixup+0x4): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/process_32.o:(.fixup+0xc): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x4): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x10): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x1c): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x28): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x34): relocation truncated to fit: R_SPARC_WDISP22 against `.text' arch/sparc/kernel/signal_32.o:(.fixup+0x40): additional relocation overflows omitted from the output make[1]: *** [/kisskb/src/Makefile:1155: vmlinux] Error 1 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 120 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64 CROSS_COMPILE=/opt/cross/kisskb/br-sparc64-full-2016.08-613-ge98b4dd/bin/sparc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_sparc-allmodconfig_sparc64 # Build took: 0:03:41.693205
© Michael Ellerman 2006-2018.