# git rev-parse -q --verify 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c^{commit} 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c # git checkout -q -f -B kisskb 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c # git clean -qxdf # < git log -1 # commit 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c # Author: Linus Torvalds # Date: Mon Jul 29 10:58:28 2024 -0700 # # profiling: attempt to remove per-cpu profile flip buffer # # This is the really old legacy kernel profiling code, which has long # since been obviated by "real profiling" (ie 'prof' and company), and # mainly remains as a source of syzbot reports. # # There are anecdotal reports that people still use it for boot-time # profiling, but it's unlikely that such use would care about the old NUMA # optimizations in this code from 2004 (commit ad02973d42: "profile: 512x # Altix timer interrupt livelock fix" in the BK import archive at [1]) # # So in order to head off future syzbot reports, let's try to simplify # this code and get rid of the per-cpu profile buffers that are quite a # large portion of the complexity footprint of this thing (including CPU # hotplug callbacks etc). # # It's unlikely anybody will actually notice, or possibly, as Thomas put # it: "Only people who indulge in nostalgia will notice :)". # # That said, if it turns out that this code is actually actively used by # somebody, we can always revert this removal. Thus the "attempt" in the # summary line. # # [ Note: in a small nod to "the profiling code can cause NUMA problems", # this also removes the "increment the last entry in the profiling array # on any unknown hits" logic. That would account any program counter in # a module to that single counter location, and might exacerbate any # NUMA cacheline bouncing issues ] # # Link: https://lore.kernel.org/all/CAHk-=wgs52BxT4Zjmjz8aNvHWKxf5_ThBY4bYL1Y6CTaNL2dTw@mail.gmail.com/ # Link: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git [1] # Cc: Thomas Gleixner # Cc: Tetsuo Handa # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c # make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_allmodconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- allmodconfig # < make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_allmodconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_allmodconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_allmodconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sparc/vdso/vclock_gettime.c:254:1: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:282:1: error: no previous prototype for '__vdso_clock_gettime_stick' [-Werror=missing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:307:1: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:343:1: error: no previous prototype for '__vdso_gettimeofday_stick' [-Werror=missing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:244: arch/sparc/vdso/vclock_gettime.o] Error 1 make[4]: *** [/kisskb/src/scripts/Makefile.build:485: arch/sparc/vdso] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:485: arch/sparc] Error 2 make[3]: *** Waiting for unfinished jobs.... /kisskb/src/kernel/fork.c: In function '__do_sys_clone3': /kisskb/src/kernel/fork.c:3072:2: error: #warning clone3() entry point is missing, please fix [-Werror=cpp] 3072 | #warning clone3() entry point is missing, please fix | ^~~~~~~ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:244: kernel/fork.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:485: kernel] Error 2 make[2]: *** [/kisskb/src/Makefile:1925: .] Error 2 make[1]: *** [/kisskb/src/Makefile:224: __sub-make] Error 2 make: *** [Makefile:224: __sub-make] Error 2 Command 'make -s -j 24 ARCH=sparc64 O=/kisskb/build/linus_allmodconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allmodconfig_sparc64-gcc13 # Build took: 0:37:45.369503