# git rev-parse -q --verify b0546776ad3f332e215cebc0b063ba4351971cca^{commit} b0546776ad3f332e215cebc0b063ba4351971cca already have revision, skipping fetch # git checkout -q -f -B kisskb b0546776ad3f332e215cebc0b063ba4351971cca # git clean -qxdf # < git log -1 # commit b0546776ad3f332e215cebc0b063ba4351971cca # Merge: f88c3fb81c4b 7412dc6d55ee # Author: Linus Torvalds # Date: Tue Mar 12 20:54:50 2024 -0700 # # Merge tag 'printk-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux # # Pull printk updates from Petr Mladek: # "Improve the behavior during panic. The issues were found when testing # the ongoing changes introducing atomic consoles and printk kthreads: # # - pr_flush() has to wait for the last reserved record instead of the # last finalized one. Note that records are finalized in random order # when generated by more CPUs in parallel. # # - Ignore non-finalized records during panic(). Messages printed on # panic-CPU are always finalized. Messages printed by other CPUs # might never be finalized when the CPUs get stopped. # # - Block new printk() calls on non-panic CPUs completely. Backtraces # are printed before entering the panic mode. Later messages would # just mess information printed by the panic CPU. # # - Do not take console_lock in console_flush_on_panic() at all. The # original code did try_lock()/console_unlock(). The unlock part # might cause a deadlock when panic() happened in a scheduler code. # # - Fix conversion of 64-bit sequence number for 32-bit atomic # operations" # # * tag 'printk-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux: # dump_stack: Do not get cpu_sync for panic CPU # panic: Flush kernel log buffer at the end # printk: Avoid non-panic CPUs writing to ringbuffer # printk: Disable passing console lock owner completely during panic() # printk: ringbuffer: Skip non-finalized records in panic # printk: Wait for all reserved records with pr_flush() # printk: ringbuffer: Cleanup reader terminology # printk: Add this_cpu_in_panic() # printk: For @suppress_panic_printk check for other CPU in panic # printk: ringbuffer: Clarify special lpos values # printk: ringbuffer: Do not skip non-finalized records with prb_next_seq() # printk: Use prb_first_seq() as base for 32bit seq macros # printk: Adjust mapping for 32bit seq macros # printk: nbcon: Relocate 32bit seq macros # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-ld --version # < git log --format=%s --max-count=1 b0546776ad3f332e215cebc0b063ba4351971cca # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allmodconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig # < make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allmodconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- help # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allmodconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- olddefconfig # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allmodconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- Completed OK # rm -rf /kisskb/build/linus_allmodconfig_s390x-gcc13 # Build took: 0:17:52.963842