# git rev-parse -q --verify 8f7c8b88bda4988f44e595a760438febf51c92c8^{commit} 8f7c8b88bda4988f44e595a760438febf51c92c8 already have revision, skipping fetch # git checkout -q -f -B kisskb 8f7c8b88bda4988f44e595a760438febf51c92c8 # git clean -qxdf # < git log -1 # commit 8f7c8b88bda4988f44e595a760438febf51c92c8 # Merge: 7586d5276515 6b8950ef993b # Author: Linus Torvalds # Date: Wed Nov 20 10:08:00 2024 -0800 # # Merge tag 'sched_ext-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext # # Pull sched_ext updates from Tejun Heo: # # - Improve the default select_cpu() implementation making it topology # aware and handle WAKE_SYNC better. # # - set_arg_maybe_null() was used to inform the verifier which ops args # could be NULL in a rather hackish way. Use the new __nullable CFI # stub tags instead. # # - On Sapphire Rapids multi-socket systems, a BPF scheduler, by # hammering on the same queue across sockets, could live-lock the # system to the point where the system couldn't make reasonable forward # progress. # # This could lead to soft-lockup triggered resets or stalling out # bypass mode switch and thus BPF scheduler ejection for tens of # minutes if not hours. After trying a number of mitigations, the # following set worked reliably: # # - Injecting artificial cpu_relax() loops in two places while # sched_ext is trying to turn on the bypass mode. # # - Triggering scheduler ejection when soft-lockup detection is # imminent (a quarter of threshold left). # # While not the prettiest, the impact both in terms of code complexity # and overhead is minimal. # # - A common complaint on the API is the overuse of the word "dispatch" # and the confusion around "consume". This is due to how the dispatch # queues became more generic over time. Rename the affected kfuncs for # clarity. Thanks to BPF's compatibility features, this change can be # made in a way that's both forward and backward compatible. The # compatibility code will be dropped in a few releases. # # - Other misc changes # # * tag 'sched_ext-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext: (21 commits) # sched_ext: Replace scx_next_task_picked() with switch_class() in comment # sched_ext: Rename scx_bpf_dispatch[_vtime]_from_dsq*() -> scx_bpf_dsq_move[_vtime]*() # sched_ext: Rename scx_bpf_consume() to scx_bpf_dsq_move_to_local() # sched_ext: Rename scx_bpf_dispatch[_vtime]() to scx_bpf_dsq_insert[_vtime]() # sched_ext: scx_bpf_dispatch_from_dsq_set_*() are allowed from unlocked context # sched_ext: add a missing rcu_read_lock/unlock pair at scx_select_cpu_dfl() # sched_ext: Clarify sched_ext_ops table for userland scheduler # sched_ext: Enable the ops breather and eject BPF scheduler on softlockup # sched_ext: Avoid live-locking bypass mode switching # sched_ext: Fix incorrect use of bitwise AND # sched_ext: Do not enable LLC/NUMA optimizations when domains overlap # sched_ext: Introduce NUMA awareness to the default idle selection policy # sched_ext: Replace set_arg_maybe_null() with __nullable CFI stub tags # sched_ext: Rename CFI stubs to names that are recognized by BPF # sched_ext: Introduce LLC awareness to the default idle selection policy # sched_ext: Clarify ops.select_cpu() for single-CPU tasks # sched_ext: improve WAKE_SYNC behavior for default idle CPU selection # sched_ext: Use btf_ids to resolve task_struct # sched/ext: Use tg_cgroup() to elieminate duplicate code # sched/ext: Fix unmatch trailing comment of CONFIG_EXT_GROUP_SCHED # ... # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux-ld --version # < git log --format=%s --max-count=1 8f7c8b88bda4988f44e595a760438febf51c92c8 # make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- allyesconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- help # make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- olddefconfig # make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- Generating include/generated/machtypes.h :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S: Assembler messages: /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:85: Warning: overflow in branch to __restore_all; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:357: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:360: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/kernel/fork.c: In function '__do_sys_clone3': /kisskb/src/kernel/fork.c:3078:2: error: #warning clone3() entry point is missing, please fix [-Werror=cpp] 3078 | #warning clone3() entry point is missing, please fix | ^~~~~~~ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:229: kernel/fork.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:478: kernel] Error 2 make[3]: *** Waiting for unfinished jobs.... {standard input}: Assembler messages: {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive {standard input}:1397: Error: pcrel too far sh4-linux-gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See for instructions. make[6]: *** [/kisskb/src/scripts/Makefile.build:229: drivers/net/pcs/pcs-xpcs.o] Error 4 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:478: drivers/net/pcs] Error 2 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:478: drivers/net] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:478: drivers] Error 2 make[2]: *** [/kisskb/src/Makefile:1936: .] Error 2 make[1]: *** [/kisskb/src/Makefile:224: __sub-make] Error 2 make: *** [Makefile:224: __sub-make] Error 2 Command 'make -s -j 40 ARCH=sh O=/kisskb/build/linus_allyesconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allyesconfig_sh4-gcc13 # Build took: 0:04:07.014437