Re: [PATCH RFC 0/3] mm/gup: consistently call it GUP-fast
David Hildenbrand <[email protected]>
| Newsgroups | gmane.linux.ports.ppc.embedded,gmane.linux.ports.sh.devel,gmane.linux.kernel,gmane.linux.ports.mips,gmane.linux.kernel.perf.user,gmane.linux.kernel.mm,gmane.linux.file-systems,gmane.linux.ports.arm.kernel |
|---|---|
| Organization | Red Hat |
| Message-ID | <[email protected]> |
On 28.03.24 08:15, Mike Rapoport wrote: > On Thu, Mar 28, 2024 at 07:09:13AM +0100, Arnd Bergmann wrote: >> On Thu, Mar 28, 2024, at 06:51, Vineet Gupta wrote: >>> On 3/27/24 09:22, Arnd Bergmann wrote: >>>> On Wed, Mar 27, 2024, at 16:39, David Hildenbrand wrote: >>>>> On 27.03.24 16:21, Peter Xu wrote: >>>>>> On Wed, Mar 27, 2024 at 02:05:35PM +0100, David Hildenbrand wrote: >>>>>> >>>>>> I'm not sure what config you tried there; as I am doing some build tests >>>>>> recently, I found turning off CONFIG_SAMPLES + CONFIG_GCC_PLUGINS could >>>>>> avoid a lot of issues, I think it's due to libc missing. But maybe not the >>>>>> case there. >>>>> CCin Arnd; I use some of his compiler chains, others from Fedora directly. For >>>>> example for alpha and arc, the Fedora gcc is "13.2.1". >>>>> But there is other stuff like (arc): >>>>> >>>>> ./arch/arc/include/asm/mmu-arcv2.h: In function 'mmu_setup_asid': >>>>> ./arch/arc/include/asm/mmu-arcv2.h:82:9: error: implicit declaration of >>>>> function 'write_aux_reg' [-Werro >>>>> r=implicit-function-declaration] >>>>> 82 | write_aux_reg(ARC_REG_PID, asid | MMU_ENABLE); >>>>> | ^~~~~~~~~~~~~ >>>> Seems to be missing an #include of soc/arc/aux.h, but I can't >>>> tell when this first broke without bisecting. >>> >>> Weird I don't see this one but I only have gcc 12 handy ATM. >>> >>> gcc version 12.2.1 20230306 (ARC HS GNU/Linux glibc toolchain - >>> build 1360) >>> >>> I even tried W=1 (which according to scripts/Makefile.extrawarn) should >>> include -Werror=implicit-function-declaration but don't see this still. >>> >>> Tomorrow I'll try building a gcc 13.2.1 for ARC. >> >> David reported them with the toolchains I built at >> https://mirrors.edge.kernel.org/pub/tools/crosstool/ >> I'm fairly sure the problem is specific to the .config >> and tree, not the toolchain though. > > This happens with defconfig and both gcc 12.2.0 and gcc 13.2.0 from your > crosstools. I also see these on the current Linus' tree: > > arc/kernel/ptrace.c:342:16: warning: no previous prototype for 'syscall_trace_enter' [-Wmissing-prototypes] > arch/arc/kernel/kprobes.c:193:15: warning: no previous prototype for 'arc_kprobe_handler' [-Wmissing-prototypes] > > This fixed the warning about write_aux_reg for me, probably Vineet would > want this include somewhere else... > > diff --git a/arch/arc/include/asm/mmu-arcv2.h b/arch/arc/include/asm/mmu-arcv2.h > index ed9036d4ede3..0fca342d7b79 100644 > --- a/arch/arc/include/asm/mmu-arcv2.h > +++ b/arch/arc/include/asm/mmu-arcv2.h > @@ -69,6 +69,8 @@ > > #ifndef __ASSEMBLY__ > > +#include <asm/arcregs.h> > + > struct mm_struct; > extern int pae40_exist_but_not_enab(void); Here are all err+warn I see with my configs on Linus' tree from today (not mm-unstable). Most of them are warnings due to missing prototypes or missing "clone3". Parisc64 seems to be a bit more broken. Maybe nobody cares about parisc64 anymore? Or it's a toolchain issue, don't know. xtensa is also broken, but "invalid register" smells like a toolchain issue to me. Maybe all known/expected, just posting it if anybody cares. I can share my full build script on request. [INFO] Compiling alpha [INFO] 0 errors [INFO] 102 warnings [PASS] $ cat alpha_log | grep warn <stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] arch/alpha/lib/checksum.c:45:9: warning: no previous prototype for 'csum_tcpudp_magic' [-Wmissing-prototypes] arch/alpha/lib/checksum.c:54:8: warning: no previous prototype for 'csum_tcpudp_nofold' [-Wmissing-prototypes] arch/alpha/lib/checksum.c:145:9: warning: no previous prototype for 'ip_fast_csum' [-Wmissing-prototypes] arch/alpha/lib/checksum.c:163:8: warning: no previous prototype for 'csum_partial' [-Wmissing-prototypes] arch/alpha/lib/checksum.c:180:9: warning: no previous prototype for 'ip_compute_csum' [-Wmissing-prototypes] arch/alpha/kernel/traps.c:211:1: warning: no previous prototype for 'do_entArith' [-Wmissing-prototypes] arch/alpha/kernel/traps.c:233:1: warning: no previous prototype for 'do_entIF' [-Wmissing-prototypes] arch/alpha/kernel/traps.c:400:1: warning: no previous prototype for 'do_entDbg' [-Wmissing-prototypes] arch/alpha/kernel/traps.c:436:1: warning: no previous prototype for 'do_entUna' [-Wmissing-prototypes] arch/alpha/kernel/traps.c:721:1: warning: no previous prototype for 'do_entUnaUser' [-Wmissing-prototypes] arch/alpha/mm/init.c:261:1: warning: no previous prototype for 'srm_paging_stop' [-Wmissing-prototypes] arch/alpha/lib/fpreg.c:20:1: warning: no previous prototype for 'alpha_read_fp_reg' [-Wmissing-prototypes] [....] [INFO] Compiling arc [INFO] 0 errors [INFO] 2 warnings [PASS] $ cat arc_log | grep warn arch/arc/kernel/ptrace.c:342:16: warning: no previous prototype for 'syscall_trace_enter' [-Wmissing-prototypes] arch/arc/kernel/kprobes.c:193:15: warning: no previous prototype for 'arc_kprobe_handler' [-Wmissing-prototypes] [INFO] Compiling hexagon [INFO] 0 errors [INFO] 1 warnings [PASS] $ cat hexagon_log | grep warn <stdin>:1519:2: warning: syscall clone3 not implemented [-W#warnings] 1519 | #warning syscall clone3 not implemented 1 warning generated. [INFO] Compiling mips64 [INFO] 0 errors [INFO] 15 warnings [PASS] $ cat mips64_log | grep warn arch/mips/sibyte/bcm1480/setup.c:104:13: warning: no previous prototype for 'bcm1480_setup' [-Wmissing-prototypes] arch/mips/sibyte/bcm1480/irq.c:200:13: warning: no previous prototype for 'init_bcm1480_irqs' [-Wmissing-prototypes] arch/mips/sibyte/bcm1480/time.c:10:13: warning: no previous prototype for 'plat_time_init' [-Wmissing-prototypes] arch/mips/sibyte/bcm1480/smp.c:49:6: warning: no previous prototype for 'bcm1480_smp_init' [-Wmissing-prototypes] arch/mips/sibyte/bcm1480/smp.c:158:6: warning: no previous prototype for 'bcm1480_mailbox_interrupt' [-Wmissing-prototypes] arch/mips/sibyte/swarm/setup.c:59:5: warning: no previous prototype for 'swarm_be_handler' [-Wmissing-prototypes] arch/mips/sibyte/swarm/rtc_xicor1241.c:108:5: warning: no previous prototype for 'xicor_set_time' [-Wmissing-prototypes] arch/mips/sibyte/swarm/rtc_xicor1241.c:167:10: warning: no previous prototype for 'xicor_get_time' [-Wmissing-prototypes] arch/mips/sibyte/swarm/rtc_xicor1241.c:203:5: warning: no previous prototype for 'xicor_probe' [-Wmissing-prototypes] arch/mips/sibyte/swarm/rtc_m41t81.c:139:5: warning: no previous prototype for 'm41t81_set_time' [-Wmissing-prototypes] arch/mips/sibyte/swarm/rtc_m41t81.c:186:10: warning: no previous prototype for 'm41t81_get_time' [-Wmissing-prototypes] arch/mips/sibyte/swarm/rtc_m41t81.c:219:5: warning: no previous prototype for 'm41t81_probe' [-Wmissing-prototypes] arch/mips/mm/cerr-sb1.c:165:17: warning: no previous prototype for 'sb1_cache_error' [-Wmissing-prototypes] arch/mips/kernel/cevt-bcm1480.c:96:6: warning: no previous prototype for 'sb1480_clockevent_init' [-Wmissing-prototypes] arch/mips/kernel/csrc-bcm1480.c:37:13: warning: no previous prototype for 'sb1480_clocksource_init' [-Wmissing-prototypes] [INFO] Compiling mips32-xpa [INFO] 0 errors [INFO] 1 warnings [PASS] $ cat mips32-xpa_log | grep warn drivers/uio/uio.c:795:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] [INFO] Compiling mips32-alchemy [INFO] 0 errors [INFO] 1 warnings [PASS] $ cat mips32-alchemy_log | grep warn drivers/net/ethernet/amd/au1000_eth.c:574:6: warning: no previous prototype for 'au1000_ReleaseDB' [-Wmissing-prototypes] [INFO] Compiling nios2 [INFO] 0 errors [INFO] 35 warnings [PASS] $ cat nios2_log | grep warn <stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] arch/nios2/lib/memcpy.c:160:7: warning: no previous prototype for 'memcpy' [-Wmissing-prototypes] arch/nios2/lib/memcpy.c:194:7: warning: no previous prototype for 'memcpyb' [-Wmissing-prototypes] arch/nios2/mm/dma-mapping.c:21:6: warning: no previous prototype for 'arch_sync_dma_for_device' [-Wmissing-prototypes] arch/nios2/mm/dma-mapping.c:45:6: warning: no previous prototype for 'arch_sync_dma_for_cpu' [-Wmissing-prototypes] arch/nios2/mm/dma-mapping.c:63:6: warning: no previous prototype for 'arch_dma_prep_coherent' [-Wmissing-prototypes] arch/nios2/mm/dma-mapping.c:70:7: warning: no previous prototype for 'arch_dma_set_uncached' [-Wmissing-prototypes] arch/nios2/kernel/irq.c:19:17: warning: no previous prototype for 'do_IRQ' [-Wmissing-prototypes] arch/nios2/kernel/process.c:34:6: warning: no previous prototype for 'arch_cpu_idle' [-Wmissing-prototypes] arch/nios2/kernel/process.c:43:6: warning: no previous prototype for 'machine_restart' [-Wmissing-prototypes] arch/nios2/kernel/process.c:54:6: warning: no previous prototype for 'machine_halt' [-Wmissing-prototypes] arch/nios2/kernel/process.c:66:6: warning: no previous prototype for 'machine_power_off' [-Wmissing-prototypes] arch/nios2/kernel/process.c:152:6: warning: no previous prototype for 'dump' [-Wmissing-prototypes] arch/nios2/kernel/process.c:253:16: warning: no previous prototype for 'nios2_clone' [-Wmissing-prototypes] [...] [INFO] Compiling parisc64 [INFO] 79 errors [INFO] 54 warnings [FAIL] $ cat parisc64_log | grep error ipc/sem.c:1284:18: error: 'struct semid64_ds' has no member named 'sem_otime_high'; did you mean 'sem_otime'? ipc/sem.c:1285:18: error: 'struct semid64_ds' has no member named 'sem_ctime_high'; did you mean 'sem_ctime'? ././include/linux/compiler_types.h:449:45: error: call to '__compiletime_assert_276' declared with attribute error: BUILD_BUG_ON failed: sizeof(struct semid64_ds) != 80 ipc/msg.c:567:12: error: 'struct msqid64_ds' has no member named 'msg_stime_high'; did you mean 'msg_stime'? ipc/msg.c:568:12: error: 'struct msqid64_ds' has no member named 'msg_rtime_high'; did you mean 'msg_rtime'? ipc/msg.c:569:12: error: 'struct msqid64_ds' has no member named 'msg_ctime_high'; did you mean 'msg_ctime'? ipc/shm.c:1137:15: error: 'struct shmid64_ds' has no member named 'shm_atime_high'; did you mean 'shm_atime'? ipc/shm.c:1138:15: error: 'struct shmid64_ds' has no member named 'shm_dtime_high'; did you mean 'shm_dtime'? ipc/shm.c:1139:15: error: 'struct shmid64_ds' has no member named 'shm_ctime_high'; did you mean 'shm_ctime'? ././include/linux/compiler_types.h:449:45: error: call to '__compiletime_assert_390' declared with attribute error: BUILD_BUG_ON failed: offsetof(struct dst_entry, __rcuref) & 63 ././include/linux/compiler_types.h:449:45: error: call to '__compiletime_assert_374' declared with attribute error: BUILD_BUG_ON failed: offsetof(struct dst_entry, __rcuref) & 63 ././include/linux/compiler_types.h:449:45: error: call to '__compiletime_assert_382' declared with attribute error: BUILD_BUG_ON failed: offsetof(struct dst_entry, __rcuref) & 63 [...] [INFO] Compiling sh [INFO] 0 errors [INFO] 39 warnings [PASS] $ cat sh_log | grep warn <stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] arch/sh/mm/cache-shx3.c:18:13: warning: no previous prototype for 'shx3_cache_init' [-Wmissing-prototypes] arch/sh/mm/flush-sh4.c:106:13: warning: no previous prototype for 'sh4__flush_region_init' [-Wmissing-prototypes] arch/sh/mm/cache-sh4.c:384:13: warning: no previous prototype for 'sh4_cache_init' [-Wmissing-prototypes] arch/sh/kernel/return_address.c:49:7: warning: no previous prototype for 'return_address' [-Wmissing-prototypes] arch/sh/mm/pgtable.c:10:6: warning: no previous prototype for 'pgd_ctor' [-Wmissing-prototypes] arch/sh/mm/pgtable.c:32:8: warning: no previous prototype for 'pgd_alloc' [-Wmissing-prototypes] arch/sh/mm/pgtable.c:37:6: warning: no previous prototype for 'pgd_free' [-Wmissing-prototypes] arch/sh/mm/pgtable.c:43:6: warning: no previous prototype for 'pud_populate' [-Wmissing-prototypes] arch/sh/mm/pgtable.c:48:8: warning: no previous prototype for 'pmd_alloc_one' [-Wmissing-prototypes] arch/sh/mm/pgtable.c:53:6: warning: no previous prototype for 'pmd_free' [-Wmissing-prototypes] arch/sh/mm/tlbex_32.c:22:1: warning: no previous prototype for 'handle_tlbmiss' [-Wmissing-prototypes] arch/sh/kernel/sys_sh.c:58:16: warning: no previous prototype for 'sys_cacheflush' [-Wmissing-prototypes] [...] [INFO] Compiling sparc32 [INFO] 0 errors [INFO] 1 warnings [PASS] $ cat sparc32_log | grep warn <stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] [INFO] Compiling sparc64 [INFO] 0 errors [INFO] 26 warnings [PASS] $ cat sparc64_log | grep warn <stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] arch/sparc/vdso/vma.c:246:12: warning: no previous prototype for 'init_vdso_image' [-Wmissing-prototypes] arch/sparc/vdso/vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] arch/sparc/vdso/vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] arch/sparc/vdso/vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] arch/sparc/vdso/vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] arch/sparc/kernel/traps_64.c:253:6: warning: no previous prototype for 'is_no_fault_exception' [-Wmissing-prototypes] arch/sparc/kernel/traps_64.c:2035:6: warning: no previous prototype for 'do_mcd_err' [-Wmissing-prototypes] [...] [INFO] Compiling uml64 [INFO] 0 errors [INFO] 51 warnings [PASS] $ cat uml64_log | grep warn arch/x86/um/user-offsets.c:17:6: warning: no previous prototype for 'foo' [-Wmissing-prototypes] ./arch/x86/um/shared/sysdep/kernel-offsets.h:9:6: warning: no previous prototype for 'foo' [-Wmissing-prototypes] arch/x86/um/bugs_64.c:9:6: warning: no previous prototype for 'arch_check_bugs' [-Wmissing-prototypes] arch/x86/um/bugs_64.c:13:6: warning: no previous prototype for 'arch_examine_signal' [-Wmissing-prototypes] arch/x86/um/fault.c:18:5: warning: no previous prototype for 'arch_fixup' [-Wmissing-prototypes] arch/x86/um/ptrace_64.c:111:5: warning: no previous prototype for 'poke_user' [-Wmissing-prototypes] arch/x86/um/ptrace_64.c:171:5: warning: no previous prototype for 'peek_user' [-Wmissing-prototypes] arch/um/os-Linux/main.c:187:7: warning: no previous prototype for '__wrap_malloc' [-Wmissing-prototypes] arch/um/os-Linux/main.c:208:7: warning: no previous prototype for '__wrap_calloc' [-Wmissing-prototypes] arch/um/os-Linux/main.c:222:6: warning: no previous prototype for '__wrap_free' [-Wmissing-prototypes] arch/um/os-Linux/mem.c:28:6: warning: no previous prototype for 'kasan_map_memory' [-Wmissing-prototypes] arch/um/os-Linux/mem.c:212:13: warning: no previous prototype for 'check_tmpexec' [-Wmissing-prototypes] arch/um/os-Linux/signal.c:75:6: warning: no previous prototype for 'sig_handler' [-Wmissing-prototypes] arch/um/os-Linux/signal.c:111:6: warning: no previous prototype for 'timer_alarm_handler' [-Wmissing-prototypes] [...] [INFO] Compiling xtensa [INFO] 1 errors [INFO] 1 warnings [FAIL] $ cat xtensa_log | grep Error ./arch/xtensa/include/asm/initialize_mmu.h:57: Error: invalid register 'atomctl' for 'wsr' instruction make[4]: *** [scripts/Makefile.build:362: arch/xtensa/kernel/head.o] Error 1 make[3]: *** [scripts/Makefile.build:485: arch/xtensa/kernel] Error 2 make[2]: *** [scripts/Makefile.build:485: arch/xtensa] Error 2 make[1]: *** [/home/dhildenb/git/linux-cross/Makefile:1919: .] Error 2 make: *** [Makefile:240: __sub-make] Error 2 -- Cheers, David / dhildenb