# git gc Expanding reachable commits in commit graph: 55529 Expanding reachable commits in commit graph: 113991 Expanding reachable commits in commit graph: 173086 Expanding reachable commits in commit graph: 233481 Expanding reachable commits in commit graph: 292990 Expanding reachable commits in commit graph: 354290 Expanding reachable commits in commit graph: 415894 Expanding reachable commits in commit graph: 477838 Expanding reachable commits in commit graph: 536789 Expanding reachable commits in commit graph: 598920 Expanding reachable commits in commit graph: 660470 Expanding reachable commits in commit graph: 721925 Expanding reachable commits in commit graph: 783706 Expanding reachable commits in commit graph: 845699 Expanding reachable commits in commit graph: 907991 Expanding reachable commits in commit graph: 970332 Expanding reachable commits in commit graph: 1032338 Expanding reachable commits in commit graph: 1088385 Expanding reachable commits in commit graph: 1152316 Expanding reachable commits in commit graph: 1218509 Expanding reachable commits in commit graph: 1288026 Expanding reachable commits in commit graph: 1294482, done. Writing out commit graph in 4 passes: 55% (2860698/5177928) Writing out commit graph in 4 passes: 56% (2899640/5177928) Writing out commit graph in 4 passes: 57% (2951419/5177928) Writing out commit graph in 4 passes: 58% (3003199/5177928) Writing out commit graph in 4 passes: 59% (3054978/5177928) Writing out commit graph in 4 passes: 60% (3106757/5177928) Writing out commit graph in 4 passes: 61% (3158537/5177928) Writing out commit graph in 4 passes: 62% (3210316/5177928) Writing out commit graph in 4 passes: 63% (3262095/5177928) Writing out commit graph in 4 passes: 63% (3306077/5177928) Writing out commit graph in 4 passes: 64% (3313874/5177928) Writing out commit graph in 4 passes: 65% (3365654/5177928) Writing out commit graph in 4 passes: 66% (3417433/5177928) Writing out commit graph in 4 passes: 67% (3469212/5177928) Writing out commit graph in 4 passes: 68% (3520992/5177928) Writing out commit graph in 4 passes: 69% (3572771/5177928) Writing out commit graph in 4 passes: 70% (3624550/5177928) Writing out commit graph in 4 passes: 71% (3676329/5177928) Writing out commit graph in 4 passes: 72% (3728109/5177928) Writing out commit graph in 4 passes: 72% (3751663/5177928) Writing out commit graph in 4 passes: 73% (3779888/5177928) Writing out commit graph in 4 passes: 74% (3831667/5177928) Writing out commit graph in 4 passes: 75% (3883446/5177928) Writing out commit graph in 4 passes: 76% (3935226/5177928) Writing out commit graph in 4 passes: 77% (3987005/5177928) Writing out commit graph in 4 passes: 78% (4038784/5177928) Writing out commit graph in 4 passes: 79% (4090564/5177928) Writing out commit graph in 4 passes: 80% (4142343/5177928) Writing out commit graph in 4 passes: 81% (4194122/5177928) Writing out commit graph in 4 passes: 82% (4245901/5177928) Writing out commit graph in 4 passes: 83% (4297681/5177928) Writing out commit graph in 4 passes: 84% (4349460/5177928) Writing out commit graph in 4 passes: 85% (4401239/5177928) Writing out commit graph in 4 passes: 86% (4453019/5177928) Writing out commit graph in 4 passes: 87% (4504798/5177928) Writing out commit graph in 4 passes: 88% (4556577/5177928) Writing out commit graph in 4 passes: 89% (4608356/5177928) Writing out commit graph in 4 passes: 90% (4660136/5177928) Writing out commit graph in 4 passes: 91% (4711915/5177928) Writing out commit graph in 4 passes: 92% (4763694/5177928) Writing out commit graph in 4 passes: 93% (4815474/5177928) Writing out commit graph in 4 passes: 94% (4867253/5177928) Writing out commit graph in 4 passes: 95% (4919032/5177928) Writing out commit graph in 4 passes: 96% (4970811/5177928) Writing out commit graph in 4 passes: 97% (5022591/5177928) Writing out commit graph in 4 passes: 98% (5074370/5177928) Writing out commit graph in 4 passes: 99% (5126149/5177928) Writing out commit graph in 4 passes: 100% (5177928/5177928) Writing out commit graph in 4 passes: 100% (5177928/5177928), done. # 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 160 ARCH=sparc64 O=/kisskb/build/linus_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- defconfig # < make -s -j 160 ARCH=sparc64 O=/kisskb/build/linus_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 160 ARCH=sparc64 O=/kisskb/build/linus_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 160 ARCH=sparc64 O=/kisskb/build/linus_defconfig_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: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker In file included from /kisskb/src/arch/sparc/vdso/vdso32/vclock_gettime.c:22: /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso32/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /kisskb/src/kernel/fork.c: In function '__do_sys_clone3': /kisskb/src/kernel/fork.c:3072:2: warning: #warning clone3() entry point is missing, please fix [-Wcpp] 3072 | #warning clone3() entry point is missing, please fix | ^~~~~~~ /kisskb/src/kernel/fork.c:3072:2: warning: #warning clone3() entry point is missing, please fix [-Wcpp] 3072 | #warning clone3() entry point is missing, please fix | ^~~~~~~ In file included from /kisskb/src/include/asm-generic/percpu.h:7, from /kisskb/src/arch/sparc/include/asm/percpu_64.h:25, from /kisskb/src/arch/sparc/include/asm/percpu.h:5, from /kisskb/src/include/linux/irqflags.h:19, from /kisskb/src/include/asm-generic/cmpxchg-local.h:6, from /kisskb/src/arch/sparc/include/asm/cmpxchg_64.h:111, from /kisskb/src/arch/sparc/include/asm/cmpxchg.h:5, from /kisskb/src/arch/sparc/include/asm/atomic_64.h:12, from /kisskb/src/arch/sparc/include/asm/atomic.h:5, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/asm-generic/bitops/lock.h:5, from /kisskb/src/arch/sparc/include/asm/bitops_64.h:52, from /kisskb/src/arch/sparc/include/asm/bitops.h:5, from /kisskb/src/include/linux/bitops.h:68, from /kisskb/src/include/linux/kernel.h:23, from /kisskb/src/include/linux/profile.h:5, from /kisskb/src/kernel/profile.c:19: /kisskb/src/kernel/profile.c:52:28: warning: 'cpu_profile_flip' defined but not used [-Wunused-variable] 52 | static DEFINE_PER_CPU(int, cpu_profile_flip); | ^~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:104:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' 104 | __PCPU_ATTRS(sec) __typeof__(type) name | ^~~~ /kisskb/src/kernel/profile.c:52:8: note: in expansion of macro 'DEFINE_PER_CPU' 52 | static DEFINE_PER_CPU(int, cpu_profile_flip); | ^~~~~~~~~~~~~~ /kisskb/src/kernel/profile.c:51:48: warning: 'cpu_profile_hits' defined but not used [-Wunused-variable] 51 | static DEFINE_PER_CPU(struct profile_hit *[2], cpu_profile_hits); | ^~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:104:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' 104 | __PCPU_ATTRS(sec) __typeof__(type) name | ^~~~ /kisskb/src/kernel/profile.c:51:8: note: in expansion of macro 'DEFINE_PER_CPU' 51 | static DEFINE_PER_CPU(struct profile_hit *[2], cpu_profile_hits); | ^~~~~~~~~~~~~~ WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned. Is "_mcount" prototyped in ? Completed OK # rm -rf /kisskb/build/linus_defconfig_sparc64-gcc13 # Build took: 0:07:18.871759