# 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-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 b0546776ad3f332e215cebc0b063ba4351971cca # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_pseries_le_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- pseries_le_defconfig Using /kisskb/src/arch/powerpc/configs/ppc64_defconfig as base Merging /kisskb/src/arch/powerpc/configs/le.config Merging /kisskb/src/arch/powerpc/configs/guest.config Value of CONFIG_VIRTIO_BLK is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_BLK=m New value: CONFIG_VIRTIO_BLK=y Value of CONFIG_SCSI_VIRTIO is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_SCSI_VIRTIO=m New value: CONFIG_SCSI_VIRTIO=y Value of CONFIG_VIRTIO_NET is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_NET=m New value: CONFIG_VIRTIO_NET=y Value of CONFIG_VIRTIO_CONSOLE is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_CONSOLE=m New value: CONFIG_VIRTIO_CONSOLE=y Value of CONFIG_VIRTIO_PCI is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_PCI=m New value: CONFIG_VIRTIO_PCI=y Value of CONFIG_VIRTIO_BALLOON is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_BALLOON=m New value: CONFIG_VIRTIO_BALLOON=y Value of CONFIG_VHOST_NET is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VHOST_NET=m New value: CONFIG_VHOST_NET=y Value of CONFIG_IBMVETH is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_IBMVETH=m New value: CONFIG_IBMVETH=y Value of CONFIG_IBMVNIC is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_IBMVNIC=m New value: CONFIG_IBMVNIC=y Merging /kisskb/src/arch/powerpc/configs/kvm_guest.config # # merged configuration written to .config (needs make) # # < make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_pseries_le_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_pseries_le_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_pseries_le_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- Completed OK # rm -rf /kisskb/build/linus_pseries_le_defconfig_powerpc-gcc5 # Build took: 0:02:01.273090