# git rev-parse -q --verify 98369dccd2f8e16bf4c6621053af7aa4821dcf8e^{commit} 98369dccd2f8e16bf4c6621053af7aa4821dcf8e already have revision, skipping fetch # git checkout -q -f -B kisskb 98369dccd2f8e16bf4c6621053af7aa4821dcf8e # git clean -qxdf # < git log -1 # commit 98369dccd2f8e16bf4c6621053af7aa4821dcf8e # Merge: d03d41889088 91f098704c25 # Author: Linus Torvalds # Date: Mon Apr 29 15:57:37 2024 -0700 # # Merge tag 'wq-for-6.9-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq # # Pull workqueue fixes from Tejun Heo: # "Two doc update patches and the following three fixes: # # - On single node systems, the default pool is used but the # node_nr_active for the default pool was set to min_active. This # effectively limited the max concurrency of unbound pools on single # node systems to 8 causing performance regressions on some # workloads. Fixed by setting the default pool's node_nr_active to # max_active. # # - wq_update_node_max_active() could trigger divide-by-zero if the # intersection between the allowed CPUs for an unbound workqueue and # online CPUs becomes empty. # # - When kick_pool() was trying to repatriate a worker to a CPU in its # pod by setting task->wake_cpu, it didn't consider whether the CPU # being selected is online or not which obviously can lead to # subobtimal behaviors. On s390, this triggered a crash in arch code. # The workqueue patch removes the gross misbehavior but doesn't fix # the crash completely as there's a race window in which CPUs can go # down after wake_cpu is set. Need to decide whether the fix should # be on the core or arch side" # # * tag 'wq-for-6.9-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: # workqueue: Fix divide error in wq_update_node_max_active() # workqueue: The default node_nr_active should have its max set to max_active # workqueue: Fix selection of wake_cpu in kick_pool() # docs/zh_CN: core-api: Update translation of workqueue.rst to 6.9-rc1 # Documentation/core-api: Update events_freezable_power references. # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux-ld --version # < git log --format=%s --max-count=1 98369dccd2f8e16bf4c6621053af7aa4821dcf8e # make -s -j 160 ARCH=riscv O=/kisskb/build/linus_rv32_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux- rv32_defconfig Using .config as base Merging /kisskb/src/arch/riscv/configs/32-bit.config Value of CONFIG_PORTABLE is redefined by fragment /kisskb/src/arch/riscv/configs/32-bit.config: Previous value: CONFIG_PORTABLE=y New value: # CONFIG_PORTABLE is not set Value of CONFIG_NONPORTABLE is redefined by fragment /kisskb/src/arch/riscv/configs/32-bit.config: Previous value: # CONFIG_NONPORTABLE is not set New value: CONFIG_NONPORTABLE=y # # merged configuration written to .config (needs make) # .config:6375:warning: override: ARCH_RV32I changes choice state # < make -s -j 160 ARCH=riscv O=/kisskb/build/linus_rv32_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux- help # make -s -j 160 ARCH=riscv O=/kisskb/build/linus_rv32_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux- olddefconfig # make -s -j 160 ARCH=riscv O=/kisskb/build/linus_rv32_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux- Completed OK # rm -rf /kisskb/build/linus_rv32_defconfig_riscv-gcc13 # Build took: 0:01:31.887324