# git gc Expanding reachable commits in commit graph: 27240 Expanding reachable commits in commit graph: 56507 Expanding reachable commits in commit graph: 89683 Expanding reachable commits in commit graph: 121237 Expanding reachable commits in commit graph: 141707 Expanding reachable commits in commit graph: 161740 Expanding reachable commits in commit graph: 181681 Expanding reachable commits in commit graph: 200829 Expanding reachable commits in commit graph: 221317 Expanding reachable commits in commit graph: 251603 Expanding reachable commits in commit graph: 283933 Expanding reachable commits in commit graph: 314275 Expanding reachable commits in commit graph: 346320 Expanding reachable commits in commit graph: 380006 Expanding reachable commits in commit graph: 414511 Expanding reachable commits in commit graph: 453003 Expanding reachable commits in commit graph: 480230 Expanding reachable commits in commit graph: 507511 Expanding reachable commits in commit graph: 538284 Expanding reachable commits in commit graph: 569291 Expanding reachable commits in commit graph: 598674 Expanding reachable commits in commit graph: 637720 Expanding reachable commits in commit graph: 679855 Expanding reachable commits in commit graph: 714280 Expanding reachable commits in commit graph: 749660 Expanding reachable commits in commit graph: 779467 Expanding reachable commits in commit graph: 808528 Expanding reachable commits in commit graph: 839179 Expanding reachable commits in commit graph: 873191 Expanding reachable commits in commit graph: 907635 Expanding reachable commits in commit graph: 936531 Expanding reachable commits in commit graph: 962383 Expanding reachable commits in commit graph: 995237 Expanding reachable commits in commit graph: 1028616 Expanding reachable commits in commit graph: 1053348 Expanding reachable commits in commit graph: 1082802 Expanding reachable commits in commit graph: 1113239 Expanding reachable commits in commit graph: 1136048 Expanding reachable commits in commit graph: 1157238 Expanding reachable commits in commit graph: 1178371 Expanding reachable commits in commit graph: 1199919 Expanding reachable commits in commit graph: 1222142 Expanding reachable commits in commit graph: 1244370 Expanding reachable commits in commit graph: 1251583, done. Finding extra edges in commit graph: 0% (2/1251583) Finding extra edges in commit graph: 1% (12516/1251583) Finding extra edges in commit graph: 2% (25032/1251583) Finding extra edges in commit graph: 3% (37548/1251583) Finding extra edges in commit graph: 4% (50064/1251583) Finding extra edges in commit graph: 5% (62580/1251583) Finding extra edges in commit graph: 6% (75095/1251583) Finding extra edges in commit graph: 7% (87611/1251583) Finding extra edges in commit graph: 8% (100127/1251583) Finding extra edges in commit graph: 9% (112643/1251583) Finding extra edges in commit graph: 10% (125159/1251583) Finding extra edges in commit graph: 11% (137675/1251583) Finding extra edges in commit graph: 12% (150190/1251583) Finding extra edges in commit graph: 13% (162706/1251583) Finding extra edges in commit graph: 14% (175222/1251583) Finding extra edges in commit graph: 15% (187738/1251583) Finding extra edges in commit graph: 16% (200254/1251583) Finding extra edges in commit graph: 17% (212770/1251583) Finding extra edges in commit graph: 18% (225285/1251583) Finding extra edges in commit graph: 19% (237801/1251583) Finding extra edges in commit graph: 20% (250317/1251583) Finding extra edges in commit graph: 21% (262833/1251583) Finding extra edges in commit graph: 22% (275349/1251583) Finding extra edges in commit graph: 23% (287865/1251583) Finding extra edges in commit graph: 24% (300380/1251583) Finding extra edges in commit graph: 25% (312896/1251583) Finding extra edges in commit graph: 26% (325412/1251583) Finding extra edges in commit graph: 27% (337928/1251583) Finding extra edges in commit graph: 28% (350444/1251583) Finding extra edges in commit graph: 29% (362960/1251583) Finding extra edges in commit graph: 30% (375475/1251583) Finding extra edges in commit graph: 31% (387991/1251583) Finding extra edges in commit graph: 32% (400507/1251583) Finding extra edges in commit graph: 33% (413023/1251583) Finding extra edges in commit graph: 34% (425539/1251583) Finding extra edges in commit graph: 35% (438055/1251583) Finding extra edges in commit graph: 36% (450570/1251583) Finding extra edges in commit graph: 37% (463086/1251583) Finding extra edges in commit graph: 38% (475602/1251583) Finding extra edges in commit graph: 39% (488118/1251583) Finding extra edges in commit graph: 40% (500634/1251583) Finding extra edges in commit graph: 41% (513150/1251583) Finding extra edges in commit graph: 42% (525665/1251583) Finding extra edges in commit graph: 43% (538181/1251583) Finding extra edges in commit graph: 44% (550697/1251583) Finding extra edges in commit graph: 45% (563213/1251583) Finding extra edges in commit graph: 46% (575729/1251583) Finding extra edges in commit graph: 47% (588245/1251583) Finding extra edges in commit graph: 48% (600760/1251583) Finding extra edges in commit graph: 49% (613276/1251583) Finding extra edges in commit graph: 50% (625792/1251583) Finding extra edges in commit graph: 51% (638308/1251583) Finding extra edges in commit graph: 52% (650824/1251583) Finding extra edges in commit graph: 53% (663339/1251583) Finding extra edges in commit graph: 54% (675855/1251583) Finding extra edges in commit graph: 55% (688371/1251583) Finding extra edges in commit graph: 56% (700887/1251583) Finding extra edges in commit graph: 57% (713403/1251583) Finding extra edges in commit graph: 58% (725919/1251583) Finding extra edges in commit graph: 59% (738434/1251583) Finding extra edges in commit graph: 60% (750950/1251583) Finding extra edges in commit graph: 61% (763466/1251583) Finding extra edges in commit graph: 62% (775982/1251583) Finding extra edges in commit graph: 63% (788498/1251583) Finding extra edges in commit graph: 64% (801014/1251583) Finding extra edges in commit graph: 65% (813529/1251583) Finding extra edges in commit graph: 66% (826045/1251583) Finding extra edges in commit graph: 66% (837662/1251583) Finding extra edges in commit graph: 67% (838561/1251583) Finding extra edges in commit graph: 68% (851077/1251583) Finding extra edges in commit graph: 69% (863593/1251583) Finding extra edges in commit graph: 70% (876109/1251583) Finding extra edges in commit graph: 71% (888624/1251583) Finding extra edges in commit graph: 72% (901140/1251583) Finding extra edges in commit graph: 73% (913656/1251583) Finding extra edges in commit graph: 74% (926172/1251583) Finding extra edges in commit graph: 75% (938688/1251583) Finding extra edges in commit graph: 76% (951204/1251583) Finding extra edges in commit graph: 77% (963719/1251583) Finding extra edges in commit graph: 78% (976235/1251583) Finding extra edges in commit graph: 79% (988751/1251583) Finding extra edges in commit graph: 80% (1001267/1251583) Finding extra edges in commit graph: 81% (1013783/1251583) Finding extra edges in commit graph: 82% (1026299/1251583) Finding extra edges in commit graph: 83% (1038814/1251583) Finding extra edges in commit graph: 84% (1051330/1251583) Finding extra edges in commit graph: 85% (1063846/1251583) Finding extra edges in commit graph: 86% (1076362/1251583) Finding extra edges in commit graph: 87% (1088878/1251583) Finding extra edges in commit graph: 88% (1101394/1251583) Finding extra edges in commit graph: 89% (1113909/1251583) Finding extra edges in commit graph: 90% (1126425/1251583) Finding extra edges in commit graph: 91% (1138941/1251583) Finding extra edges in commit graph: 92% (1151457/1251583) Finding extra edges in commit graph: 93% (1163973/1251583) Finding extra edges in commit graph: 94% (1176489/1251583) Finding extra edges in commit graph: 95% (1189004/1251583) Finding extra edges in commit graph: 96% (1201520/1251583) Finding extra edges in commit graph: 97% (1214036/1251583) Finding extra edges in commit graph: 98% (1226552/1251583) Finding extra edges in commit graph: 99% (1239068/1251583) Finding extra edges in commit graph: 100% (1251583/1251583) Finding extra edges in commit graph: 100% (1251583/1251583), done. Computing commit graph generation numbers: 75% (939535/1251583) Computing commit graph generation numbers: 76% (951204/1251583) Computing commit graph generation numbers: 77% (963719/1251583) Computing commit graph generation numbers: 78% (976235/1251583) Computing commit graph generation numbers: 79% (988751/1251583) Computing commit graph generation numbers: 80% (1001267/1251583) Computing commit graph generation numbers: 81% (1013783/1251583) Computing commit graph generation numbers: 82% (1026299/1251583) Computing commit graph generation numbers: 83% (1038814/1251583) Computing commit graph generation numbers: 84% (1051330/1251583) Computing commit graph generation numbers: 85% (1063846/1251583) Computing commit graph generation numbers: 86% (1076362/1251583) Computing commit graph generation numbers: 87% (1088878/1251583) Computing commit graph generation numbers: 88% (1101394/1251583) Computing commit graph generation numbers: 89% (1113909/1251583) Computing commit graph generation numbers: 90% (1126425/1251583) Computing commit graph generation numbers: 91% (1138941/1251583) Computing commit graph generation numbers: 92% (1151457/1251583) Computing commit graph generation numbers: 93% (1163973/1251583) Computing commit graph generation numbers: 94% (1176489/1251583) Computing commit graph generation numbers: 95% (1189004/1251583) Computing commit graph generation numbers: 96% (1201520/1251583) Computing commit graph generation numbers: 97% (1214036/1251583) Computing commit graph generation numbers: 98% (1226552/1251583) Computing commit graph generation numbers: 99% (1239068/1251583) Computing commit graph generation numbers: 100% (1251583/1251583) Computing commit graph generation numbers: 100% (1251583/1251583), done. Writing out commit graph in 4 passes: 44% (2234980/5006332) Writing out commit graph in 4 passes: 45% (2252850/5006332) Writing out commit graph in 4 passes: 46% (2302913/5006332) Writing out commit graph in 4 passes: 47% (2352977/5006332) Writing out commit graph in 4 passes: 48% (2403040/5006332) Writing out commit graph in 4 passes: 49% (2453103/5006332) Writing out commit graph in 4 passes: 50% (2503166/5006332) Writing out commit graph in 4 passes: 51% (2553230/5006332) Writing out commit graph in 4 passes: 52% (2603293/5006332) Writing out commit graph in 4 passes: 52% (2611652/5006332) Writing out commit graph in 4 passes: 53% (2653356/5006332) Writing out commit graph in 4 passes: 54% (2703420/5006332) Writing out commit graph in 4 passes: 54% (2751031/5006332) Writing out commit graph in 4 passes: 55% (2753483/5006332) Writing out commit graph in 4 passes: 56% (2803546/5006332) Writing out commit graph in 4 passes: 57% (2853610/5006332) Writing out commit graph in 4 passes: 57% (2891319/5006332) Writing out commit graph in 4 passes: 58% (2903673/5006332) Writing out commit graph in 4 passes: 59% (2953736/5006332) Writing out commit graph in 4 passes: 60% (3003800/5006332) Writing out commit graph in 4 passes: 60% (3031544/5006332) Writing out commit graph in 4 passes: 61% (3053863/5006332) Writing out commit graph in 4 passes: 62% (3103926/5006332) Writing out commit graph in 4 passes: 63% (3153990/5006332) Writing out commit graph in 4 passes: 63% (3171467/5006332) Writing out commit graph in 4 passes: 64% (3204053/5006332) Writing out commit graph in 4 passes: 65% (3254116/5006332) Writing out commit graph in 4 passes: 66% (3304180/5006332) Writing out commit graph in 4 passes: 66% (3311794/5006332) Writing out commit graph in 4 passes: 67% (3354243/5006332) Writing out commit graph in 4 passes: 68% (3404306/5006332) Writing out commit graph in 4 passes: 68% (3444239/5006332) Writing out commit graph in 4 passes: 69% (3454370/5006332) Writing out commit graph in 4 passes: 70% (3504433/5006332) Writing out commit graph in 4 passes: 70% (3548774/5006332) Writing out commit graph in 4 passes: 71% (3554496/5006332) Writing out commit graph in 4 passes: 72% (3604560/5006332) Writing out commit graph in 4 passes: 72% (3653971/5006332) Writing out commit graph in 4 passes: 73% (3654623/5006332) Writing out commit graph in 4 passes: 74% (3704686/5006332) Writing out commit graph in 4 passes: 75% (3754749/5006332) Writing out commit graph in 4 passes: 76% (3804813/5006332) Writing out commit graph in 4 passes: 76% (3827824/5006332) Writing out commit graph in 4 passes: 77% (3854876/5006332) Writing out commit graph in 4 passes: 78% (3904939/5006332) Writing out commit graph in 4 passes: 79% (3955003/5006332) Writing out commit graph in 4 passes: 80% (4005066/5006332) Writing out commit graph in 4 passes: 81% (4055129/5006332) Writing out commit graph in 4 passes: 82% (4105193/5006332) Writing out commit graph in 4 passes: 83% (4155256/5006332) Writing out commit graph in 4 passes: 84% (4205319/5006332) Writing out commit graph in 4 passes: 85% (4255383/5006332) Writing out commit graph in 4 passes: 86% (4305446/5006332) Writing out commit graph in 4 passes: 87% (4355509/5006332) Writing out commit graph in 4 passes: 88% (4405573/5006332) Writing out commit graph in 4 passes: 89% (4455636/5006332) Writing out commit graph in 4 passes: 90% (4505699/5006332) Writing out commit graph in 4 passes: 91% (4555763/5006332) Writing out commit graph in 4 passes: 92% (4605826/5006332) Writing out commit graph in 4 passes: 93% (4655889/5006332) Writing out commit graph in 4 passes: 94% (4705953/5006332) Writing out commit graph in 4 passes: 95% (4756016/5006332) Writing out commit graph in 4 passes: 96% (4806079/5006332) Writing out commit graph in 4 passes: 97% (4856143/5006332) Writing out commit graph in 4 passes: 98% (4906206/5006332) Writing out commit graph in 4 passes: 99% (4956269/5006332) Writing out commit graph in 4 passes: 100% (5006332/5006332) Writing out commit graph in 4 passes: 100% (5006332/5006332), done. # git rev-parse -q --verify d08c407f715f651e7ea40b3a037be46dd2b11e4c^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify d08c407f715f651e7ea40b3a037be46dd2b11e4c^{commit} d08c407f715f651e7ea40b3a037be46dd2b11e4c # git checkout -q -f -B kisskb d08c407f715f651e7ea40b3a037be46dd2b11e4c # git clean -qxdf # < git log -1 # commit d08c407f715f651e7ea40b3a037be46dd2b11e4c # Merge: 80a76c60e5f6 8ca1836769d7 # Author: Linus Torvalds # Date: Mon Mar 11 14:38:26 2024 -0700 # # Merge tag 'timers-core-2024-03-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Pull timer updates from Thomas Gleixner: # "A large set of updates and features for timers and timekeeping: # # - The hierarchical timer pull model # # When timer wheel timers are armed they are placed into the timer # wheel of a CPU which is likely to be busy at the time of expiry. # This is done to avoid wakeups on potentially idle CPUs. # # This is wrong in several aspects: # # 1) The heuristics to select the target CPU are wrong by # definition as the chance to get the prediction right is # close to zero. # # 2) Due to #1 it is possible that timers are accumulated on # a single target CPU # # 3) The required computation in the enqueue path is just overhead # for dubious value especially under the consideration that the # vast majority of timer wheel timers are either canceled or # rearmed before they expire. # # The timer pull model avoids the above by removing the target # computation on enqueue and queueing timers always on the CPU on # which they get armed. # # This is achieved by having separate wheels for CPU pinned timers # and global timers which do not care about where they expire. # # As long as a CPU is busy it handles both the pinned and the global # timers which are queued on the CPU local timer wheels. # # When a CPU goes idle it evaluates its own timer wheels: # # - If the first expiring timer is a pinned timer, then the global # timers can be ignored as the CPU will wake up before they # expire. # # - If the first expiring timer is a global timer, then the expiry # time is propagated into the timer pull hierarchy and the CPU # makes sure to wake up for the first pinned timer. # # The timer pull hierarchy organizes CPUs in groups of eight at the # lowest level and at the next levels groups of eight groups up to # the point where no further aggregation of groups is required, i.e. # the number of levels is log8(NR_CPUS). The magic number of eight # has been established by experimention, but can be adjusted if # needed. # # In each group one busy CPU acts as the migrator. It's only one CPU # to avoid lock contention on remote timer wheels. # # The migrator CPU checks in its own timer wheel handling whether # there are other CPUs in the group which have gone idle and have # global timers to expire. If there are global timers to expire, the # migrator locks the remote CPU timer wheel and handles the expiry. # # Depending on the group level in the hierarchy this handling can # require to walk the hierarchy downwards to the CPU level. # # Special care is taken when the last CPU goes idle. At this point # the CPU is the systemwide migrator at the top of the hierarchy and # it therefore cannot delegate to the hierarchy. It needs to arm its # own timer device to expire either at the first expiring timer in # the hierarchy or at the first CPU local timer, which ever expires # first. # # This completely removes the overhead from the enqueue path, which # is e.g. for networking a true hotpath and trades it for a slightly # more complex idle path. # # This has been in development for a couple of years and the final # series has been extensively tested by various teams from silicon # vendors and ran through extensive CI. # # There have been slight performance improvements observed on network # centric workloads and an Intel team confirmed that this allows them # to power down a die completely on a mult-die socket for the first # time in a mostly idle scenario. # # There is only one outstanding ~1.5% regression on a specific # overloaded netperf test which is currently investigated, but the # rest is either positive or neutral performance wise and positive on # the power management side. # # - Fixes for the timekeeping interpolation code for cross-timestamps: # # cross-timestamps are used for PTP to get snapshots from hardware # timers and interpolated them back to clock MONOTONIC. The changes # address a few corner cases in the interpolation code which got the # math and logic wrong. # # - Simplifcation of the clocksource watchdog retry logic to # automatically adjust to handle larger systems correctly instead of # having more incomprehensible command line parameters. # # - Treewide consolidation of the VDSO data structures. # # - The usual small improvements and cleanups all over the place" # # * tag 'timers-core-2024-03-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (62 commits) # timer/migration: Fix quick check reporting late expiry # tick/sched: Fix build failure for CONFIG_NO_HZ_COMMON=n # vdso/datapage: Quick fix - use asm/page-def.h for ARM64 # timers: Assert no next dyntick timer look-up while CPU is offline # tick: Assume timekeeping is correctly handed over upon last offline idle call # tick: Shut down low-res tick from dying CPU # tick: Split nohz and highres features from nohz_mode # tick: Move individual bit features to debuggable mask accesses # tick: Move got_idle_tick away from common flags # tick: Assume the tick can't be stopped in NOHZ_MODE_INACTIVE mode # tick: Move broadcast cancellation up to CPUHP_AP_TICK_DYING # tick: Move tick cancellation up to CPUHP_AP_TICK_DYING # tick: Start centralizing tick related CPU hotplug operations # tick/sched: Don't clear ts::next_tick again in can_stop_idle_tick() # tick/sched: Rename tick_nohz_stop_sched_tick() to tick_nohz_full_stop_tick() # tick: Use IS_ENABLED() whenever possible # tick/sched: Remove useless oneshot ifdeffery # tick/nohz: Remove duplicate between lowres and highres handlers # tick/nohz: Remove duplicate between tick_nohz_switch_to_nohz() and tick_setup_sched_timer() # hrtimer: Select housekeeping CPU during migration # ... # < /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 d08c407f715f651e7ea40b3a037be46dd2b11e4c # 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/prom/p1275.c:52:6: warning: no previous prototype for 'prom_cif_init' [-Wmissing-prototypes] 52 | void prom_cif_init(void *cif_handler, void *cif_stack) | ^~~~~~~~~~~~~ /kisskb/src/arch/sparc/prom/misc_64.c:165:5: warning: no previous prototype for 'prom_get_mmu_ihandle' [-Wmissing-prototypes] 165 | int prom_get_mmu_ihandle(void) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vma.c:246:12: warning: no previous prototype for 'init_vdso_image' [-Wmissing-prototypes] 246 | int __init init_vdso_image(const struct vdso_image *image, | ^~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/traps_64.c:253:6: warning: no previous prototype for 'is_no_fault_exception' [-Wmissing-prototypes] 253 | bool is_no_fault_exception(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/traps_64.c:2035:6: warning: no previous prototype for 'do_mcd_err' [-Wmissing-prototypes] 2035 | void do_mcd_err(struct pt_regs *regs, struct sun4v_error_entry ent) | ^~~~~~~~~~ /kisskb/src/arch/sparc/kernel/traps_64.c:2153:6: warning: no previous prototype for 'sun4v_nonresum_error_user_handled' [-Wmissing-prototypes] 2153 | bool sun4v_nonresum_error_user_handled(struct pt_regs *regs, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/mm/init_64.c:2644:6: warning: no previous prototype for 'vmemmap_free' [-Wmissing-prototypes] 2644 | void vmemmap_free(unsigned long start, unsigned long end, | ^~~~~~~~~~~~ /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) | ^~~~~~~~~~~~~~~~~~~~~~~~~ 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/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 /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/arch/sparc/kernel/setup_64.c:602:13: warning: no previous prototype for 'alloc_irqstack_bootmem' [-Wmissing-prototypes] 602 | void __init alloc_irqstack_bootmem(void) | ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/time_64.c:880:20: warning: no previous prototype for 'sched_clock' [-Wmissing-prototypes] 880 | unsigned long long sched_clock(void) | ^~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/adi_64.c:124:21: warning: no previous prototype for 'find_tag_store' [-Wmissing-prototypes] 124 | tag_storage_desc_t *find_tag_store(struct mm_struct *mm, | ^~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/adi_64.c:156:21: warning: no previous prototype for 'alloc_tag_store' [-Wmissing-prototypes] 156 | tag_storage_desc_t *alloc_tag_store(struct mm_struct *mm, | ^~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/adi_64.c:299:6: warning: no previous prototype for 'del_tag_store' [-Wmissing-prototypes] 299 | void del_tag_store(tag_storage_desc_t *tag_desc, struct mm_struct *mm) | ^~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/pci_sun4v.c:259:15: warning: no previous prototype for 'dma_4v_iotsb_bind' [-Wmissing-prototypes] 259 | unsigned long dma_4v_iotsb_bind(unsigned long devhandle, | ^~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/uprobes.c:237:17: warning: no previous prototype for 'uprobe_trap' [-Wmissing-prototypes] 237 | asmlinkage void uprobe_trap(struct pt_regs *regs, | ^~~~~~~~~~~ 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:16:13.440589