* [Re] kernel panic during shutdown in v7.2-rc{3,4} and next-20260722 with PREEMPT_RT [not found] <20260723124353.13040-1-spasswolf@web.de> @ 2026-07-23 13:10 ` Bert Karwatzki 2026-07-23 13:23 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-23 13:10 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: Bert Karwatzki, linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner I was able to gather the panic error message from a failed shutdown via netconsole, this time the kernel used was v7.2-rc3: T6298;netconsole: network logging started T6298;netconsole-setup: Test log message to verify netconsole configuration. T1575;BUG: scheduling while atomic: Xorg/1575/0x00000003 T1575,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_rawmidi mt76_connac_lib snd_seq_device intel_rapl_msr iosf_mbi mt76 intel_rapl_common rapl mac80211 snd_hda_codec_atihdmi snd_hda_codec_hdmi pcspkr wmi_bmof snd_hda_intel snd_hda_codec libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm spd5118 regmap_i2c snd_timer snd rfkill soundcore aead evdev k10temp ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm scsi_mod igc nvme usbcore cec scsi_common nvme_core crc16 video nvme_keyring gpio_amdpt i2c_piix4 nvme_auth usb_common gpi T1575,ncfrag=955/979;o_generic i2c_smbus wmi T1575;CPU: 16 UID: 0 PID: 1575 Comm: Xorg Not tainted 7.2.0-rc3-stable #1255 PREEMPT_{RT,(full)} T1575;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1575;Call Trace: T1575; <TASK> T1575; ? dump_stack_lvl+0x4b/0x70 T1575; ? __schedule_bug.cold+0x3e/0x4a T1575; ? __schedule+0xf64/0x16f0 T1575; ? schedule_rtlock+0x15/0x30 T1575; ? rtlock_slowlock_locked+0x30c/0xe50 T1575; ? rt_spin_lock+0xc3/0x120 T1575; ? get_page_from_freelist+0x22e/0x1640 T1575; ? __alloc_frozen_pages_noprof+0x146/0x2b0 T1575; ? ___kmalloc_large_node+0xae/0xd0 T1575; ? __kvmalloc_node_noprof+0x36c/0x580 T1575; ? dc_create_plane_state+0x24/0x80 [amdgpu] T1575; ? dc_create_plane_state+0x24/0x80 [amdgpu] T1575; ? dc_state_create_phantom_plane+0x15/0x50 [amdgpu] T1575; ? dml21_handle_phantom_streams_planes+0x292/0x510 [amdgpu] T1575; ? dml21_mode_check_and_programming+0x157/0x7e0 [amdgpu] T1575; ? try_to_wake_up+0x120/0x530 T1575; ? rt_mutex_setprio+0x61/0x340 T1575; ? calculate_plane_rec_in_timing_active+0x142/0x1f0 [amdgpu] T1575; ? spl_calculate_number_of_taps.constprop.0.isra.0+0x142/0xf00 [amdgpu] T1575; ? spl_calculate_number_of_taps.constprop.0.isra.0+0xed4/0xf00 [amdgpu] T1575; ? dcn401_validate_bandwidth+0xb8/0x1f0 [amdgpu] T1575; ? dc_validate_with_context+0x5ed/0x6b0 [amdgpu] T1575; ? dc_commit_streams+0x27c/0x4e0 [amdgpu] T1575; ? amdgpu_dm_atomic_commit_tail+0x61f/0x3650 [amdgpu] T1575; ? generic_reg_get+0x1c/0x30 [amdgpu] T1575; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1575; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1575; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1575; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1575; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1575; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x180/0x3b0 [drm] T1575; ? wait_for_completion_timeout+0x127/0x170 T1575; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1575; ? commit_tail+0xad/0x140 [drm_kms_helper] T1575; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1575; ? drm_atomic_commit+0xac/0xe0 [drm] T1575; ? __drm_universal_plane_init.cold+0x11/0x11 [drm] T1575; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1575; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1575; ? drm_ioctl+0x27f/0x500 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1575; ? __x64_sys_ioctl+0x92/0xe0 T1575; ? do_syscall_64+0xdd/0x5d0 T1575; ? do_syscall_64+0x94/0x5d0 T1575; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1575; </TASK> T1575;------------[ cut here ]------------ T1575;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:126 at dc_fpu_end+0x36/0x40 [amdgpu], CPU#22: Xorg/1575 T1575,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_rawmidi mt76_connac_lib snd_seq_device intel_rapl_msr iosf_mbi mt76 intel_rapl_common rapl mac80211 snd_hda_codec_atihdmi snd_hda_codec_hdmi pcspkr wmi_bmof snd_hda_intel snd_hda_codec libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm spd5118 regmap_i2c snd_timer snd rfkill soundcore aead evdev k10temp ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm scsi_mod igc nvme usbcore cec scsi_common nvme_core crc16 video nvme_keyring gpio_amdpt i2c_piix4 nvme_auth usb_common gpi T1575,ncfrag=955/979;o_generic i2c_smbus wmi T1575;CPU: 22 UID: 0 PID: 1575 Comm: Xorg Tainted: G W 7.2.0-rc3-stable #1255 PREEMPT_{RT,(full)} T1575;Tainted: [W]=WARN T1575;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1575;RIP: 0010:dc_fpu_end+0x36/0x40 [amdgpu] T1575;Code: 05 cf e5 16 e6 ff c8 74 10 78 1f 65 ff 0d f2 d5 15 e6 74 0c c3 cc cc cc cc e8 16 9c 12 e5 eb eb e8 6f 10 11 e5 c3 cc cc cc cc <0f> 0b eb dd 66 0f 1f 44 00 00 41 56 41 55 41 54 55 53 48 83 ec 10 T1575;RSP: 0018:ffffa11ac5bfb638 EFLAGS: 00010296 T1575;RAX: 00000000ffffffff RBX: ffff9490f7480000 RCX: 0000000000000008 T1575;RDX: 0000000000000000 RSI: 0000000000000719 RDI: ffffffffc15b3550 T1575;RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000001 T1575;R10: ffff9490f7480000 R11: 0000000000000002 R12: ffff948e09668000 T1575;R13: ffff948e11400000 R14: 0000000000000000 R15: 0000000000000001 T1575;FS: 00007f2b496ccb80(0000) GS:ffff949d96af5000(0000) knlGS:0000000000000000 T1575;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1575;CR2: 0000557ef27b3000 CR3: 000000011543b000 CR4: 0000000000f50ef0 T1575;PKRU: 55555554 T1575;Call Trace: T1575; <TASK> T1575; ? dcn401_validate_bandwidth+0xd1/0x1f0 [amdgpu] T1575; ? dc_validate_with_context+0x5ed/0x6b0 [amdgpu] T1575; ? dc_commit_streams+0x27c/0x4e0 [amdgpu] T1575; ? amdgpu_dm_atomic_commit_tail+0x61f/0x3650 [amdgpu] T1575; ? generic_reg_get+0x1c/0x30 [amdgpu] T1575; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1575; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1575; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1575; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1575; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1575; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x180/0x3b0 [drm] T1575; ? wait_for_completion_timeout+0x127/0x170 T1575; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1575; ? commit_tail+0xad/0x140 [drm_kms_helper] T1575; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1575; ? drm_atomic_commit+0xac/0xe0 [drm] T1575; ? __drm_universal_plane_init.cold+0x11/0x11 [drm] T1575; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1575; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1575; ? drm_ioctl+0x27f/0x500 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1575; ? __x64_sys_ioctl+0x92/0xe0 T1575; ? do_syscall_64+0xdd/0x5d0 T1575; ? do_syscall_64+0x94/0x5d0 T1575; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1575; </TASK> T1575;---[ end trace 0000000000000000 ]--- T1575;------------[ cut here ]------------ T1575;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:97 at dc_fpu_begin+0x4f/0x60 [amdgpu], CPU#17: Xorg/1575 T1575,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_rawmidi mt76_connac_lib snd_seq_device intel_rapl_msr iosf_mbi mt76 intel_rapl_common rapl mac80211 snd_hda_codec_atihdmi snd_hda_codec_hdmi pcspkr wmi_bmof snd_hda_intel snd_hda_codec libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm spd5118 regmap_i2c snd_timer snd rfkill soundcore aead evdev k10temp ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm scsi_mod igc nvme usbcore cec scsi_common nvme_core crc16 video nvme_keyring gpio_amdpt i2c_piix4 nvme_auth usb_common gpi T1575,ncfrag=955/979;o_generic i2c_smbus wmi T1575;CPU: 17 UID: 0 PID: 1575 Comm: Xorg Tainted: G W 7.2.0-rc3-stable #1255 PREEMPT_{RT,(full)} T1575;Tainted: [W]=WARN T1575;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1575;RIP: 0010:dc_fpu_begin+0x4f/0x60 [amdgpu] T1575;Code: d0 75 27 65 ff 05 41 d6 15 e6 b8 01 00 00 00 65 0f c1 05 04 e6 16 e6 85 c0 74 05 c3 cc cc cc cc bf 02 00 00 00 e9 d1 9c 12 e5 <0f> 0b eb d5 66 90 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 d6 b8 T1575;RSP: 0018:ffffa11ac5bfb6c8 EFLAGS: 00010206 T1575;RAX: 0000000000ff0000 RBX: ffff949040380000 RCX: ffff9490a92f96a0 T1575;RDX: 0000000000ff0000 RSI: 000000000000011f RDI: ffffffffc15de7a0 T1575;RBP: ffff948e14700000 R08: ffffffffa6d02440 R09: 0000000000000006 T1575;R10: ffffffffa6eb6440 R11: 0000000000000066 R12: ffff949040380000 T1575;R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000 T1575;FS: 00007f2b496ccb80(0000) GS:ffff949d969b5000(0000) knlGS:0000000000000000 T1575;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1575;CR2: 00007fb5ea0bfa7c CR3: 000000011543b000 CR4: 0000000000f50ef0 T1575;PKRU: 55555554 T1575;Call Trace: T1575; <TASK> T1575; ? dc_state_create_copy+0x76/0x120 [amdgpu] T1575; ? dc_commit_state_no_check+0x271/0xe00 [amdgpu] T1575; ? dc_commit_streams+0x2f4/0x4e0 [amdgpu] T1575; ? amdgpu_dm_atomic_commit_tail+0x61f/0x3650 [amdgpu] T1575; ? generic_reg_get+0x1c/0x30 [amdgpu] T1575; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1575; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1575; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1575; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1575; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1575; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x180/0x3b0 [drm] T1575; ? wait_for_completion_timeout+0x127/0x170 T1575; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1575; ? commit_tail+0xad/0x140 [drm_kms_helper] T1575; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1575; ? drm_atomic_commit+0xac/0xe0 [drm] T1575; ? __drm_universal_plane_init.cold+0x11/0x11 [drm] T1575; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1575; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1575; ? drm_ioctl+0x27f/0x500 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1575; ? __x64_sys_ioctl+0x92/0xe0 T1575; ? do_syscall_64+0xdd/0x5d0 T1575; ? do_syscall_64+0x94/0x5d0 T1575; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1575; </TASK> T1575;---[ end trace 0000000000000000 ]--- T1575;------------[ cut here ]------------ T1575;kernel BUG at mm/vmalloc.c:3206! T1575;Oops: invalid opcode: 0000 [#1] SMP NOPTI T1575;CPU: 17 UID: 0 PID: 1575 Comm: Xorg Tainted: G W 7.2.0-rc3-stable #1255 PREEMPT_{RT,(full)} T1575;Tainted: [W]=WARN T1575;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1575;RIP: 0010:__get_vm_area_node+0x113/0x130 T1575;Code: ff bd ff ff ff ff 48 0f bd e8 b8 0c 00 00 00 ff c5 39 c5 0f 4c e8 b8 1e 00 00 00 39 c5 0f 4f e8 c4 e2 d1 f7 ee e9 34 ff ff ff <0f> 0b 4c 89 ef e8 e3 46 01 00 45 31 ed eb ae 0f 1f 00 66 66 2e 0f T1575;RSP: 0018:ffffa11ac5bfb580 EFLAGS: 00010286 T1575;RAX: 00000000ffffffff RBX: 0000000000000001 RCX: 0000000000000022 T1575;RDX: 000000000000000c RSI: 0000000000000001 RDI: 000000000000f720 T1575;RBP: 000000000000000c R08: ffffa11ac0000000 R09: ffffc11abfffffff T1575;R10: 00000000ffffffff R11: 0000000000000066 R12: ffff949040380000 T1575;R13: 0000000000000001 R14: 0000000000000dc0 R15: 000000000000f720 T1575;FS: 00007f2b496ccb80(0000) GS:ffff949d969b5000(0000) knlGS:0000000000000000 T1575;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1575;CR2: 00007fb5ea0bfa7c CR3: 000000011543b000 CR4: 0000000000f50ef0 T1575;PKRU: 55555554 T1575;Call Trace: T1575; <TASK> T1575; ? __vmalloc_node_range_noprof+0x14a/0x920 T1575; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1575; ? dc_fpu_begin+0x51/0x60 [amdgpu] T1575; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1575; ? asm_exc_invalid_op+0x1a/0x20 T1575; ? __vmalloc_node_noprof+0x47/0x60 T1575; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1575; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1575; ? dml21_create_copy+0x16/0x40 [amdgpu] T1575; ? dc_state_create_copy+0x89/0x120 [amdgpu] T1575; ? dc_commit_state_no_check+0x271/0xe00 [amdgpu] T1575; ? dc_commit_streams+0x2f4/0x4e0 [amdgpu] T1575; ? amdgpu_dm_atomic_commit_tail+0x61f/0x3650 [amdgpu] T1575; ? generic_reg_get+0x1c/0x30 [amdgpu] T1575; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1575; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1575; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1575; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1575; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1575; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x180/0x3b0 [drm] T1575; ? wait_for_completion_timeout+0x127/0x170 T1575; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1575; ? commit_tail+0xad/0x140 [drm_kms_helper] T1575; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1575; ? drm_atomic_commit+0xac/0xe0 [drm] T1575; ? __drm_universal_plane_init.cold+0x11/0x11 [drm] T1575; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1575; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1575; ? drm_ioctl+0x27f/0x500 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1575; ? __x64_sys_ioctl+0x92/0xe0 T1575; ? do_syscall_64+0xdd/0x5d0 T1575; ? do_syscall_64+0x94/0x5d0 T1575; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1575; </TASK> T1575,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_rawmidi mt76_connac_lib snd_seq_device intel_rapl_msr iosf_mbi mt76 intel_rapl_common rapl mac80211 snd_hda_codec_atihdmi snd_hda_codec_hdmi pcspkr wmi_bmof snd_hda_intel snd_hda_codec libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm spd5118 regmap_i2c snd_timer snd rfkill soundcore aead evdev k10temp ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm scsi_mod igc nvme usbcore cec scsi_common nvme_core crc16 video nvme_keyring gpio_amdpt i2c_piix4 nvme_auth usb_common gpi T1575,ncfrag=955/979;o_generic i2c_smbus wmi T1575;---[ end trace 0000000000000000 ]--- T1575;------------[ cut here ]------------ T1575;WARNING: kernel/printk/nbcon.c:1739 at nbcon_cpu_emergency_exit+0x85/0xa0, CPU#23: Xorg/1575 T1575,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_rawmidi mt76_connac_lib snd_seq_device intel_rapl_msr iosf_mbi mt76 intel_rapl_common rapl mac80211 snd_hda_codec_atihdmi snd_hda_codec_hdmi pcspkr wmi_bmof snd_hda_intel snd_hda_codec libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm spd5118 regmap_i2c snd_timer snd rfkill soundcore aead evdev k10temp ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm scsi_mod igc nvme usbcore cec scsi_common nvme_core crc16 video nvme_keyring gpio_amdpt i2c_piix4 nvme_auth usb_common gpi T1575,ncfrag=955/979;o_generic i2c_smbus wmi T1575;CPU: 23 UID: 0 PID: 1575 Comm: Xorg Tainted: G D W 7.2.0-rc3-stable #1255 PREEMPT_{RT,(full)} T1575;Tainted: [D]=DIE, [W]=WARN T1575;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1575;RIP: 0010:nbcon_cpu_emergency_exit+0x85/0xa0 T1575;Code: 75 38 48 83 c4 10 c3 cc cc cc cc 48 8d 7c 24 04 e8 e0 ef ff ff 80 7c 24 05 00 74 ce e8 74 fc ff ff eb c7 e8 8d 67 f2 ff eb c9 <0f> 0b 8b 05 43 6a fc 00 85 c0 75 a2 0f 0b eb b0 e8 16 15 8b 00 66 T1575;RSP: 0018:ffffa11ac5bfb3f8 EFLAGS: 00010246 T1575;RAX: 0000000000000000 RBX: 000000000000000b RCX: 0000000000000000 T1575;RDX: ffff949d3d9db204 RSI: 0000000000000001 RDI: ffff949d3d9db040 T1575;RBP: 0000000000000246 R08: 0000000000000000 R09: 3fffffffffffdfff T1575;R10: ffffffffa6ed4e20 R11: ffffa11ac5bfb200 R12: ffffa11ac5bfb4d8 T1575;R13: ffffffffa60d2ad3 R14: 0000000000000002 R15: 0000000000000004 T1575;FS: 00007f2b496ccb80(0000) GS:ffff949d96b35000(0000) knlGS:0000000000000000 T1575;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1575;CR2: 0000557ef2780ef8 CR3: 000000011543b000 CR4: 0000000000f50ef0 T1575;PKRU: 55555554 T1575;Call Trace: T1575; <TASK> T1575; ? oops_exit.cold+0x13/0x1f T1575; ? oops_end+0x66/0xe0 T1575; ? do_trap+0xc5/0x110 T1575; ? do_error_trap+0x60/0x80 T1575; ? __get_vm_area_node+0x113/0x130 T1575; ? exc_invalid_op+0x4f/0x70 T1575; ? __get_vm_area_node+0x113/0x130 T1575; ? asm_exc_invalid_op+0x1a/0x20 T1575; ? __get_vm_area_node+0x113/0x130 T1575; ? __vmalloc_node_range_noprof+0x14a/0x920 T1575; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1575; ? dc_fpu_begin+0x51/0x60 [amdgpu] T1575; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1575; ? asm_exc_invalid_op+0x1a/0x20 T1575; ? __vmalloc_node_noprof+0x47/0x60 T1575; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1575; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1575; ? dml21_create_copy+0x16/0x40 [amdgpu] T1575; ? dc_state_create_copy+0x89/0x120 [amdgpu] T1575; ? dc_commit_state_no_check+0x271/0xe00 [amdgpu] T1575; ? dc_commit_streams+0x2f4/0x4e0 [amdgpu] T1575; ? amdgpu_dm_atomic_commit_tail+0x61f/0x3650 [amdgpu] T1575; ? generic_reg_get+0x1c/0x30 [amdgpu] T1575; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1575; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1575; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1575; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1575; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1575; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x180/0x3b0 [drm] T1575; ? wait_for_completion_timeout+0x127/0x170 T1575; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1575; ? commit_tail+0xad/0x140 [drm_kms_helper] T1575; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1575; ? drm_atomic_commit+0xac/0xe0 [drm] T1575; ? __drm_universal_plane_init.cold+0x11/0x11 [drm] T1575; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1575; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1575; ? drm_ioctl+0x27f/0x500 [drm] T1575; ? drm_mode_getcrtc+0x180/0x180 [drm] T1575; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1575; ? __x64_sys_ioctl+0x92/0xe0 T1575; ? do_syscall_64+0xdd/0x5d0 T1575; ? do_syscall_64+0x94/0x5d0 T1575; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1575; </TASK> T1575;---[ end trace 0000000000000000 ]--- C23;RIP: 0010:__get_vm_area_node+0x113/0x130 C5;Code: ff bd ff ff ff ff 48 0f bd e8 b8 0c 00 00 00 ff c5 39 c5 0f 4c e8 b8 1e 00 00 00 39 c5 0f 4f e8 c4 e2 d1 f7 ee e9 34 ff ff ff <0f> 0b 4c 89 ef e8 e3 46 01 00 45 31 ed eb ae 0f 1f 00 66 66 2e 0f C5;RSP: 0018:ffffa11ac5bfb580 EFLAGS: 00010286 C5;RAX: 00000000ffffffff RBX: 0000000000000001 RCX: 0000000000000022 C5;RDX: 000000000000000c RSI: 0000000000000001 RDI: 000000000000f720 C5;RBP: 000000000000000c R08: ffffa11ac0000000 R09: ffffc11abfffffff C5;R10: 00000000ffffffff R11: 0000000000000066 R12: ffff949040380000 C5;R13: 0000000000000001 R14: 0000000000000dc0 R15: 000000000000f720 C5;FS: 00007f2b496ccb80(0000) GS:ffff949d966b5000(0000) knlGS:0000000000000000 C5;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 C5;CR2: 00007f17b8093940 CR3: 000000011543b000 CR4: 0000000000f50ef0 C5;PKRU: 55555554 T1575;Kernel panic - not syncing: Fatal exception in interrupt T1575;Kernel Offset: 0x24c00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) T1575;---[ end Kernel panic - not syncing: Fatal exception in interrupt ]--- Bert Karwatzki ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in v7.2-rc{3,4} and next-20260722 with PREEMPT_RT 2026-07-23 13:10 ` [Re] kernel panic during shutdown in v7.2-rc{3,4} and next-20260722 with PREEMPT_RT Bert Karwatzki @ 2026-07-23 13:23 ` Bert Karwatzki 2026-07-23 16:17 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-23 13:23 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Donnerstag, dem 23.07.2026 um 15:10 +0200 schrieb Bert Karwatzki: > I was able to gather the panic error message from a failed shutdown via netconsole, > this time the kernel used was v7.2-rc3: > # > Bert Karwatzki Unfortunatetly I can now reproduce these kernel panics in v7.1: T1581;BUG: scheduling while atomic: Xorg/1581/0x00000003 T1581,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib mt792x_lib snd_ump mt76_connac_lib snd_rawmidi mt76 snd_seq_device intel_rapl_msr iosf_mbi intel_rapl_common snd_hda_codec_atihdmi mac80211 rapl wmi_bmof snd_hda_codec_hdmi snd_hda_intel snd_hda_codec pcspkr libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm snd_timer snd rfkill soundcore aead evdev spd5118 regmap_i2c ccp k10temp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm usbhid drm_exec drm_suballoc_helper mfd_core hid drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper drm_kms_helper ahci libahci xhci_pci drm libata xhci_hcd nvme scsi_mod usbcore igc nvme_core video cec scsi_common nvme_keyring crc16 nvme_auth i2c_piix4 gpio_amdpt usb_common i2c T1581,ncfrag=955/979;_smbus gpio_generic wmi T1581;CPU: 19 UID: 0 PID: 1581 Comm: Xorg Not tainted 7.1.0-stable #1241 PREEMPT_{RT,(full)} T1581;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1581;Call Trace: T1581; <TASK> T1581; ? dump_stack_lvl+0x4b/0x70 T1581; ? __schedule_bug.cold+0x3e/0x4a T1581; ? __schedule+0xf6f/0x1700 T1581; ? try_to_take_rt_mutex+0x191/0x300 T1581; ? rtlock_slowlock_locked+0x39/0xe50 T1581; ? schedule_rtlock+0x15/0x30 T1581; ? rtlock_slowlock_locked+0x30b/0xe50 T1581; ? rt_spin_lock+0xc3/0x120 T1581; ? get_page_from_freelist+0x221/0x15f0 T1581; ? dc_link_get_highest_encoding_format+0x61/0xb0 [amdgpu] T1581; ? __alloc_frozen_pages_noprof+0x146/0x2b0 T1581; ? ___kmalloc_large_node+0xae/0xd0 T1581; ? __kvmalloc_node_noprof+0x398/0x540 T1581; ? dcn401_build_pipe_pix_clk_params+0x10a/0x1f0 [amdgpu] T1581; ? dc_create_plane_state+0x24/0x80 [amdgpu] T1581; ? dc_state_create_phantom_plane+0x15/0x50 [amdgpu] T1581; ? dml21_handle_phantom_streams_planes+0x292/0x510 [amdgpu] T1581; ? dml21_mode_check_and_programming+0x157/0x7e0 [amdgpu] T1581; ? sysvec_call_function_single+0xe/0x80 T1581; ? asm_sysvec_call_function_single+0x1a/0x20 T1581; ? try_to_take_rt_mutex+0x191/0x300 T1581; ? calculate_plane_rec_in_timing_active+0x142/0x1f0 [amdgpu] T1581; ? spl_calculate_number_of_taps.constprop.0.isra.0+0x142/0xf00 [amdgpu] T1581; ? spl_calculate_number_of_taps.constprop.0.isra.0+0xed4/0xf00 [amdgpu] T1581; ? dcn401_validate_bandwidth+0xb8/0x1f0 [amdgpu] T1581; ? dc_validate_with_context+0x5cf/0x6b0 [amdgpu] T1581; ? dc_commit_streams+0x27c/0x4e0 [amdgpu] T1581; ? amdgpu_dm_atomic_commit_tail+0x4ec/0x3610 [amdgpu] T1581; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1581; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1581; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1581; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1581; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1581; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x176/0x3a0 [drm] T1581; ? wait_for_completion_timeout+0x127/0x170 T1581; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1581; ? commit_tail+0xad/0x140 [drm_kms_helper] T1581; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1581; ? drm_atomic_commit+0xac/0xe0 [drm] T1581; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1581; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1581; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1581; ? __schedule+0x389/0x1700 T1581; ? rt_spin_lock+0x35/0x120 T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1581; ? drm_ioctl+0x27f/0x520 [drm] T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1581; ? __x64_sys_ioctl+0x92/0xe0 T1581; ? do_syscall_64+0xdd/0x5d0 T1581; ? switch_fpu_return+0x42/0x70 T1581; ? handle_irq_event+0x4c/0x80 T1581; ? do_syscall_64+0x94/0x5d0 T1581; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1581; </TASK> T1581;------------[ cut here ]------------ T1581;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:126 at dc_fpu_end+0x36/0x40 [amdgpu], CPU#20: Xorg/1581 T1581,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib mt792x_lib snd_ump mt76_connac_lib snd_rawmidi mt76 snd_seq_device intel_rapl_msr iosf_mbi intel_rapl_common snd_hda_codec_atihdmi mac80211 rapl wmi_bmof snd_hda_codec_hdmi snd_hda_intel snd_hda_codec pcspkr libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm snd_timer snd rfkill soundcore aead evdev spd5118 regmap_i2c ccp k10temp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm usbhid drm_exec drm_suballoc_helper mfd_core hid drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper drm_kms_helper ahci libahci xhci_pci drm libata xhci_hcd nvme scsi_mod usbcore igc nvme_core video cec scsi_common nvme_keyring crc16 nvme_auth i2c_piix4 gpio_amdpt usb_common i2c T1581,ncfrag=955/979;_smbus gpio_generic wmi T1581;CPU: 20 UID: 0 PID: 1581 Comm: Xorg Tainted: G W 7.1.0-stable #1241 PREEMPT_{RT,(full)} T1581;Tainted: [W]=WARN T1581;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1581;RIP: 0010:dc_fpu_end+0x36/0x40 [amdgpu] T1581;Code: 05 0f 2b f7 d6 ff c8 74 10 78 1f 65 ff 0d 32 1b f6 d6 74 0c c3 cc cc cc cc e8 96 f7 f2 d5 eb eb e8 4f 65 f1 d5 c3 cc cc cc cc <0f> 0b eb dd 66 0f 1f 44 00 00 41 56 41 55 41 54 55 53 48 83 ec 10 T1581;RSP: 0018:ffff9d3305d835b8 EFLAGS: 00010296 T1581;RAX: 00000000ffffffff RBX: ffff8face4600000 RCX: 0000000000000008 T1581;RDX: 0000000000000000 RSI: 00000000000006a4 RDI: ffffffffc15999d0 T1581;RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000001 T1581;R10: ffff8face4600000 R11: 0000000000000002 R12: ffff8fac0d6c0000 T1581;R13: ffff8faca1000000 R14: 0000000000000000 R15: ffff8faca1000000 T1581;FS: 00007ff40af34b80(0000) GS:ffff8fbba5c76000(0000) knlGS:0000000000000000 T1581;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1581;CR2: 0000559cb13d5018 CR3: 0000000120bd9000 CR4: 0000000000f50ef0 T1581;PKRU: 55555554 T1581;Call Trace: T1581; <TASK> T1581; ? dcn401_validate_bandwidth+0xd1/0x1f0 [amdgpu] T1581; ? dc_validate_with_context+0x5cf/0x6b0 [amdgpu] T1581; ? dc_commit_streams+0x27c/0x4e0 [amdgpu] T1581; ? amdgpu_dm_atomic_commit_tail+0x4ec/0x3610 [amdgpu] T1581; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1581; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1581; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1581; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1581; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1581; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x176/0x3a0 [drm] T1581; ? wait_for_completion_timeout+0x127/0x170 T1581; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1581; ? commit_tail+0xad/0x140 [drm_kms_helper] T1581; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1581; ? drm_atomic_commit+0xac/0xe0 [drm] T1581; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1581; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1581; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1581; ? __schedule+0x389/0x1700 T1581; ? rt_spin_lock+0x35/0x120 T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1581; ? drm_ioctl+0x27f/0x520 [drm] T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1581; ? __x64_sys_ioctl+0x92/0xe0 T1581; ? do_syscall_64+0xdd/0x5d0 T1581; ? switch_fpu_return+0x42/0x70 T1581; ? handle_irq_event+0x4c/0x80 T1581; ? do_syscall_64+0x94/0x5d0 T1581; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1581; </TASK> T1581;---[ end trace 0000000000000000 ]--- T1581;------------[ cut here ]------------ T1581;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:97 at dc_fpu_begin+0x4f/0x60 [amdgpu], CPU#1: Xorg/1581 T1581,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib mt792x_lib snd_ump mt76_connac_lib snd_rawmidi mt76 snd_seq_device intel_rapl_msr iosf_mbi intel_rapl_common snd_hda_codec_atihdmi mac80211 rapl wmi_bmof snd_hda_codec_hdmi snd_hda_intel snd_hda_codec pcspkr libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm snd_timer snd rfkill soundcore aead evdev spd5118 regmap_i2c ccp k10temp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm usbhid drm_exec drm_suballoc_helper mfd_core hid drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper drm_kms_helper ahci libahci xhci_pci drm libata xhci_hcd nvme scsi_mod usbcore igc nvme_core video cec scsi_common nvme_keyring crc16 nvme_auth i2c_piix4 gpio_amdpt usb_common i2c T1581,ncfrag=955/979;_smbus gpio_generic wmi T1581;CPU: 1 UID: 0 PID: 1581 Comm: Xorg Tainted: G W 7.1.0-stable #1241 PREEMPT_{RT,(full)} T1581;Tainted: [W]=WARN T1581;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1581;RIP: 0010:dc_fpu_begin+0x4f/0x60 [amdgpu] T1581;Code: d0 75 27 65 ff 05 81 1b f6 d6 b8 01 00 00 00 65 0f c1 05 44 2b f7 d6 85 c0 74 05 c3 cc cc cc cc bf 02 00 00 00 e9 51 f8 f2 d5 <0f> 0b eb d5 66 90 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 d6 b8 T1581;RSP: 0018:ffff9d3305d83640 EFLAGS: 00010206 T1581;RAX: 0000000000ff0000 RBX: ffff8fad48480000 RCX: ffff8face86d3e28 T1581;RDX: 0000000000ff0000 RSI: 000000000000011f RDI: ffffffffc15bcda0 T1581;RBP: ffff8fad65380000 R08: ffffffff97b01fc0 R09: 0000000000000006 T1581;R10: ffffffff97cb5440 R11: 0000000000000076 R12: ffff8fad48480000 T1581;R13: 0000000000000001 R14: ffff8faca1000000 R15: 0000000000000000 T1581;FS: 00007ff40af34b80(0000) GS:ffff8fbba57b6000(0000) knlGS:0000000000000000 T1581;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1581;CR2: 00007f593eec2478 CR3: 0000000120bd9000 CR4: 0000000000f50ef0 T1581;PKRU: 55555554 T1581;Call Trace: T1581; <TASK> T1581; ? dc_state_create_copy+0x76/0x120 [amdgpu] T1581; ? dc_commit_state_no_check+0x271/0xde0 [amdgpu] T1581; ? dc_commit_streams+0x2f4/0x4e0 [amdgpu] T1581; ? amdgpu_dm_atomic_commit_tail+0x4ec/0x3610 [amdgpu] T1581; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1581; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1581; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1581; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1581; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1581; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x176/0x3a0 [drm] T1581; ? wait_for_completion_timeout+0x127/0x170 T1581; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1581; ? commit_tail+0xad/0x140 [drm_kms_helper] T1581; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1581; ? drm_atomic_commit+0xac/0xe0 [drm] T1581; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1581; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1581; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1581; ? __schedule+0x389/0x1700 T1581; ? rt_spin_lock+0x35/0x120 T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1581; ? drm_ioctl+0x27f/0x520 [drm] T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1581; ? __x64_sys_ioctl+0x92/0xe0 T1581; ? do_syscall_64+0xdd/0x5d0 T1581; ? switch_fpu_return+0x42/0x70 T1581; ? handle_irq_event+0x4c/0x80 T1581; ? do_syscall_64+0x94/0x5d0 T1581; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1581; </TASK> T1581;---[ end trace 0000000000000000 ]--- T1581;------------[ cut here ]------------ T1581;kernel BUG at mm/vmalloc.c:3206! T1581;Oops: invalid opcode: 0000 [#1] SMP NOPTI T1581;CPU: 29 UID: 0 PID: 1581 Comm: Xorg Tainted: G W 7.1.0-stable #1241 PREEMPT_{RT,(full)} T1581;Tainted: [W]=WARN T1581;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1581;RIP: 0010:__get_vm_area_node+0x113/0x130 T1581;Code: ff bd ff ff ff ff 48 0f bd e8 b8 0c 00 00 00 ff c5 39 c5 0f 4c e8 b8 1e 00 00 00 39 c5 0f 4f e8 c4 e2 d1 f7 ee e9 34 ff ff ff <0f> 0b 4c 89 ef e8 23 51 01 00 45 31 ed eb ae 0f 1f 00 66 66 2e 0f T1581;RSP: 0018:ffff9d3305d834f8 EFLAGS: 00010286 T1581;RAX: 00000000ffffffff RBX: 0000000000000001 RCX: 0000000000000022 T1581;RDX: 000000000000000c RSI: 0000000000000001 RDI: 000000000000f720 T1581;RBP: 000000000000000c R08: ffff9d3300000000 R09: ffffbd32ffffffff T1581;R10: 00000000ffffffff R11: 0000000000000076 R12: ffff8fad48480000 T1581;R13: 0000000000000001 R14: 0000000000000dc0 R15: 000000000000f720 T1581;FS: 00007ff40af34b80(0000) GS:ffff8fbba5eb6000(0000) knlGS:0000000000000000 T1581;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1581;CR2: 00007f6ae0f90110 CR3: 0000000120bd9000 CR4: 0000000000f50ef0 T1581;PKRU: 55555554 T1581;Call Trace: T1581; <TASK> T1581; ? __vmalloc_node_range_noprof+0x14a/0x920 T1581; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1581; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1581; ? exc_invalid_op+0x18/0x70 T1581; ? __vmalloc_node_noprof+0x47/0x60 T1581; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1581; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1581; ? dml21_create_copy+0x16/0x40 [amdgpu] T1581; ? dc_state_create_copy+0x89/0x120 [amdgpu] T1581; ? dc_commit_state_no_check+0x271/0xde0 [amdgpu] T1581; ? dc_commit_streams+0x2f4/0x4e0 [amdgpu] T1581; ? amdgpu_dm_atomic_commit_tail+0x4ec/0x3610 [amdgpu] T1581; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1581; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1581; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1581; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1581; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1581; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x176/0x3a0 [drm] T1581; ? wait_for_completion_timeout+0x127/0x170 T1581; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1581; ? commit_tail+0xad/0x140 [drm_kms_helper] T1581; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1581; ? drm_atomic_commit+0xac/0xe0 [drm] T1581; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1581; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1581; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1581; ? __schedule+0x389/0x1700 T1581; ? rt_spin_lock+0x35/0x120 T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1581; ? drm_ioctl+0x27f/0x520 [drm] T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1581; ? __x64_sys_ioctl+0x92/0xe0 T1581; ? do_syscall_64+0xdd/0x5d0 T1581; ? switch_fpu_return+0x42/0x70 T1581; ? handle_irq_event+0x4c/0x80 T1581; ? do_syscall_64+0x94/0x5d0 T1581; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1581; </TASK> T1581,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib mt792x_lib snd_ump mt76_connac_lib snd_rawmidi mt76 snd_seq_device intel_rapl_msr iosf_mbi intel_rapl_common snd_hda_codec_atihdmi mac80211 rapl wmi_bmof snd_hda_codec_hdmi snd_hda_intel snd_hda_codec pcspkr libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm snd_timer snd rfkill soundcore aead evdev spd5118 regmap_i2c ccp k10temp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm usbhid drm_exec drm_suballoc_helper mfd_core hid drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper drm_kms_helper ahci libahci xhci_pci drm libata xhci_hcd nvme scsi_mod usbcore igc nvme_core video cec scsi_common nvme_keyring crc16 nvme_auth i2c_piix4 gpio_amdpt usb_common i2c T1581,ncfrag=955/979;_smbus gpio_generic wmi T1581;---[ end trace 0000000000000000 ]--- T1581;------------[ cut here ]------------ T1581;WARNING: kernel/printk/nbcon.c:1739 at nbcon_cpu_emergency_exit+0x85/0xa0, CPU#26: Xorg/1581 T1581,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e mt7925_common snd_usbmidi_lib mt792x_lib snd_ump mt76_connac_lib snd_rawmidi mt76 snd_seq_device intel_rapl_msr iosf_mbi intel_rapl_common snd_hda_codec_atihdmi mac80211 rapl wmi_bmof snd_hda_codec_hdmi snd_hda_intel snd_hda_codec pcspkr libarc4 snd_hda_core cfg80211 snd_intel_dspcfg snd_hwdep snd_pcm snd_timer snd rfkill soundcore aead evdev spd5118 regmap_i2c ccp k10temp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm usbhid drm_exec drm_suballoc_helper mfd_core hid drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper drm_kms_helper ahci libahci xhci_pci drm libata xhci_hcd nvme scsi_mod usbcore igc nvme_core video cec scsi_common nvme_keyring crc16 nvme_auth i2c_piix4 gpio_amdpt usb_common i2c T1581,ncfrag=955/979;_smbus gpio_generic wmi T1581;CPU: 26 UID: 0 PID: 1581 Comm: Xorg Tainted: G D W 7.1.0-stable #1241 PREEMPT_{RT,(full)} T1581;Tainted: [D]=DIE, [W]=WARN T1581;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1581;RIP: 0010:nbcon_cpu_emergency_exit+0x85/0xa0 T1581;Code: 75 38 48 83 c4 10 c3 cc cc cc cc 48 8d 7c 24 04 e8 e0 ef ff ff 80 7c 24 05 00 74 ce e8 74 fc ff ff eb c7 e8 0d 86 f2 ff eb c9 <0f> 0b 8b 05 c3 78 fc 00 85 c0 75 a2 0f 0b eb b0 e8 46 01 8a 00 66 T1581;RSP: 0018:ffff9d3305d83368 EFLAGS: 00010246 T1581;RAX: 0000000000000000 RBX: 000000000000000b RCX: 0000000000000000 T1581;RDX: ffff8fbb3da9b3c4 RSI: 0000000000000001 RDI: ffff8fbb3da9b200 T1581;RBP: 0000000000000246 R08: 0000000000000000 R09: 3fffffffffffdfff T1581;R10: ffffffff97cd3dc0 R11: ffff9d3305d83170 R12: ffff9d3305d83448 T1581;R13: ffffffff96ec5913 R14: 0000000000000002 R15: 0000000000000004 T1581;FS: 00007ff40af34b80(0000) GS:ffff8fbba5df6000(0000) knlGS:0000000000000000 T1581;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1581;CR2: 00007f4d92ce39d0 CR3: 0000000120bd9000 CR4: 0000000000f50ef0 T1581;PKRU: 55555554 T1581;Call Trace: T1581; <TASK> T1581; ? oops_exit.cold+0x13/0x1f T1581; ? oops_end+0x66/0xe0 T1581; ? do_trap+0xc5/0x110 T1581; ? do_error_trap+0x60/0x80 T1581; ? __get_vm_area_node+0x113/0x130 T1581; ? exc_invalid_op+0x4f/0x70 T1581; ? __get_vm_area_node+0x113/0x130 T1581; ? asm_exc_invalid_op+0x1a/0x20 T1581; ? __get_vm_area_node+0x113/0x130 T1581; ? __vmalloc_node_range_noprof+0x14a/0x920 T1581; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1581; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1581; ? exc_invalid_op+0x18/0x70 T1581; ? __vmalloc_node_noprof+0x47/0x60 T1581; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1581; ? dml21_allocate_memory+0x124/0x180 [amdgpu] T1581; ? dml21_create_copy+0x16/0x40 [amdgpu] T1581; ? dc_state_create_copy+0x89/0x120 [amdgpu] T1581; ? dc_commit_state_no_check+0x271/0xde0 [amdgpu] T1581; ? dc_commit_streams+0x2f4/0x4e0 [amdgpu] T1581; ? amdgpu_dm_atomic_commit_tail+0x4ec/0x3610 [amdgpu] T1581; ? optc1_get_crtc_scanoutpos+0x5f/0xa0 [amdgpu] T1581; ? dc_stream_get_scanoutpos+0x7a/0xc0 [amdgpu] T1581; ? amdgpu_display_get_crtc_scanoutpos+0xa5/0x1c0 [amdgpu] T1581; ? amdgpu_display_crtc_idx_to_irq_type+0x30/0x30 [amdgpu] T1581; ? amdgpu_crtc_get_scanout_position+0x23/0x30 [amdgpu] T1581; ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x176/0x3a0 [drm] T1581; ? wait_for_completion_timeout+0x127/0x170 T1581; ? drm_crtc_get_last_vbltimestamp+0x50/0x80 [drm] T1581; ? commit_tail+0xad/0x140 [drm_kms_helper] T1581; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1581; ? drm_atomic_commit+0xac/0xe0 [drm] T1581; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1581; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1581; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1581; ? __schedule+0x389/0x1700 T1581; ? rt_spin_lock+0x35/0x120 T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1581; ? drm_ioctl+0x27f/0x520 [drm] T1581; ? drm_mode_getcrtc+0x180/0x180 [drm] T1581; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1581; ? __x64_sys_ioctl+0x92/0xe0 T1581; ? do_syscall_64+0xdd/0x5d0 T1581; ? switch_fpu_return+0x42/0x70 T1581; ? handle_irq_event+0x4c/0x80 T1581; ? do_syscall_64+0x94/0x5d0 T1581; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1581; </TASK> T1581;---[ end trace 0000000000000000 ]--- C19;RIP: 0010:__get_vm_area_node+0x113/0x130 C28;Code: ff bd ff ff ff ff 48 0f bd e8 b8 0c 00 00 00 ff c5 39 c5 0f 4c e8 b8 1e 00 00 00 39 c5 0f 4f e8 c4 e2 d1 f7 ee e9 34 ff ff ff <0f> 0b 4c 89 ef e8 23 51 01 00 45 31 ed eb ae 0f 1f 00 66 66 2e 0f C28;RSP: 0018:ffff9d3305d834f8 EFLAGS: 00010286 C28;RAX: 00000000ffffffff RBX: 0000000000000001 RCX: 0000000000000022 C28;RDX: 000000000000000c RSI: 0000000000000001 RDI: 000000000000f720 C28;RBP: 000000000000000c R08: ffff9d3300000000 R09: ffffbd32ffffffff C28;R10: 00000000ffffffff R11: 0000000000000076 R12: ffff8fad48480000 C28;R13: 0000000000000001 R14: 0000000000000dc0 R15: 000000000000f720 C28;FS: 00007ff40af34b80(0000) GS:ffff8fbba5e76000(0000) knlGS:0000000000000000 C28;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 C28;CR2: 00007f6ae2fa7010 CR3: 0000000120bd9000 CR4: 0000000000f50ef0 C28;PKRU: 55555554 T1581;Kernel panic - not syncing: Fatal exception in interrupt T1581;Kernel Offset: 0x15a00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) T1581;---[ end Kernel panic - not syncing: Fatal exception in interrupt ]--- So now I'm going to use memtest86+ on my machine and then look at the changes I had in my userspace as the first error occured on 22.7.2026. Let's hope this does not escalate ... Bert Karwatzki ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in v7.2-rc{3,4} and next-20260722 with PREEMPT_RT 2026-07-23 13:23 ` Bert Karwatzki @ 2026-07-23 16:17 ` Bert Karwatzki 2026-07-23 22:51 ` [Re] kernel panic during shutdown in next-20260722 Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-23 16:17 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Donnerstag, dem 23.07.2026 um 15:23 +0200 schrieb Bert Karwatzki: > Am Donnerstag, dem 23.07.2026 um 15:10 +0200 schrieb Bert Karwatzki: > > I was able to gather the panic error message from a failed shutdown via netconsole, > > this time the kernel used was v7.2-rc3: > > # > > Bert Karwatzki > > Unfortunatetly I can now reproduce these kernel panics in v7.1: > > > So now I'm going to use memtest86+ on my machine and then look at the changes I had in > my userspace as the first error occured on 22.7.2026. Let's hope this does not escalate ... > > Bert Karwatzki So I've run memtest86+ for ~2.5h (2.6 complete runs) and found no error. Even if my memory contained an error, if it's that hard to trigger it would not cause frequent crashes. But I found out an exciting thing: I can only reproduce the crashes in v7.2-rc4 when watching the reboot via netconsole, without netconsole no crash occurs!(This also explains why I had not seen this crashes before ...) In next-20260722 the crash is reproducible without netconsole. So I'm going back to bisecting from v7.2-rc4 to next-20260722. Once I'm finished with that I'm going to look at the "netconsole triggerred" crashes. Does anyone have an idea what's going on? Bert Karwatzki ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in next-20260722 2026-07-23 16:17 ` Bert Karwatzki @ 2026-07-23 22:51 ` Bert Karwatzki 2026-07-24 15:08 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-23 22:51 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Donnerstag, dem 23.07.2026 um 18:17 +0200 schrieb Bert Karwatzki: > Am Donnerstag, dem 23.07.2026 um 15:23 +0200 schrieb Bert Karwatzki: > > Am Donnerstag, dem 23.07.2026 um 15:10 +0200 schrieb Bert Karwatzki: > > > I was able to gather the panic error message from a failed shutdown via netconsole, > > > this time the kernel used was v7.2-rc3: > > > # > > > Bert Karwatzki > > > > Unfortunatetly I can now reproduce these kernel panics in v7.1: > > > > > > So now I'm going to use memtest86+ on my machine and then look at the changes I had in > > my userspace as the first error occured on 22.7.2026. Let's hope this does not escalate ... > > > > Bert Karwatzki > > > But I found out an exciting thing: > I can only reproduce the crashes in v7.2-rc4 when watching the reboot via netconsole, > without netconsole no crash occurs!(This also explains why I had not seen this crashes before ...) > Actually this is not cause by netconsole, but by rebooting right after a crash. Some broken state seems to be preserved across reboots. Switching off the power supply after a crash or even a ~30s wait after switching off the crashed machine seems to be enough to get around this. Also the hang when rebooting next-20260722 also occurs when compiling without PREEMPT_RT. Bert Karwatzki ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in next-20260722 2026-07-23 22:51 ` [Re] kernel panic during shutdown in next-20260722 Bert Karwatzki @ 2026-07-24 15:08 ` Bert Karwatzki 2026-07-25 19:58 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-24 15:08 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Freitag, dem 24.07.2026 um 00:51 +0200 schrieb Bert Karwatzki: > Am Donnerstag, dem 23.07.2026 um 18:17 +0200 schrieb Bert Karwatzki: > > Am Donnerstag, dem 23.07.2026 um 15:23 +0200 schrieb Bert Karwatzki: > > > Am Donnerstag, dem 23.07.2026 um 15:10 +0200 schrieb Bert Karwatzki: > > > > I was able to gather the panic error message from a failed shutdown via netconsole, > > > > this time the kernel used was v7.2-rc3: > > > > # > > > > Bert Karwatzki > > > > > > Unfortunatetly I can now reproduce these kernel panics in v7.1: > > > > > > > > > So now I'm going to use memtest86+ on my machine and then look at the changes I had in > > > my userspace as the first error occured on 22.7.2026. Let's hope this does not escalate ... > > > > > > Bert Karwatzki > > > > > > But I found out an exciting thing: > > I can only reproduce the crashes in v7.2-rc4 when watching the reboot via netconsole, > > without netconsole no crash occurs!(This also explains why I had not seen this crashes before ...) > > > Actually this is not cause by netconsole, but by rebooting right after a crash. Some > broken state seems to be preserved across reboots. Switching off the power supply after > a crash or even a ~30s wait after switching off the crashed machine seems to be enough > to get around this. > Also the hang when rebooting next-20260722 also occurs when compiling without PREEMPT_RT. > > Bert Karwatzki There are actually several errors here: 1) The shutdown hang wich occurs in next-20260722+ (PREMPT_RT or not) This error is caused by (I'll open a separate thread for this): commit 13b7e6a96a005c656d38f3da51581deaf9866375 Author: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> Date: Wed Jul 8 16:43:47 2026 +0200 wifi: mt76: Disable napi when removing device Unloading the mt7915e module with a MT7916 triggers multiples WARN in __netif_napi_del_locked() and in page_pool_disable_direct_recycling() because the driver does not disable the napi before destroying it. This is troublesome since on MT7916 it is required to unload the module and reinsert it with a different enable_6ghz parameter to change the frequency. The system generally becomes unstable after reinserting the module. Fix it by disabling napi before deleting it. Also, do not delete napi on WED queues since napi is neither used nor initialized on them. Fixes: 17f1de56df05 ("mt76: add common code shared between multiple chipsets") Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> Link: https://patch.msgid.link/20260708144615.24092-1-nicolas.cavallari@green-communications.fr Signed-off-by: Felix Fietkau <nbd@nbd.name> diff --git a/drivers/net/wireless/mediatek/mt76/dma.c b/drivers/net/wireless/mediatek/mt76/dma.c index f8c2fe5f2f58..322041859217 100644 --- a/drivers/net/wireless/mediatek/mt76/dma.c +++ b/drivers/net/wireless/mediatek/mt76/dma.c @@ -1189,7 +1189,10 @@ void mt76_dma_cleanup(struct mt76_dev *dev) mt76_for_each_q_rx(dev, i) { struct mt76_queue *q = &dev->q_rx[i]; - netif_napi_del(&dev->napi[i]); + if (!mt76_queue_is_wed_rro(q)) { + napi_disable(&dev->napi[i]); + netif_napi_del(&dev->napi[i]); + } mt76_dma_rx_cleanup(dev, q); page_pool_destroy(q->page_pool); 2) The "scheduling while atomic" errors which occur in v7.2-rc4 and earlier, once I figure out these I'll contiue here (v6.19 is free from these errors) Bert Karwatzki ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in next-20260722 2026-07-24 15:08 ` Bert Karwatzki @ 2026-07-25 19:58 ` Bert Karwatzki 2026-07-25 23:16 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-25 19:58 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Freitag, dem 24.07.2026 um 17:08 +0200 schrieb Bert Karwatzki: > > > 2) The "scheduling while atomic" errors which occur in v7.2-rc4 and earlier, once I figure out > these I'll contiue here (v6.19 is free from these errors) > > Bert Karwatzki To figure out the "scheduling while atomic" errors when rebooting from v7.1 I first retested commit 8bf0cb97edb ("drm/amd/display: Move dml2_destroy to non-FPU compilation unit") which was supposed to fix "scheduling while atomic" errors introduced by these patches: 32c1c35b6d8b drm/amd/display: Move FPU Guards From DML To DC - Part 3 4bb2f0721ed8 drm/amd/display: Move FPU Guards From DML To DC - Part 2 3539437f354b drm/amd/display: Move FPU Guards From DML To DC - Part 1 https://lore.kernel.org/lkml/20260409131411.10598-1-spasswolf@web.de/ On the 8th reboot I got an "scheduling while atomic" error (no panic though): T4874;netconsole: network logging started T4874;netconsole-setup: Test log message to verify netconsole configuration. T1499;BUG: scheduling while atomic: Xorg/1499/0x00000003 T1499,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e intel_rapl_msr mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_hda_codec_atihdmi snd_rawmidi snd_hda_codec_hdmi snd_seq_device mt76_connac_lib intel_rapl_common mt76 iosf_mbi rapl snd_hda_intel mac80211 wmi_bmof snd_hda_codec snd_hda_core snd_intel_dspcfg pcspkr snd_hwdep spd5118 regmap_i2c snd_pcm libarc4 snd_timer cfg80211 snd soundcore k10temp rfkill evdev ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit usbhid drm_buddy drm_ttm_helper hid ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm usbcore scsi_mod nvme igc nvme_core cec scsi_common crc16 video usb_common nvme_keyring nvm T1499,ncfrag=919/979;e_auth i2c_piix4 hkdf gpio_amdpt gpio_generic i2c_smbus wmi T1499;CPU: 18 UID: 0 PID: 1499 Comm: Xorg Not tainted 7.0.0-rc7-bisect-01908-g8bf0cb97edb6 #1259 PREEMPT_{RT,(full)} T1499;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1499;Call Trace: T1499; <TASK> T1499; ? dump_stack_lvl+0x4b/0x70 T1499; ? __schedule_bug.cold+0x3e/0x4a T1499; ? __schedule+0xedf/0x15c0 T1499; ? schedule_rtlock+0x15/0x30 T1499; ? rtlock_slowlock_locked+0x30b/0xe50 T1499; ? rt_spin_lock+0xc3/0x120 T1499; ? get_page_from_freelist+0x243/0x1630 T1499; ? rt_spin_unlock+0x5a/0xa0 T1499; ? __alloc_frozen_pages_noprof+0x146/0x2b0 T1499; ? ___kmalloc_large_node+0xd7/0xf0 T1499; ? __kvmalloc_node_noprof+0x398/0x540 T1499; ? dcn401_build_pipe_pix_clk_params+0x10a/0x1f0 [amdgpu] T1499; ? dc_create_plane_state+0x24/0x80 [amdgpu] T1499; ? dc_state_create_phantom_plane+0x15/0x50 [amdgpu] T1499; ? dml21_handle_phantom_streams_planes+0x292/0x510 [amdgpu] T1499; ? dml21_mode_check_and_programming+0x157/0x7e0 [amdgpu] T1499; ? spl_set_filters_data+0xbc/0xd0 [amdgpu] T1499; ? dcn401_validate_bandwidth+0xb8/0x1f0 [amdgpu] T1499; ? update_planes_and_stream_state+0xeb5/0x1520 [amdgpu] T1499; ? update_planes_and_stream_prepare_v3+0xb3/0x430 [amdgpu] T1499; ? amdgpu_device_wreg+0x1e/0xe0 [amdgpu] T1499; ? amdgpu_device_wreg+0x1e/0xe0 [amdgpu] T1499; ? dc_update_planes_and_stream+0x87/0x130 [amdgpu] T1499; ? amdgpu_dm_atomic_commit_tail+0x1239/0x35e0 [amdgpu] T1499; ? commit_tail+0xcd/0x160 [drm_kms_helper] T1499; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1499; ? drm_atomic_commit+0xac/0xe0 [drm] T1499; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1499; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1499; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1499; ? do_futex+0xc0/0x180 T1499; ? __x64_sys_futex+0x10d/0x200 T1499; ? drm_mode_getcrtc+0x180/0x180 [drm] T1499; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1499; ? drm_ioctl+0x27f/0x520 [drm] T1499; ? drm_mode_getcrtc+0x180/0x180 [drm] T1499; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1499; ? __x64_sys_ioctl+0x92/0xe0 T1499; ? do_syscall_64+0x118/0x5e0 T1499; ? irqentry_exit+0x325/0x560 T1499; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1499; </TASK> T1499;------------[ cut here ]------------ T1499;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:126 at dc_fpu_end+0x36/0x40 [amdgpu], CPU#17: Xorg/1499 T1499,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e intel_rapl_msr mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_hda_codec_atihdmi snd_rawmidi snd_hda_codec_hdmi snd_seq_device mt76_connac_lib intel_rapl_common mt76 iosf_mbi rapl snd_hda_intel mac80211 wmi_bmof snd_hda_codec snd_hda_core snd_intel_dspcfg pcspkr snd_hwdep spd5118 regmap_i2c snd_pcm libarc4 snd_timer cfg80211 snd soundcore k10temp rfkill evdev ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit usbhid drm_buddy drm_ttm_helper hid ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm usbcore scsi_mod nvme igc nvme_core cec scsi_common crc16 video usb_common nvme_keyring nvm T1499,ncfrag=919/979;e_auth i2c_piix4 hkdf gpio_amdpt gpio_generic i2c_smbus wmi T1499;CPU: 17 UID: 0 PID: 1499 Comm: Xorg Tainted: G W 7.0.0-rc7-bisect-01908-g8bf0cb97edb6 #1259 PREEMPT_{RT,(full)} T1499;Tainted: [W]=WARN T1499;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1499;RIP: 0010:dc_fpu_end+0x36/0x40 [amdgpu] T1499;Code: 05 7f f9 76 f1 ff c8 74 10 78 1f 65 ff 0d a2 e9 75 f1 74 0c c3 cc cc cc cc e8 86 f3 72 f0 eb eb e8 6f 63 71 f0 c3 cc cc cc cc <0f> 0b eb dd 66 0f 1f 44 00 00 41 56 41 55 41 54 55 53 48 83 ec 10 T1499;RSP: 0018:ffffb02c0a13f670 EFLAGS: 00010296 T1499;RAX: 00000000ffffffff RBX: ffff973c82b80000 RCX: 0000000000000008 T1499;RDX: 0000000000000000 RSI: 00000000000006a4 RDI: ffffffffc1599830 T1499;RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000001 T1499;R10: ffff973c82b80000 R11: 0000000000000002 R12: ffff973c40290000 T1499;R13: ffff973be0c00000 R14: 0000000000000000 R15: 0000000000000001 T1499;FS: 00007f0caaec0b80(0000) GS:ffff974acb3b9000(0000) knlGS:0000000000000000 T1499;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1499;CR2: 00007fb6d8830990 CR3: 000000010a518000 CR4: 0000000000f50ef0 T1499;PKRU: 55555554 T1499;Call Trace: T1499; <TASK> T1499; ? dcn401_validate_bandwidth+0xd1/0x1f0 [amdgpu] T1499; ? update_planes_and_stream_state+0xeb5/0x1520 [amdgpu] T1499; ? update_planes_and_stream_prepare_v3+0xb3/0x430 [amdgpu] T1499; ? amdgpu_device_wreg+0x1e/0xe0 [amdgpu] T1499; ? amdgpu_device_wreg+0x1e/0xe0 [amdgpu] T1499; ? dc_update_planes_and_stream+0x87/0x130 [amdgpu] T1499; ? amdgpu_dm_atomic_commit_tail+0x1239/0x35e0 [amdgpu] T1499; ? commit_tail+0xcd/0x160 [drm_kms_helper] T1499; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1499; ? drm_atomic_commit+0xac/0xe0 [drm] T1499; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1499; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1499; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1499; ? do_futex+0xc0/0x180 T1499; ? __x64_sys_futex+0x10d/0x200 T1499; ? drm_mode_getcrtc+0x180/0x180 [drm] T1499; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1499; ? drm_ioctl+0x27f/0x520 [drm] T1499; ? drm_mode_getcrtc+0x180/0x180 [drm] T1499; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1499; ? __x64_sys_ioctl+0x92/0xe0 T1499; ? do_syscall_64+0x118/0x5e0 T1499; ? irqentry_exit+0x325/0x560 T1499; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1499; </TASK> T1499;---[ end trace 0000000000000000 ]--- T1499;------------[ cut here ]------------ T1499;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:97 at dc_fpu_begin+0x4f/0x60 [amdgpu], CPU#17: Xorg/1499 T1499,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e intel_rapl_msr mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_hda_codec_atihdmi snd_rawmidi snd_hda_codec_hdmi snd_seq_device mt76_connac_lib intel_rapl_common mt76 iosf_mbi rapl snd_hda_intel mac80211 wmi_bmof snd_hda_codec snd_hda_core snd_intel_dspcfg pcspkr snd_hwdep spd5118 regmap_i2c snd_pcm libarc4 snd_timer cfg80211 snd soundcore k10temp rfkill evdev ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit usbhid drm_buddy drm_ttm_helper hid ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm usbcore scsi_mod nvme igc nvme_core cec scsi_common crc16 video usb_common nvme_keyring nvm T1499,ncfrag=919/979;e_auth i2c_piix4 hkdf gpio_amdpt gpio_generic i2c_smbus wmi T1499;CPU: 17 UID: 0 PID: 1499 Comm: Xorg Tainted: G W 7.0.0-rc7-bisect-01908-g8bf0cb97edb6 #1259 PREEMPT_{RT,(full)} T1499;Tainted: [W]=WARN T1499;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1499;RIP: 0010:dc_fpu_begin+0x4f/0x60 [amdgpu] T1499;Code: d0 75 27 65 ff 05 f1 e9 75 f1 b8 01 00 00 00 65 0f c1 05 b4 f9 76 f1 85 c0 74 05 c3 cc cc cc cc bf 02 00 00 00 e9 41 f4 72 f0 <0f> 0b eb d5 66 90 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 d6 b8 T1499;RSP: 0018:ffffb02c0a13f7e8 EFLAGS: 00010206 T1499;RAX: 0000000000ff0000 RBX: ffff973be0c00000 RCX: 0000000000000000 T1499;RDX: 0000000000ff0000 RSI: 00000000000006c8 RDI: ffffffffc1599800 T1499;RBP: ffff973c82b80000 R08: ffffb02c0a13f7bc R09: 000000000000000a T1499;R10: ffffb02c0a13f760 R11: 0000000000000002 R12: ffff973c40290000 T1499;R13: 0000000000000001 R14: ffff973be0c00000 R15: ffff973b4e999000 T1499;FS: 00007f0caaec0b80(0000) GS:ffff974acb3b9000(0000) knlGS:0000000000000000 T1499;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1499;CR2: 00007fb6d8830990 CR3: 000000010a518000 CR4: 0000000000f50ef0 T1499;PKRU: 55555554 T1499;Call Trace: T1499; <TASK> T1499; ? dcn401_prepare_mcache_programming+0x2f/0x70 [amdgpu] T1499; ? commit_planes_for_stream+0x157/0x1870 [amdgpu] T1499; ? update_planes_and_stream_execute_v3+0x3c/0xd0 [amdgpu] T1499; ? dc_update_planes_and_stream+0xb6/0x130 [amdgpu] T1499; ? amdgpu_dm_atomic_commit_tail+0x1239/0x35e0 [amdgpu] T1499; ? commit_tail+0xcd/0x160 [drm_kms_helper] T1499; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1499; ? drm_atomic_commit+0xac/0xe0 [drm] T1499; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1499; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1499; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1499; ? do_futex+0xc0/0x180 T1499; ? __x64_sys_futex+0x10d/0x200 T1499; ? drm_mode_getcrtc+0x180/0x180 [drm] T1499; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1499; ? drm_ioctl+0x27f/0x520 [drm] T1499; ? drm_mode_getcrtc+0x180/0x180 [drm] T1499; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1499; ? __x64_sys_ioctl+0x92/0xe0 T1499; ? do_syscall_64+0x118/0x5e0 T1499; ? irqentry_exit+0x325/0x560 T1499; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1499; </TASK> T1499;---[ end trace 0000000000000000 ]--- T1499;BUG: scheduling while atomic: Xorg/1499/0x00000000 T1499,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e intel_rapl_msr mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_hda_codec_atihdmi snd_rawmidi snd_hda_codec_hdmi snd_seq_device mt76_connac_lib intel_rapl_common mt76 iosf_mbi rapl snd_hda_intel mac80211 wmi_bmof snd_hda_codec snd_hda_core snd_intel_dspcfg pcspkr snd_hwdep spd5118 regmap_i2c snd_pcm libarc4 snd_timer cfg80211 snd soundcore k10temp rfkill evdev ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit usbhid drm_buddy drm_ttm_helper hid ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm usbcore scsi_mod nvme igc nvme_core cec scsi_common crc16 video usb_common nvme_keyring nvm T1499,ncfrag=919/979;e_auth i2c_piix4 hkdf gpio_amdpt gpio_generic i2c_smbus wmi T1499;CPU: 17 UID: 0 PID: 1499 Comm: Xorg Tainted: G W 7.0.0-rc7-bisect-01908-g8bf0cb97edb6 #1259 PREEMPT_{RT,(full)} T1499;Tainted: [W]=WARN T1499;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1499;Call Trace: T1499; <TASK> T1499; ? dump_stack_lvl+0x4b/0x70 T1499; ? __schedule_bug.cold+0x3e/0x4a T1499; ? __schedule+0xedf/0x15c0 T1499; ? psi_task_change+0xbf/0xd0 T1499; ? lock_timer_base+0x6b/0x90 T1499; ? __mod_timer+0x116/0x330 T1499; ? schedule+0x22/0xd0 T1499; ? schedule_timeout+0x76/0xf0 T1499; ? hrtimers_cpu_dying+0x1a0/0x1a0 T1499; ? wait_for_completion_timeout+0x78/0x170 T1499; ? drm_atomic_helper_wait_for_flip_done+0x46/0x90 [drm_kms_helper] T1499; ? amdgpu_dm_atomic_commit_tail+0x2c6d/0x35e0 [amdgpu] T1499; ? commit_tail+0xcd/0x160 [drm_kms_helper] T1499; ? drm_atomic_helper_commit+0x137/0x180 [drm_kms_helper] T1499; ? drm_atomic_commit+0xac/0xe0 [drm] T1499; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1499; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] T1499; ? drm_mode_setcrtc+0x443/0x8b0 [drm] T1499; ? do_futex+0xc0/0x180 T1499; ? __x64_sys_futex+0x10d/0x200 T1499; ? drm_mode_getcrtc+0x180/0x180 [drm] T1499; ? drm_ioctl_kernel+0xa1/0xf0 [drm] T1499; ? drm_ioctl+0x27f/0x520 [drm] T1499; ? drm_mode_getcrtc+0x180/0x180 [drm] T1499; ? amdgpu_drm_ioctl+0x45/0x80 [amdgpu] T1499; ? __x64_sys_ioctl+0x92/0xe0 T1499; ? do_syscall_64+0x118/0x5e0 T1499; ? irqentry_exit+0x325/0x560 T1499; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1499; </TASK> T1499;------------[ cut here ]------------ T1499;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:58 at dc_assert_fp_enabled+0x14/0x20 [amdgpu], CPU#17: Xorg/1499 T1499,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat joydev snd_usb_audio mt7925e intel_rapl_msr mt7925_common snd_usbmidi_lib snd_ump mt792x_lib snd_hda_codec_atihdmi snd_rawmidi snd_hda_codec_hdmi snd_seq_device mt76_connac_lib intel_rapl_common mt76 iosf_mbi rapl snd_hda_intel mac80211 wmi_bmof snd_hda_codec snd_hda_core snd_intel_dspcfg pcspkr snd_hwdep spd5118 regmap_i2c snd_pcm libarc4 snd_timer cfg80211 snd soundcore k10temp rfkill evdev ccp nct6775 nct6775_core hwmon_vid configfs efi_pstore efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic drm_client_lib i2c_algo_bit usbhid drm_buddy drm_ttm_helper hid ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci libahci xhci_pci libata xhci_hcd drm_kms_helper drm usbcore scsi_mod nvme igc nvme_core cec scsi_common crc16 video usb_common nvme_keyring nvm T1499,ncfrag=919/979;e_auth i2c_piix4 hkdf gpio_amdpt gpio_generic i2c_smbus wmi T1499;CPU: 17 UID: 0 PID: 1499 Comm: Xorg Tainted: G W 7.0.0-rc7-bisect-01908-g8bf0cb97edb6 #1259 PREEMPT_{RT,(full)} T1499;Tainted: [W]=WARN T1499;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1499;RIP: 0010:dc_assert_fp_enabled+0x14/0x20 [amdgpu] T1499;Code: 00 5b e9 ff 33 79 f0 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 0f 1f 40 d6 65 8b 05 25 fa 76 f1 85 c0 7e 05 c3 cc cc cc cc <0f> 0b c3 cc cc cc cc 0f 1f 44 00 00 0f 1f 40 d6 65 8b 05 05 fa 76 T1499;RSP: 0018:ffffb02c0a13f418 EFLAGS: 00010246 T1499;RAX: 0000000000000000 RBX: ffffb02c0a7c3128 RCX: 0000000000000000 T1499;RDX: 00000000000003d8 RSI: ffffffffc15b1c18 RDI: ffffb02c0a7c3cf0 T1499;RBP: ffff973be0c00000 R08: 0000000000000008 R09: ffffe3ef8492ebc0 T1499;R10: ffffe3ef8492ea00 R11: ffff974a7d86b408 R12: ffffb02c0a7c1008 T1499;R13: ffff973b83900010 R14: ffff973be0ee9fc8 R15: ffff973be0c00000 T1499;FS: 00007f0caaec0b80(0000) GS:ffff974acb3b9000(0000) knlGS:0000000000000000 T1499;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1499;CR2: 0000564066480de0 CR3: 000000010a518000 CR4: 0000000000f50ef0 T1499;PKRU: 55555554 T1499;Call Trace: T1499; <TASK> T1499; ? dcn401_get_soc_bb+0x3f/0x70 [amdgpu] T1499; ? dml21_populate_dml_init_params+0x61/0x1d0 [amdgpu] T1499; ? dml21_init+0x6a/0x90 [amdgpu] T1499; ? dml21_create+0x34/0x50 [amdgpu] T1499; ? dc_state_create+0xc8/0x140 [amdgpu] T1499; ? create_validate_stream_for_sink+0xb7/0x510 [amdgpu] T1499; ? dm_update_crtc_state+0x2d0/0x810 [amdgpu] T1499; ? amdgpu_dm_atomic_check+0x98f/0x1840 [amdgpu] T1499; ? drm_atomic_check_only+0x5d9/0xa00 [drm] T1499; ? drm_atomic_commit+0x6c/0xe0 [drm] T1499; ? __drm_universal_plane_init.cold+0x12/0x12 [drm] T1499; ? drm_client_modeset_commit_atomic+0x1c6/0x210 [drm] T1499; ? drm_client_modeset_commit_locked+0x56/0x160 [drm] T1499; ? __drm_fb_helper_restore_fbdev_mode_unlocked.part.0+0x22/0x80 [drm_kms_helper] T1499; ? drm_fb_helper_set_par+0x52/0x70 [drm_kms_helper] T1499; ? fb_set_var+0x234/0x3e0 T1499; ? prepend_copy+0x10/0x40 T1499; ? prepend_path+0x214/0x340 T1499; ? aa_audit_file+0x6e/0x1d0 T1499; ? mas_wr_node_store+0x1f2/0x390 T1499; ? fbcon_blank+0x1e4/0x2f0 T1499; ? do_unblank_screen+0xc3/0x1b0 T1499; ? down+0x19/0x60 T1499; ? vt_ioctl+0x563/0x13a0 T1499; ? rt_spin_lock+0x35/0x120 T1499; ? fsnotify_grab_connector+0x45/0x80 T1499; ? rt_spin_unlock+0x5a/0xa0 T1499; ? tty_ioctl+0xdf/0x960 T1499; ? __memcg_slab_free_hook+0xd0/0x120 T1499; ? rt_spin_unlock+0x5a/0xa0 T1499; ? kmem_cache_free+0x210/0x420 T1499; ? __x64_sys_ioctl+0x92/0xe0 T1499; ? do_syscall_64+0x118/0x5e0 T1499; ? do_syscall_64+0x574/0x5e0 T1499; ? filename_unlinkat+0xd2/0x290 T1499; ? rt_spin_unlock+0x5a/0xa0 T1499; ? kmem_cache_free+0x210/0x420 T1499; ? do_syscall_64+0x574/0x5e0 T1499; ? obj_cgroup_uncharge_pages+0x58/0xd0 T1499; ? __memcg_slab_free_hook+0xd0/0x120 T1499; ? rt_spin_unlock+0x5a/0xa0 T1499; ? do_wp_page+0x7f2/0xee0 T1499; ? rt_spin_unlock+0x5a/0xa0 T1499; ? refill_obj_stock+0x1be/0x340 T1499; ? __handle_mm_fault+0x393/0x3f0 T1499; ? do_epoll_ctl+0x2a2/0xe00 T1499; ? refill_obj_stock+0x1be/0x340 T1499; ? count_memcg_events+0x66/0x100 T1499; ? handle_mm_fault+0x1b4/0x2b0 T1499; ? do_user_addr_fault+0x203/0x640 T1499; ? irqentry_exit+0x325/0x560 T1499; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1499; </TASK> T1499;---[ end trace 0000000000000000 ]--- T1265;wlp9s0: deauthenticating from 54:67:51:3d:a2:d2 by local choice (Reason: 3=DEAUTH_LEAVING) T5206;EXT4-fs (nvme0n1p5): unmounting filesystem 15783f8d-d7dd-4c1a-a7f8-84d944f03886. T5205;EXT4-fs (nvme0n1p4): unmounting filesystem ab8e4bed-5cab-4ae8-875a-8a42e075b551. T1;systemd-shutdown[1]: Syncing filesystems and block devices. T1;systemd-shutdown[1]: Sending SIGTERM to remaining processes... T754;systemd-journald[754]: Received SIGTERM from PID 1 (systemd-shutdow). T1;systemd-shutdown[1]: Sending SIGKILL to remaining processes... T1;systemd-shutdown[1]: Unmounting file systems. T5222;(sd-umount)[5222]: Unmounting '/run/credentials/systemd-journald.service'. T5224;(sd-remount)[5224]: Remounting '/' read-only with options 'errors=remount-ro'. T5224;EXT4-fs (nvme0n1p2): re-mounted 3d5cdc5d-1902-40bf-9e16-ca819372d350 ro. T1;systemd-shutdown[1]: All filesystems unmounted. T1;systemd-shutdown[1]: Deactivating swaps. T1;systemd-shutdown[1]: All swaps deactivated. T1;systemd-shutdown[1]: Detaching loop devices. T1;systemd-shutdown[1]: All loop devices detached. T1;systemd-shutdown[1]: Stopping MD devices. T1;systemd-shutdown[1]: All MD devices stopped. T1;systemd-shutdown[1]: Detaching DM devices. T1;systemd-shutdown[1]: All DM devices detached. T1;systemd-shutdown[1]: All filesystems, swaps, loop devices, MD devices and DM devices detached. T1;systemd-shutdown[1]: Syncing filesystems and block devices. T1;systemd-shutdown[1] Which shows that the fix in commit 8bf0cb97edb may be incomplete. Bert Karwatzki ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in next-20260722 2026-07-25 19:58 ` Bert Karwatzki @ 2026-07-25 23:16 ` Bert Karwatzki 2026-07-26 18:47 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-25 23:16 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Samstag, dem 25.07.2026 um 21:58 +0200 schrieb Bert Karwatzki: > Am Freitag, dem 24.07.2026 um 17:08 +0200 schrieb Bert Karwatzki: > > > > > > 2) The "scheduling while atomic" errors which occur in v7.2-rc4 and earlier, once I figure out > > these I'll contiue here (v6.19 is free from these errors) > > > > Bert Karwatzki > > To figure out the "scheduling while atomic" errors when rebooting from v7.1 I first retested > > commit 8bf0cb97edb ("drm/amd/display: Move dml2_destroy to non-FPU compilation unit") > > which was supposed to fix "scheduling while atomic" errors introduced by these patches: > > 32c1c35b6d8b drm/amd/display: Move FPU Guards From DML To DC - Part 3 > 4bb2f0721ed8 drm/amd/display: Move FPU Guards From DML To DC - Part 2 > 3539437f354b drm/amd/display: Move FPU Guards From DML To DC - Part 1 > > https://lore.kernel.org/lkml/20260409131411.10598-1-spasswolf@web.de/ > > > Which shows that the fix in commit 8bf0cb97edb may be incomplete. > > Bert Karwatzki I did yet another test of commit 8bf0cb97edb ("drm/amd/display: Move dml2_destroy to non-FPU compilation unit") this time with CONFIG_LOCKDEP=y and got a kernel panic: T4648;netconsole: network logging started T4648;netconsole-setup: Test log message to verify netconsole configuration. T1508;BUG: scheduling while atomic: Xorg/1508/0x00000003 T1508;4 locks held by Xorg/1508: T1508; #0: ffffb949cd76b9f8 (crtc_ww_class_acquire){+.+.}-{0:0}, at: set_property_atomic+0x51/0x150 [drm] T1508; #1: ffffb949cd76ba20 (crtc_ww_class_mutex){+.+.}-{4:4}, at: set_property_atomic+0x51/0x150 [drm] T1508; #2: ffff980422565478 (&adev->dm.dc_lock){+.+.}-{4:4}, at: amdgpu_dm_atomic_commit_tail+0x120a/0x3460 [amdgpu] T1508; #3: ffffffff9cdbcc50 (&zone->lock){+.+.}-{3:3}, at: get_page_from_freelist+0x261/0x19f0 T1508,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat mt7925e mt7925_common snd_hda_codec_atihdmi joydev snd_usb_audio mt792x_lib snd_hda_codec_hdmi intel_rapl_msr mt76_connac_lib snd_usbmidi_lib snd_ump intel_rapl_common mt76 snd_rawmidi iosf_mbi snd_seq_device snd_hda_intel mac80211 rapl wmi_bmof snd_hda_codec snd_hda_core libarc4 snd_intel_dspcfg spd5118 snd_hwdep cfg80211 regmap_i2c snd_pcm pcspkr snd_timer snd rfkill soundcore evdev ccp k10temp nct6775 nct6775_core hwmon_vid efi_pstore configfs efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper drm_kms_helper ahci libahci drm libata scsi_mod cec xhci_pci igc scsi_common crc16 xhci_hcd nvme nvme_core video usbcore nvme_keyring nvme_auth hkd T1508,ncfrag=918/979;f usb_common i2c_piix4 gpio_amdpt gpio_generic i2c_smbus wmi T1508;CPU: 23 UID: 0 PID: 1508 Comm: Xorg Tainted: G W 7.0.0-rc7-lockdep-01908-g8bf0cb97edb6 #1264 PREEMPT_{RT,(full)} T1508;Tainted: [W]=WARN T1508;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1508;Call Trace: T1508; <TASK> T1508; ? dump_stack_lvl+0x5b/0x80 T1508; ? __schedule_bug.cold+0x5a/0x67 T1508; ? __schedule+0x1468/0x1ae0 T1508; ? rtlock_slowlock_locked+0x281/0x1aa0 T1508; ? mark_held_locks+0x40/0x70 T1508; ? schedule_rtlock+0x15/0x30 T1508; ? rtlock_slowlock_locked+0x5b4/0x1aa0 T1508; ? lock_acquire+0xbf/0x2e0 T1508; ? rt_spin_lock+0x85/0x1b0 T1508; ? get_page_from_freelist+0x261/0x19f0 T1508; ? __lock_acquire+0x49a/0x2590 T1508; ? dc_link_get_highest_encoding_format+0x61/0xb0 [amdgpu] T1508; ? __alloc_frozen_pages_noprof+0x158/0x370 T1508; ? ___kmalloc_large_node+0xd7/0xf0 T1508; ? __kmalloc_large_node_noprof+0x1b/0x130 T1508; ? __kvmalloc_node_noprof+0x4ad/0x730 T1508; ? dc_create_plane_state+0x24/0x80 [amdgpu] T1508; ? dc_create_plane_state+0x24/0x80 [amdgpu] T1508; ? dc_state_create_phantom_plane+0x15/0x50 [amdgpu] T1508; ? dml21_handle_phantom_streams_planes+0x292/0x510 [amdgpu] T1508; ? dml21_mode_check_and_programming+0x157/0x7e0 [amdgpu] T1508; ? spl_set_filters_data+0xbc/0xd0 [amdgpu] T1508; ? spl_calculate_scaler_params+0x39d/0x1c00 [amdgpu] T1508; ? dc_state_remove_plane+0xbf/0x160 [amdgpu] T1508; ? dcn401_validate_bandwidth+0xb8/0x1f0 [amdgpu] T1508; ? update_planes_and_stream_state+0xeb5/0x1520 [amdgpu] T1508; ? __lock_acquire+0x49a/0x2590 T1508; ? update_planes_and_stream_prepare_v3+0xb3/0x430 [amdgpu] T1508; ? dc_update_planes_and_stream+0x87/0x130 [amdgpu] T1508; ? amdgpu_dm_atomic_commit_tail+0x126b/0x3460 [amdgpu] T1508; ? commit_tail+0x9d/0x130 [drm_kms_helper] T1508; ? drm_atomic_helper_commit+0x15a/0x1a0 [drm_kms_helper] T1508; ? drm_atomic_commit+0xac/0xe0 [drm] T1508; ? __drm_universal_plane_init.cold+0x17/0x17 [drm] T1508; ? set_property_atomic+0x82/0x150 [drm] T1508; ? drm_mode_obj_find_prop_id+0x60/0x60 [drm] T1508; ? drm_mode_obj_set_property_ioctl+0xe6/0x150 [drm] T1508; ? drm_ioctl_kernel+0xa7/0x100 [drm] T1508; ? drm_ioctl+0x288/0x510 [drm] T1508; ? drm_mode_obj_find_prop_id+0x60/0x60 [drm] T1508; ? rt_mutex_slowunlock+0x3bd/0x420 T1508; ? amdgpu_drm_ioctl+0x4b/0x80 [amdgpu] T1508; ? __x64_sys_ioctl+0x95/0xe0 T1508; ? do_syscall_64+0x129/0x6b0 T1508; ? kmem_cache_free+0x179/0x4c0 T1508; ? lockdep_hardirqs_on_prepare+0xd7/0x180 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? do_syscall_64+0x238/0x6b0 T1508; ? trace_hardirqs_off+0x4e/0xf0 T1508; ? exit_to_user_mode_loop+0xf8/0x460 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? do_syscall_64+0x238/0x6b0 T1508; ? vfs_writev+0x9a/0x490 T1508; ? find_held_lock+0x2b/0x80 T1508; ? __fget_files+0xbf/0x190 T1508; ? lock_release+0xd3/0x2f0 T1508; ? do_writev+0xf4/0x110 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? do_syscall_64+0x238/0x6b0 T1508; ? flush_tlb_func+0x74/0x340 T1508; ? do_writev+0xf4/0x110 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? do_syscall_64+0x238/0x6b0 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? lockdep_hardirqs_on_prepare+0xd7/0x180 T1508; ? irqentry_exit+0xbd/0x5a0 T1508; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1508; </TASK> C23;------------[ cut here ]------------ T1508;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:97 at dc_fpu_begin+0x160/0x170 [amdgpu], CPU#23: Xorg/1508 T1508,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat mt7925e mt7925_common snd_hda_codec_atihdmi joydev snd_usb_audio mt792x_lib snd_hda_codec_hdmi intel_rapl_msr mt76_connac_lib snd_usbmidi_lib snd_ump intel_rapl_common mt76 snd_rawmidi iosf_mbi snd_seq_device snd_hda_intel mac80211 rapl wmi_bmof snd_hda_codec snd_hda_core libarc4 snd_intel_dspcfg spd5118 snd_hwdep cfg80211 regmap_i2c snd_pcm pcspkr snd_timer snd rfkill soundcore evdev ccp k10temp nct6775 nct6775_core hwmon_vid efi_pstore configfs efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper drm_kms_helper ahci libahci drm libata scsi_mod cec xhci_pci igc scsi_common crc16 xhci_hcd nvme nvme_core video usbcore nvme_keyring nvme_auth hkd T1508,ncfrag=918/979;f usb_common i2c_piix4 gpio_amdpt gpio_generic i2c_smbus wmi T1508;CPU: 23 UID: 0 PID: 1508 Comm: Xorg Tainted: G W 7.0.0-rc7-lockdep-01908-g8bf0cb97edb6 #1264 PREEMPT_{RT,(full)} T1508;Tainted: [W]=WARN T1508;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 T1508;RIP: 0010:dc_fpu_begin+0x160/0x170 [amdgpu] T1508;Code: ff bf 02 00 00 00 89 4c 24 14 4c 89 4c 24 08 44 89 04 24 e8 c2 63 12 db 8b 4c 24 14 4c 8b 4c 24 08 44 8b 04 24 e9 f5 fe ff ff <0f> 0b e9 ce fe ff ff 66 0f 1f 84 00 00 00 00 00 0f 1f 40 d6 41 56 T1508;RSP: 0018:ffffb949cd76b570 EFLAGS: 00010206 T1508;RAX: 0000000000ff0000 RBX: ffff980423000000 RCX: 00000000000006c8 T1508;RDX: 0000000000ff0000 RSI: 00000000000006c8 RDI: ffffffffc11c3960 T1508;RBP: ffff980522a00000 R08: 0000000000005183 R09: ffffffffc11c3960 T1508;R10: ffffb949cd76b508 R11: 0000000000000002 R12: ffff980448140000 T1508;R13: 0000000000000001 R14: ffff980423000000 R15: ffff980566daa000 T1508;FS: 00007f93c3e6fb80(0000) GS:ffff9813a0a46000(0000) knlGS:0000000000000000 T1508;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 T1508;CR2: 00007ff941d9d000 CR3: 000000011261e000 CR4: 0000000000f50ef0 T1508;PKRU: 55555554 T1508;Call Trace: T1508; <TASK> T1508; ? determine_pipe_unlock_order+0x78/0xf0 [amdgpu] T1508; ? dcn401_prepare_mcache_programming+0x2f/0x70 [amdgpu] T1508; ? commit_planes_for_stream+0x157/0x1870 [amdgpu] T1508; ? update_planes_and_stream_execute_v3+0x3c/0xd0 [amdgpu] T1508; ? dc_update_planes_and_stream+0xb6/0x130 [amdgpu] T1508; ? amdgpu_dm_atomic_commit_tail+0x126b/0x3460 [amdgpu] T1508; ? commit_tail+0x9d/0x130 [drm_kms_helper] T1508; ? drm_atomic_helper_commit+0x15a/0x1a0 [drm_kms_helper] T1508; ? drm_atomic_commit+0xac/0xe0 [drm] T1508; ? __drm_universal_plane_init.cold+0x17/0x17 [drm] T1508; ? set_property_atomic+0x82/0x150 [drm] T1508; ? drm_mode_obj_find_prop_id+0x60/0x60 [drm] T1508; ? drm_mode_obj_set_property_ioctl+0xe6/0x150 [drm] T1508; ? drm_ioctl_kernel+0xa7/0x100 [drm] T1508; ? drm_ioctl+0x288/0x510 [drm] T1508; ? drm_mode_obj_find_prop_id+0x60/0x60 [drm] T1508; ? rt_mutex_slowunlock+0x3bd/0x420 T1508; ? amdgpu_drm_ioctl+0x4b/0x80 [amdgpu] T1508; ? __x64_sys_ioctl+0x95/0xe0 T1508; ? do_syscall_64+0x129/0x6b0 T1508; ? kmem_cache_free+0x179/0x4c0 T1508; ? lockdep_hardirqs_on_prepare+0xd7/0x180 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? do_syscall_64+0x238/0x6b0 T1508; ? trace_hardirqs_off+0x4e/0xf0 T1508; ? exit_to_user_mode_loop+0xf8/0x460 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? do_syscall_64+0x238/0x6b0 T1508; ? vfs_writev+0x9a/0x490 T1508; ? find_held_lock+0x2b/0x80 T1508; ? __fget_files+0xbf/0x190 T1508; ? lock_release+0xd3/0x2f0 T1508; ? do_writev+0xf4/0x110 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? do_syscall_64+0x238/0x6b0 T1508; ? flush_tlb_func+0x74/0x340 T1508; ? do_writev+0xf4/0x110 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? do_syscall_64+0x238/0x6b0 T1508; ? trace_hardirqs_on_prepare+0xdc/0x100 T1508; ? lockdep_hardirqs_on_prepare+0xd7/0x180 T1508; ? irqentry_exit+0xbd/0x5a0 T1508; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d T1508; </TASK> T1508;irq event stamp: 11300063 T1508;hardirqs last enabled at (11300065): [<ffffffff9bb6683d>] vprintk_store+0x36d/0x5e0 T1508;hardirqs last disabled at (11300066): [<ffffffff9bb6685f>] vprintk_store+0x38f/0x5e0 T1508;softirqs last enabled at (11293958): [<ffffffff9bacb56b>] __local_bh_enable_ip+0xfb/0x140 T1508;softirqs last disabled at (11293948): [<ffffffff9c49b14d>] unix_release_sock+0xfd/0x540 T1508;---[ end trace 0000000000000000 ]--- C23;------------[ cut here ]------------ C23;kernel BUG at mm/vmalloc.c:3412! C23;Oops: invalid opcode: 0000 [#1] SMP NOPTI C23;CPU: 23 UID: 0 PID: 1508 Comm: Xorg Tainted: G W 7.0.0-rc7-lockdep-01908-g8bf0cb97edb6 #1264 PREEMPT_{RT,(full)} C23;Tainted: [W]=WARN C23;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 C23;RIP: 0010:vfree_atomic+0x55/0x60 C23;Code: 07 48 89 c1 f0 48 0f b1 3a 75 f3 48 85 c9 74 05 c3 cc cc cc cc 48 8b 35 a1 70 c1 00 48 83 c2 08 bf 20 00 00 00 e9 cb 29 d6 ff <0f> 0b 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 41 56 41 54 55 53 48 C23;RSP: 0018:ffffb949cd76b5f8 EFLAGS: 00010286 C23;RAX: 0000000000ff0000 RBX: ffffb949cdfd5000 RCX: 0000000000000183 C23;RDX: 0000000000ff0000 RSI: 000000000000003d RDI: ffffb949e08ad000 C23;RBP: ffff98058f900000 R08: 0000000000000000 R09: ffffffffc11e6d50 C23;R10: 0000000000000006 R11: ffff9804480c8ad0 R12: ffff980448140000 C23;R13: ffff980423000000 R14: 0000000000000001 R15: ffff980566daa000 C23;FS: 00007f93c3e6fb80(0000) GS:ffff9813a0a46000(0000) knlGS:0000000000000000 C23;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 C23;CR2: 00007ff941d9d000 CR3: 000000011261e000 CR4: 0000000000f50ef0 C23;PKRU: 55555554 C23;Call Trace: C23; <TASK> C23; ? dml21_destroy+0x50/0xa0 [amdgpu] C23; ? dml2_destroy+0x59/0x60 [amdgpu] C23; ? dc_state_free+0x31/0x70 [amdgpu] C23; ? update_planes_and_stream_cleanup_v3+0x4f/0x3e0 [amdgpu] C23; ? dc_update_planes_and_stream+0xc4/0x130 [amdgpu] C23; ? amdgpu_dm_atomic_commit_tail+0x126b/0x3460 [amdgpu] C23; ? commit_tail+0x9d/0x130 [drm_kms_helper] C23; ? drm_atomic_helper_commit+0x15a/0x1a0 [drm_kms_helper] C23; ? drm_atomic_commit+0xac/0xe0 [drm] C23; ? __drm_universal_plane_init.cold+0x17/0x17 [drm] C23; ? set_property_atomic+0x82/0x150 [drm] C23; ? drm_mode_obj_find_prop_id+0x60/0x60 [drm] C23; ? drm_mode_obj_set_property_ioctl+0xe6/0x150 [drm] C23; ? drm_ioctl_kernel+0xa7/0x100 [drm] C23; ? drm_ioctl+0x288/0x510 [drm] C23; ? drm_mode_obj_find_prop_id+0x60/0x60 [drm] C23; ? rt_mutex_slowunlock+0x3bd/0x420 C23; ? amdgpu_drm_ioctl+0x4b/0x80 [amdgpu] C23; ? __x64_sys_ioctl+0x95/0xe0 C23; ? do_syscall_64+0x129/0x6b0 C23; ? kmem_cache_free+0x179/0x4c0 C23; ? lockdep_hardirqs_on_prepare+0xd7/0x180 C23; ? trace_hardirqs_on_prepare+0xdc/0x100 C23; ? do_syscall_64+0x238/0x6b0 C23; ? trace_hardirqs_off+0x4e/0xf0 C23; ? exit_to_user_mode_loop+0xf8/0x460 C23; ? trace_hardirqs_on_prepare+0xdc/0x100 C23; ? do_syscall_64+0x238/0x6b0 C23; ? vfs_writev+0x9a/0x490 C23; ? find_held_lock+0x2b/0x80 C23; ? __fget_files+0xbf/0x190 C23; ? lock_release+0xd3/0x2f0 C23; ? do_writev+0xf4/0x110 C23; ? trace_hardirqs_on_prepare+0xdc/0x100 C23; ? do_syscall_64+0x238/0x6b0 C23; ? flush_tlb_func+0x74/0x340 C23; ? do_writev+0xf4/0x110 C23; ? trace_hardirqs_on_prepare+0xdc/0x100 C23; ? do_syscall_64+0x238/0x6b0 C23; ? trace_hardirqs_on_prepare+0xdc/0x100 C23; ? lockdep_hardirqs_on_prepare+0xd7/0x180 C23; ? irqentry_exit+0xbd/0x5a0 C23; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d C23; </TASK> C23,ncfrag=0/979;Modules linked in: netconsole ccm snd_seq_dummy snd_hrtimer snd_seq nls_ascii nls_cp437 vfat fat mt7925e mt7925_common snd_hda_codec_atihdmi joydev snd_usb_audio mt792x_lib snd_hda_codec_hdmi intel_rapl_msr mt76_connac_lib snd_usbmidi_lib snd_ump intel_rapl_common mt76 snd_rawmidi iosf_mbi snd_seq_device snd_hda_intel mac80211 rapl wmi_bmof snd_hda_codec snd_hda_core libarc4 snd_intel_dspcfg spd5118 snd_hwdep cfg80211 regmap_i2c snd_pcm pcspkr snd_timer snd rfkill soundcore evdev ccp k10temp nct6775 nct6775_core hwmon_vid efi_pstore configfs efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper drm_kms_helper ahci libahci drm libata scsi_mod cec xhci_pci igc scsi_common crc16 xhci_hcd nvme nvme_core video usbcore nvme_keyring nvme_auth hkdf C23,ncfrag=920/979;usb_common i2c_piix4 gpio_amdpt gpio_generic i2c_smbus wmi C23;---[ end trace 0000000000000000 ]--- C23;RIP: 0010:vfree_atomic+0x55/0x60 C23;Code: 07 48 89 c1 f0 48 0f b1 3a 75 f3 48 85 c9 74 05 c3 cc cc cc cc 48 8b 35 a1 70 c1 00 48 83 c2 08 bf 20 00 00 00 e9 cb 29 d6 ff <0f> 0b 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 41 56 41 54 55 53 48 C23;RSP: 0018:ffffb949cd76b5f8 EFLAGS: 00010286 C23;RAX: 0000000000ff0000 RBX: ffffb949cdfd5000 RCX: 0000000000000183 C23;RDX: 0000000000ff0000 RSI: 000000000000003d RDI: ffffb949e08ad000 C23;RBP: ffff98058f900000 R08: 0000000000000000 R09: ffffffffc11e6d50 C23;R10: 0000000000000006 R11: ffff9804480c8ad0 R12: ffff980448140000 C23;R13: ffff980423000000 R14: 0000000000000001 R15: ffff980566daa000 C23;FS: 00007f93c3e6fb80(0000) GS:ffff9813a0a46000(0000) knlGS:0000000000000000 C23;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 C23;CR2: 00007ff941d9d000 CR3: 000000011261e000 CR4: 0000000000f50ef0 C23;PKRU: 55555554 C23;Kernel panic - not syncing: Fatal exception in interrupt C23;Kernel Offset: 0x1a800000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) C23;---[ end Kernel panic - not syncing: Fatal exception in interrupt ]--- This BUG_ON() is triggered: void vfree_atomic(const void *addr) { struct vfree_deferred *p = raw_cpu_ptr(&vfree_deferred); BUG_ON(in_nmi()); Bert Karwatzki ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in next-20260722 2026-07-25 23:16 ` Bert Karwatzki @ 2026-07-26 18:47 ` Bert Karwatzki 2026-07-26 22:52 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-26 18:47 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Sonntag, dem 26.07.2026 um 01:16 +0200 schrieb Bert Karwatzki: Now I've run a test with commit 8bf0cb97edb ("drm/amd/display: Move dml2_destroy to non-FPU compilation unit") with the following debugging patch: diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/dc_fpu.c b/drivers/gpu/drm/amd/display/amdgpu_dm/dc_fpu.c index 172999cc84e5..5015aea1b988 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/dc_fpu.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/dc_fpu.c @@ -95,7 +95,9 @@ void dc_fpu_begin(const char *function_name, const int line) int depth; WARN_ON_ONCE(!in_task()); + printk(KERN_INFO "%s 0: preempt_count=%d %s %d\n", __func__, preempt_count(), function_name, line); preempt_disable(); + printk(KERN_INFO "%s 1: preempt_count=%d %s %d\n", __func__, preempt_count(), function_name, line); depth = this_cpu_inc_return(fpu_recursion_depth); if (depth == 1) { BUG_ON(!kernel_fpu_available()); @@ -127,5 +129,7 @@ void dc_fpu_end(const char *function_name, const int line) } TRACE_DCN_FPU(false, function_name, line, depth); + printk(KERN_INFO "%s 0: preempt_count=%d %s %d\n", __func__, preempt_count(), function_name, line); preempt_enable(); + printk(KERN_INFO "%s 1: preempt_count=%d %s %d\n", __func__, preempt_count(), function_name, line); } This gives this log via netconsole in case of a kernel panic, after the "schduling while atomic" message a preempt_count underflow occurs: 2026-07-26T16:32:29.090401+02:00 T4198;netconsole: network logging started 2026-07-26T16:32:29.091016+02:00 T4198;netconsole-setup: Test log message to verify netconsole configuration. 2026-07-26T16:32:32.377992+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_state_create_copy 287 2026-07-26T16:32:32.377992+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_state_create_copy 287 2026-07-26T16:32:32.378660+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.386022+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.386022+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.386022+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.386022+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.386022+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.389301+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.389301+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.389301+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.389301+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.389301+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.389301+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.390204+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_state_create_copy 289 2026-07-26T16:32:32.390204+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_state_create_copy 289 2026-07-26T16:32:32.390204+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dcn401_validate_bandwidth 1696 2026-07-26T16:32:32.390204+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dcn401_validate_bandwidth 1696 2026-07-26T16:32:32.395783+02:00 T1596;dc_fpu_end 0: preempt_count=1 dcn401_validate_bandwidth 1700 2026-07-26T16:32:32.395783+02:00 T1596;dc_fpu_end 1: preempt_count=0 dcn401_validate_bandwidth 1700 2026-07-26T16:32:32.395783+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_state_free 387 2026-07-26T16:32:32.395783+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_state_free 387 2026-07-26T16:32:32.395783+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_destroy 61 2026-07-26T16:32:32.395783+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_destroy 61 2026-07-26T16:32:32.395783+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_destroy 61 2026-07-26T16:32:32.395783+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_destroy 61 2026-07-26T16:32:32.395836+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_destroy 62 2026-07-26T16:32:32.395836+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_destroy 62 2026-07-26T16:32:32.395836+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_destroy 62 2026-07-26T16:32:32.395836+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_destroy 62 2026-07-26T16:32:32.399013+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml2_destroy 119 2026-07-26T16:32:32.399085+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml2_destroy 119 2026-07-26T16:32:32.399085+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml2_destroy 119 2026-07-26T16:32:32.399085+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml2_destroy 119 2026-07-26T16:32:32.399085+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_state_free 393 2026-07-26T16:32:32.399085+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_state_free 393 2026-07-26T16:32:32.405402+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_state_create_copy 287 2026-07-26T16:32:32.405402+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_state_create_copy 287 2026-07-26T16:32:32.406122+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.406122+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.408876+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.408876+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.408876+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.408876+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.416499+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.416961+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.416961+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.416961+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.431307+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.431307+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_state_create_copy 289 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_state_create_copy 289 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dcn401_validate_bandwidth 1696 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dcn401_validate_bandwidth 1696 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_end 0: preempt_count=1 dcn401_validate_bandwidth 1700 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_end 1: preempt_count=0 dcn401_validate_bandwidth 1700 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_state_create_copy 287 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_state_create_copy 287 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.431984+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.432058+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.432058+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.432058+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.432058+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.432058+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.432058+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_state_create_copy 289 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_state_create_copy 289 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dcn401_validate_bandwidth 1696 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dcn401_validate_bandwidth 1696 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_create_stream_for_sink 180 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_create_stream_for_sink 180 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_create_stream_for_sink 180 2026-07-26T16:32:32.432089+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_create_stream_for_sink 180 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_create_stream_for_sink 185 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_create_stream_for_sink 185 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_create_stream_for_sink 185 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_create_stream_for_sink 185 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_end 0: preempt_count=1 dcn401_validate_bandwidth 1700 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_end 1: preempt_count=0 dcn401_validate_bandwidth 1700 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_state_create_copy 287 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_state_create_copy 287 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.432579+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.433667+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.433667+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.433667+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.433667+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.434556+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.434556+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.434556+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.434556+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.434582+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.434582+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.434962+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_state_create_copy 289 2026-07-26T16:32:32.434962+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_state_create_copy 289 2026-07-26T16:32:32.434962+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dcn401_prepare_mcache_programming 1736 2026-07-26T16:32:32.434962+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dcn401_prepare_mcache_programming 1736 2026-07-26T16:32:32.434962+02:00 T1596;dc_fpu_end 0: preempt_count=1 dcn401_prepare_mcache_programming 1740 2026-07-26T16:32:32.434962+02:00 T1596;dc_fpu_end 1: preempt_count=0 dcn401_prepare_mcache_programming 1740 2026-07-26T16:32:32.434984+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_state_free 387 2026-07-26T16:32:32.434984+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_state_free 387 2026-07-26T16:32:32.434984+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_destroy 61 2026-07-26T16:32:32.434984+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_destroy 61 2026-07-26T16:32:32.434984+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_destroy 61 2026-07-26T16:32:32.434984+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_destroy 61 2026-07-26T16:32:32.434984+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_destroy 62 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_destroy 62 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_destroy 62 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_destroy 62 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml2_destroy 119 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml2_destroy 119 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml2_destroy 119 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml2_destroy 119 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_state_free 393 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_state_free 393 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dcn401_prepare_mcache_programming 1736 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dcn401_prepare_mcache_programming 1736 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_end 0: preempt_count=1 dcn401_prepare_mcache_programming 1740 2026-07-26T16:32:32.435010+02:00 T1596;dc_fpu_end 1: preempt_count=0 dcn401_prepare_mcache_programming 1740 2026-07-26T16:32:32.435305+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_state_free 387 2026-07-26T16:32:32.435305+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_state_free 387 2026-07-26T16:32:32.435305+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_destroy 61 2026-07-26T16:32:32.435305+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_destroy 61 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_destroy 61 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_destroy 61 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_destroy 62 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_destroy 62 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_destroy 62 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_destroy 62 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml2_destroy 119 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml2_destroy 119 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml2_destroy 119 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml2_destroy 119 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_state_free 393 2026-07-26T16:32:32.463118+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_state_free 393 2026-07-26T16:32:32.485076+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_state_create_copy 287 2026-07-26T16:32:32.485076+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_state_create_copy 287 2026-07-26T16:32:32.485076+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.485076+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.488796+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 26 2026-07-26T16:32:32.488796+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 26 2026-07-26T16:32:32.488796+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.488796+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.489469+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 30 2026-07-26T16:32:32.489469+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 30 2026-07-26T16:32:32.489469+02:00 T1596;dc_fpu_end 0: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.489469+02:00 T1596;dc_fpu_end 1: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.489469+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dml21_allocate_memory 40 2026-07-26T16:32:32.489469+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dml21_allocate_memory 40 2026-07-26T16:32:32.490008+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_state_create_copy 289 2026-07-26T16:32:32.490008+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_state_create_copy 289 2026-07-26T16:32:32.490008+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dcn401_validate_bandwidth 1696 2026-07-26T16:32:32.490008+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dcn401_validate_bandwidth 1696 2026-07-26T16:32:32.490008+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_create_stream_for_sink 180 2026-07-26T16:32:32.490008+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_create_stream_for_sink 180 2026-07-26T16:32:32.490408+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_create_stream_for_sink 180 2026-07-26T16:32:32.490408+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_create_stream_for_sink 180 2026-07-26T16:32:32.490408+02:00 T1596;dc_fpu_end 0: preempt_count=1 dc_create_stream_for_sink 185 2026-07-26T16:32:32.490408+02:00 T1596;dc_fpu_end 1: preempt_count=0 dc_create_stream_for_sink 185 2026-07-26T16:32:32.490408+02:00 T1596;dc_fpu_begin 0: preempt_count=0 dc_create_stream_for_sink 185 2026-07-26T16:32:32.492405+02:00 T1596;dc_fpu_begin 1: preempt_count=1 dc_create_stream_for_sink 185 2026-07-26T16:32:32.492405+02:00 T1596;BUG: scheduling while atomic: Xorg/1596/0x00000003 2026-07-26T16:32:32.492405+02:00 T1596;4 locks held by Xorg/1596: 2026-07-26T16:32:32.492405+02:00 T1596; #0: ffffaa7487f93ab0 (crtc_ww_class_acquire){+.+.}-{0:0}, at: drm_mode_setcrtc+0x153/0x8e0 [drm] 2026-07-26T16:32:32.492405+02:00 T1596; #1: ffffaa7487f93ad8 (crtc_ww_class_mutex){+.+.}-{4:4}, at: drm_mode_setcrtc+0x153/0x8e0 [drm] 2026-07-26T16:32:32.492405+02:00 T1596; #2: ffff9b1cd5b65478 (&adev->dm.dc_lock){+.+.}-{4:4}, at: amdgpu_dm_atomic_commit_tail+0x120a/0x3460 [amdgpu] 2026-07-26T16:32:32.492405+02:00 T1596; #3: ffffffff9afbcc50 (&zone->lock){+.+.}-{3:3}, at: get_page_from_freelist+0x261/0x19f0 2026-07-26T16:32:32.492454+02:00 T1596;Modules linked in: netconsole snd_seq_dummy snd_hrtimer snd_seq cfg80211 nls_ascii nls_cp437 vfat fat joydev snd_usb_audio snd_usbmidi_lib intel_rapl_msr snd_ump snd_rawmidi intel_rapl_common snd_hda_codec_atihdmi snd_seq_device iosf_mbi snd_hda_codec_hdmi wmi_bmof rapl snd_hda_intel pcspkr snd_hda_codec snd_hda_core spd5118 snd_intel_dspcfg regmap_i2c k10temp snd_hwdep snd_pcm snd_timer snd soundcore rfkill evdev ccp nct6775 nct6775_core hwmon_vid efi_pstore configfs efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci drm_kms_helper libahci xhci_pci drm libata xhci_hcd nvme scsi_mod cec video nvme_core usbcore igc crc16 scsi_common nvme_keyring usb_common nvme_auth hkdf i2c_piix4 gpio_amdpt i2c_smbus wmi gpio_generic 2026-07-26T16:32:32.492454+02:00 T1596;CPU: 25 UID: 0 PID: 1596 Comm: Xorg Not tainted 7.0.0-rc7-dcfpubad-01910-g3c2692d1b40e #1272 PREEMPT_{RT,(full)} 2026-07-26T16:32:32.492454+02:00 T1596;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 2026-07-26T16:32:32.492454+02:00 T1596;Call Trace: 2026-07-26T16:32:32.492454+02:00 T1596; <TASK> 2026-07-26T16:32:32.492454+02:00 T1596; ? dump_stack_lvl+0x5b/0x80 2026-07-26T16:32:32.492454+02:00 T1596; ? __schedule_bug.cold+0x5a/0x67 2026-07-26T16:32:32.492454+02:00 T1596; ? __schedule+0x1468/0x1ae0 2026-07-26T16:32:32.492454+02:00 T1596; ? rtlock_slowlock_locked+0x281/0x1aa0 2026-07-26T16:32:32.492454+02:00 T1596; ? mark_held_locks+0x40/0x70 2026-07-26T16:32:32.492454+02:00 T1596; ? schedule_rtlock+0x15/0x30 2026-07-26T16:32:32.492454+02:00 T1596; ? rtlock_slowlock_locked+0x5b4/0x1aa0 2026-07-26T16:32:32.492454+02:00 T1596; ? lock_acquire+0xbf/0x2e0 2026-07-26T16:32:32.492454+02:00 T1596; ? rt_spin_lock+0x85/0x1b0 2026-07-26T16:32:32.492454+02:00 T1596; ? get_page_from_freelist+0x261/0x19f0 2026-07-26T16:32:32.492454+02:00 T1596; ? mark_held_locks+0x40/0x70 2026-07-26T16:32:32.492476+02:00 T1596; ? dc_link_get_highest_encoding_format+0x61/0xb0 [amdgpu] 2026-07-26T16:32:32.492476+02:00 T1596; ? __alloc_frozen_pages_noprof+0x158/0x370 2026-07-26T16:32:32.493359+02:00 T1596; ? ___kmalloc_large_node+0xd7/0xf0 2026-07-26T16:32:32.494837+02:00 T1596; ? __kmalloc_large_node_noprof+0x1b/0x130 2026-07-26T16:32:32.494837+02:00 T1596; ? __kvmalloc_node_noprof+0x4ad/0x730 2026-07-26T16:32:32.494837+02:00 T1596; ? dc_create_plane_state+0x24/0x80 [amdgpu] 2026-07-26T16:32:32.494837+02:00 T1596; ? dc_create_plane_state+0x24/0x80 [amdgpu] 2026-07-26T16:32:32.494837+02:00 T1596; ? dc_state_create_phantom_plane+0x15/0x50 [amdgpu] 2026-07-26T16:32:32.494837+02:00 T1596; ? dml21_handle_phantom_streams_planes+0x292/0x510 [amdgpu] 2026-07-26T16:32:32.494860+02:00 T1596; ? dml21_mode_check_and_programming+0x157/0x7e0 [amdgpu] 2026-07-26T16:32:32.494860+02:00 T1596; ? number+0x47c/0x580 2026-07-26T16:32:32.494860+02:00 T1596; ? desc_read_finalized_seq+0x27/0x80 2026-07-26T16:32:32.494860+02:00 T1596; ? _prb_read_valid+0x203/0x290 2026-07-26T16:32:32.494860+02:00 T1596; ? dcn401_validate_bandwidth+0xb8/0x1f0 [amdgpu] 2026-07-26T16:32:32.494860+02:00 T1596; ? update_planes_and_stream_state+0xeb5/0x1520 [amdgpu] 2026-07-26T16:32:32.495056+02:00 T1596; ? update_planes_and_stream_prepare_v3+0xb3/0x430 [amdgpu] 2026-07-26T16:32:32.495056+02:00 T1596; ? dc_update_planes_and_stream+0x87/0x130 [amdgpu] 2026-07-26T16:32:32.495056+02:00 T1596; ? amdgpu_dm_atomic_commit_tail+0x126b/0x3460 [amdgpu] 2026-07-26T16:32:32.495056+02:00 T1596; ? commit_tail+0x9d/0x130 [drm_kms_helper] 2026-07-26T16:32:32.495088+02:00 T1596; ? drm_atomic_helper_commit+0x15a/0x1a0 [drm_kms_helper] 2026-07-26T16:32:32.495088+02:00 T1596; ? drm_atomic_commit+0xac/0xe0 [drm] 2026-07-26T16:32:32.495088+02:00 T1596; ? __drm_universal_plane_init.cold+0x17/0x17 [drm] 2026-07-26T16:32:32.495088+02:00 T1596; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] 2026-07-26T16:32:32.495116+02:00 T1596; ? drm_mode_setcrtc+0x466/0x8e0 [drm] 2026-07-26T16:32:32.495116+02:00 T1596; ? lock_acquire+0xbf/0x2e0 2026-07-26T16:32:32.495116+02:00 T1596; ? rt_mutex_slowunlock+0x46/0x420 2026-07-26T16:32:32.495116+02:00 T1596; ? drm_mode_getcrtc+0x190/0x190 [drm] 2026-07-26T16:32:32.495116+02:00 T1596; ? drm_ioctl_kernel+0xa7/0x100 [drm] 2026-07-26T16:32:32.495116+02:00 T1596; ? drm_ioctl+0x288/0x510 [drm] 2026-07-26T16:32:32.495116+02:00 T1596; ? drm_mode_getcrtc+0x190/0x190 [drm] 2026-07-26T16:32:32.495141+02:00 T1596; ? amdgpu_drm_ioctl+0x4b/0x80 [amdgpu] 2026-07-26T16:32:32.495141+02:00 T1596; ? __x64_sys_ioctl+0x95/0xe0 2026-07-26T16:32:32.495141+02:00 T1596; ? do_syscall_64+0x129/0x6b0 2026-07-26T16:32:32.495141+02:00 T1596; ? rt_mutex_slowunlock+0x3bd/0x420 2026-07-26T16:32:32.495141+02:00 T1596; ? wake_up_q+0x32/0x80 2026-07-26T16:32:32.495141+02:00 T1596; ? futex_wake+0xa7/0x1c0 2026-07-26T16:32:32.495171+02:00 T1596; ? do_futex+0x11a/0x180 2026-07-26T16:32:32.495171+02:00 T1596; ? __x64_sys_futex+0x10d/0x200 2026-07-26T16:32:32.495171+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.495171+02:00 T1596; ? lockdep_hardirqs_on_prepare+0xd7/0x180 2026-07-26T16:32:32.495171+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.495171+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:32.495171+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.495171+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:32.495189+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.495189+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:32.495189+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.495189+02:00 T1596; ? lockdep_hardirqs_on_prepare+0xd7/0x180 2026-07-26T16:32:32.495189+02:00 T1596; ? irqentry_exit+0xbd/0x5a0 2026-07-26T16:32:32.495189+02:00 T1596; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d 2026-07-26T16:32:32.495189+02:00 T1596; </TASK> 2026-07-26T16:32:32.495189+02:00 T1596;------------[ cut here ]------------ 2026-07-26T16:32:32.495189+02:00 T1596;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:128 at dc_fpu_end+0x145/0x150 [amdgpu], CPU#31: Xorg/1596 2026-07-26T16:32:32.495189+02:00 T1596;Modules linked in: netconsole snd_seq_dummy snd_hrtimer snd_seq cfg80211 nls_ascii nls_cp437 vfat fat joydev snd_usb_audio snd_usbmidi_lib intel_rapl_msr snd_ump snd_rawmidi intel_rapl_common snd_hda_codec_atihdmi snd_seq_device iosf_mbi snd_hda_codec_hdmi wmi_bmof rapl snd_hda_intel pcspkr snd_hda_codec snd_hda_core spd5118 snd_intel_dspcfg regmap_i2c k10temp snd_hwdep snd_pcm snd_timer snd soundcore rfkill evdev ccp nct6775 nct6775_core hwmon_vid efi_pstore configfs efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci drm_kms_helper libahci xhci_pci drm libata xhci_hcd nvme scsi_mod cec video nvme_core usbcore igc crc16 scsi_common nvme_keyring usb_common nvme_auth hkdf i2c_piix4 gpio_amdpt i2c_smbus wmi gpio_generic 2026-07-26T16:32:32.495189+02:00 T1596;CPU: 31 UID: 0 PID: 1596 Comm: Xorg Tainted: G W 7.0.0-rc7-dcfpubad-01910-g3c2692d1b40e #1272 PREEMPT_{RT,(full)} 2026-07-26T16:32:32.495189+02:00 T1596;Tainted: [W]=WARN 2026-07-26T16:32:32.495238+02:00 T1596;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 2026-07-26T16:32:32.495238+02:00 T1596;RIP: 0010:dc_fpu_end+0x145/0x150 [amdgpu] 2026-07-26T16:32:32.495238+02:00 T1596;Code: c0 0f 85 22 ff ff ff 48 8d 3d 07 1f 4b 00 67 48 0f b9 3a e9 11 ff ff ff 44 89 04 24 e8 94 60 12 d9 44 8b 04 24 e9 e8 fe ff ff <0f> 0b e9 e1 fe ff ff 0f 1f 40 00 41 56 41 55 41 54 55 53 48 83 ec 2026-07-26T16:32:32.495238+02:00 T1596;RSP: 0018:ffffaa7487f93400 EFLAGS: 00010296 2026-07-26T16:32:32.495238+02:00 T1596;RAX: 0000000000000001 RBX: ffffffffc13c39b0 RCX: 0000000000000008 2026-07-26T16:32:32.495238+02:00 T1596;RDX: 0000000000000000 RSI: 00000000000006a4 RDI: ffffffffc13c39b0 2026-07-26T16:32:32.495238+02:00 T1596;RBP: 00000000000006a4 R08: 00000000ffffffff R09: 0000000000000001 2026-07-26T16:32:32.495238+02:00 T1596;R10: ffff9b1d19c80000 R11: 0000000000000002 R12: ffff9b1d066e0000 2026-07-26T16:32:32.495238+02:00 T1596;R13: ffff9b1ce5c00000 R14: 0000000000000000 R15: 0000000000000001 2026-07-26T16:32:32.495238+02:00 T1596;FS: 00007f92f4c39b80(0000) GS:ffff9b2c62a46000(0000) knlGS:0000000000000000 2026-07-26T16:32:32.496222+02:00 T1596;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 2026-07-26T16:32:32.496222+02:00 T1596;CR2: 00007f2cedfb8990 CR3: 0000000127bee000 CR4: 0000000000f50ef0 2026-07-26T16:32:32.496222+02:00 T1596;PKRU: 55555554 2026-07-26T16:32:32.496222+02:00 T1596;Call Trace: 2026-07-26T16:32:32.496222+02:00 T1596; <TASK> 2026-07-26T16:32:32.496234+02:00 T1596; ? dcn401_validate_bandwidth+0xd1/0x1f0 [amdgpu] 2026-07-26T16:32:32.496234+02:00 T1596; ? update_planes_and_stream_state+0xeb5/0x1520 [amdgpu] 2026-07-26T16:32:32.496234+02:00 T1596; ? update_planes_and_stream_prepare_v3+0xb3/0x430 [amdgpu] 2026-07-26T16:32:32.496234+02:00 T1596; ? dc_update_planes_and_stream+0x87/0x130 [amdgpu] 2026-07-26T16:32:32.496269+02:00 T1596; ? amdgpu_dm_atomic_commit_tail+0x126b/0x3460 [amdgpu] 2026-07-26T16:32:32.496269+02:00 T1596; ? commit_tail+0x9d/0x130 [drm_kms_helper] 2026-07-26T16:32:32.496269+02:00 T1596; ? drm_atomic_helper_commit+0x15a/0x1a0 [drm_kms_helper] 2026-07-26T16:32:32.496269+02:00 T1596; ? drm_atomic_commit+0xac/0xe0 [drm] 2026-07-26T16:32:32.496269+02:00 T1596; ? __drm_universal_plane_init.cold+0x17/0x17 [drm] 2026-07-26T16:32:32.496269+02:00 T1596; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] 2026-07-26T16:32:32.496269+02:00 T1596; ? drm_mode_setcrtc+0x466/0x8e0 [drm] 2026-07-26T16:32:32.496269+02:00 T1596; ? lock_acquire+0xbf/0x2e0 2026-07-26T16:32:32.496269+02:00 T1596; ? rt_mutex_slowunlock+0x46/0x420 2026-07-26T16:32:32.496269+02:00 T1596; ? drm_mode_getcrtc+0x190/0x190 [drm] 2026-07-26T16:32:32.496269+02:00 T1596; ? drm_ioctl_kernel+0xa7/0x100 [drm] 2026-07-26T16:32:32.496269+02:00 T1596; ? drm_ioctl+0x288/0x510 [drm] 2026-07-26T16:32:32.496269+02:00 T1596; ? drm_mode_getcrtc+0x190/0x190 [drm] 2026-07-26T16:32:32.496269+02:00 T1596; ? amdgpu_drm_ioctl+0x4b/0x80 [amdgpu] 2026-07-26T16:32:32.496269+02:00 T1596; ? __x64_sys_ioctl+0x95/0xe0 2026-07-26T16:32:32.496313+02:00 T1596; ? do_syscall_64+0x129/0x6b0 2026-07-26T16:32:32.496313+02:00 T1596; ? rt_mutex_slowunlock+0x3bd/0x420 2026-07-26T16:32:32.496313+02:00 T1596; ? wake_up_q+0x32/0x80 2026-07-26T16:32:32.496313+02:00 T1596; ? futex_wake+0xa7/0x1c0 2026-07-26T16:32:32.496313+02:00 T1596; ? do_futex+0x11a/0x180 2026-07-26T16:32:32.496313+02:00 T1596; ? __x64_sys_futex+0x10d/0x200 2026-07-26T16:32:32.496313+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.496313+02:00 T1596; ? lockdep_hardirqs_on_prepare+0xd7/0x180 2026-07-26T16:32:32.496313+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.496313+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:32.496313+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.496313+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:32.496313+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.496313+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:32.496351+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:32.496351+02:00 T1596; ? lockdep_hardirqs_on_prepare+0xd7/0x180 2026-07-26T16:32:32.496351+02:00 T1596; ? irqentry_exit+0xbd/0x5a0 2026-07-26T16:32:32.496351+02:00 T1596; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d 2026-07-26T16:32:32.496351+02:00 T1596; </TASK> 2026-07-26T16:32:32.496351+02:00 T1596;irq event stamp: 9309205 2026-07-26T16:32:32.496475+02:00 T1596;hardirqs last enabled at (9309207): [<ffffffff99d6683d>] vprintk_store+0x36d/0x5e0 2026-07-26T16:32:32.496475+02:00 T1596;hardirqs last disabled at (9309208): [<ffffffff99d6685f>] vprintk_store+0x38f/0x5e0 2026-07-26T16:32:32.496475+02:00 T1596;softirqs last enabled at (9297620): [<ffffffff99ccb56b>] __local_bh_enable_ip+0xfb/0x140 2026-07-26T16:32:32.496475+02:00 T1596;softirqs last disabled at (9297614): [<ffffffff9a4ea8bb>] __alloc_skb+0x24b/0x360 2026-07-26T16:32:32.496475+02:00 T1596;---[ end trace 0000000000000000 ]--- 2026-07-26T16:32:32.496475+02:00 T1596;dc_fpu_end 0: preempt_count=0 dcn401_validate_bandwidth 1700 Here a preempt_count underflow is happening: 2147483647 is actually (-1 & ~PREEMPT_NEED_RESCHED) static __always_inline int preempt_count(void) { return raw_cpu_read_4(__preempt_count) & ~PREEMPT_NEED_RESCHED; } 2026-07-26T16:32:32.496475+02:00 C15;dc_fpu_end 1: preempt_count=2147483647 dcn401_validate_bandwidth 1700 2026-07-26T16:32:32.496475+02:00 T1596;------------[ cut here ]------------ 2026-07-26T16:32:32.496496+02:00 T1596;WARNING: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.c:97 at dc_fpu_begin+0x39/0x40 [amdgpu], CPU#15: Xorg/1596 2026-07-26T16:32:32.496496+02:00 T1596;Modules linked in: netconsole snd_seq_dummy snd_hrtimer snd_seq cfg80211 nls_ascii nls_cp437 vfat fat joydev snd_usb_audio snd_usbmidi_lib intel_rapl_msr snd_ump snd_rawmidi intel_rapl_common snd_hda_codec_atihdmi snd_seq_device iosf_mbi snd_hda_codec_hdmi wmi_bmof rapl snd_hda_intel pcspkr snd_hda_codec snd_hda_core spd5118 snd_intel_dspcfg regmap_i2c k10temp snd_hwdep snd_pcm snd_timer snd soundcore rfkill evdev ccp nct6775 nct6775_core hwmon_vid efi_pstore configfs efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci drm_kms_helper libahci xhci_pci drm libata xhci_hcd nvme scsi_mod cec video nvme_core usbcore igc crc16 scsi_common nvme_keyring usb_common nvme_auth hkdf i2c_piix4 gpio_amdpt i2c_smbus wmi gpio_generic 2026-07-26T16:32:32.496496+02:00 T1596;CPU: 15 UID: 0 PID: 1596 Comm: Xorg Tainted: G W 7.0.0-rc7-dcfpubad-01910-g3c2692d1b40e #1272 PREEMPT_{RT,(full)} 2026-07-26T16:32:32.496496+02:00 T1596;Tainted: [W]=WARN 2026-07-26T16:32:32.496496+02:00 T1596;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 2026-07-26T16:32:32.496496+02:00 T1596;RIP: 0010:dc_fpu_begin+0x39/0x40 [amdgpu] 2026-07-26T16:32:32.496496+02:00 T1596;Code: 65 48 8b 05 d9 f2 63 da 65 8b 15 e2 f2 63 da 8b 80 6c 0a 00 00 89 d1 81 e1 00 00 ff 00 25 00 01 00 00 09 c8 0f 84 32 63 3a 00 <0f> 0b e9 2b 63 3a 00 0f 1f 40 d6 55 53 89 f5 48 89 fb 48 83 ec 10 2026-07-26T16:32:32.496496+02:00 T1596;RSP: 0018:ffffaa7487f93578 EFLAGS: 00010206 2026-07-26T16:32:32.496513+02:00 T1596;RAX: 0000000000ff0000 RBX: ffff9b1ce5c00000 RCX: 0000000000ff0000 2026-07-26T16:32:32.496513+02:00 T1596;RDX: 000000007fffffff RSI: 00000000000006c8 RDI: ffffffffc13c3980 2026-07-26T16:32:32.496513+02:00 T1596;RBP: ffff9b1d19c80000 R08: 0000000000005183 R09: ffffffffc13c3980 2026-07-26T16:32:32.496513+02:00 T1596;R10: 00000000000006c8 R11: 0000000000000000 R12: ffff9b1d066e0000 2026-07-26T16:32:32.496513+02:00 T1596;R13: 0000000000000001 R14: ffff9b1ce5c00000 R15: ffff9b1d043a0000 2026-07-26T16:32:32.496513+02:00 T1596;FS: 00007f92f4c39b80(0000) GS:ffff9b2c62646000(0000) knlGS:0000000000000000 2026-07-26T16:32:32.496513+02:00 T1596;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 2026-07-26T16:32:32.496568+02:00 T1596;CR2: 00007ffb1496aff8 CR3: 0000000127bee000 CR4: 0000000000f50ef0 2026-07-26T16:32:32.496568+02:00 T1596;PKRU: 55555554 2026-07-26T16:32:32.496568+02:00 T1596;Call Trace: 2026-07-26T16:32:32.496568+02:00 T1596; <TASK> 2026-07-26T16:32:32.496568+02:00 T1596; ? determine_pipe_unlock_order+0x78/0xf0 [amdgpu] 2026-07-26T16:32:32.496568+02:00 T1596; ? dcn401_prepare_mcache_programming+0x2f/0x70 [amdgpu] 2026-07-26T16:32:32.496568+02:00 T1596; ? commit_planes_for_stream+0x157/0x1870 [amdgpu] 2026-07-26T16:32:32.496568+02:00 T1596; ? update_planes_and_stream_execute_v3+0x3c/0xd0 [amdgpu] 2026-07-26T16:32:32.496568+02:00 T1596; ? dc_update_planes_and_stream+0xb6/0x130 [amdgpu] 2026-07-26T16:32:32.496568+02:00 T1596; ? amdgpu_dm_atomic_commit_tail+0x126b/0x3460 [amdgpu] 2026-07-26T16:32:32.496568+02:00 T1596; ? commit_tail+0x9d/0x130 [drm_kms_helper] 2026-07-26T16:32:32.496568+02:00 T1596; ? drm_atomic_helper_commit+0x15a/0x1a0 [drm_kms_helper] 2026-07-26T16:32:32.496568+02:00 T1596; ? drm_atomic_commit+0xac/0xe0 [drm] 2026-07-26T16:32:32.496568+02:00 T1596; ? __drm_universal_plane_init.cold+0x17/0x17 [drm] 2026-07-26T16:32:32.496568+02:00 T1596; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] 2026-07-26T16:32:32.496603+02:00 T1596; ? drm_mode_setcrtc+0x466/0x8e0 [drm] 2026-07-26T16:32:32.496603+02:00 T1596; ? lock_acquire+0xbf/0x2e0 2026-07-26T16:32:32.496603+02:00 T1596; ? rt_mutex_slowunlock+0x46/0x420 2026-07-26T16:32:32.496603+02:00 T1596; ? drm_mode_getcrtc+0x190/0x190 [drm] 2026-07-26T16:32:32.496603+02:00 T1596; ? drm_ioctl_kernel+0xa7/0x100 [drm] 2026-07-26T16:32:32.496603+02:00 T1596; ? drm_ioctl+0x288/0x510 [drm] 2026-07-26T16:32:32.496603+02:00 T1596; ? drm_mode_getcrtc+0x190/0x190 [drm] 2026-07-26T16:32:39.401337+02:00 T1596; ? amdgpu_drm_ioctl+0x4b/0x80 [amdgpu] 2026-07-26T16:32:39.401337+02:00 T1596; ? __x64_sys_ioctl+0x95/0xe0 2026-07-26T16:32:39.401337+02:00 T1596; ? do_syscall_64+0x129/0x6b0 2026-07-26T16:32:39.401337+02:00 T1596; ? rt_mutex_slowunlock+0x3bd/0x420 2026-07-26T16:32:39.401337+02:00 T1596; ? wake_up_q+0x32/0x80 2026-07-26T16:32:39.401337+02:00 T1596; ? futex_wake+0xa7/0x1c0 2026-07-26T16:32:39.401337+02:00 T1596; ? do_futex+0x11a/0x180 2026-07-26T16:32:39.401337+02:00 T1596; ? __x64_sys_futex+0x10d/0x200 2026-07-26T16:32:39.401337+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401337+02:00 T1596; ? lockdep_hardirqs_on_prepare+0xd7/0x180 2026-07-26T16:32:39.401337+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401337+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:39.401337+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401337+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:39.401337+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401337+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:39.401337+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401337+02:00 T1596; ? lockdep_hardirqs_on_prepare+0xd7/0x180 2026-07-26T16:32:39.401337+02:00 T1596; ? irqentry_exit+0xbd/0x5a0 2026-07-26T16:32:39.401337+02:00 T1596; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d 2026-07-26T16:32:39.401337+02:00 T1596; </TASK> 2026-07-26T16:32:39.401337+02:00 T1596;irq event stamp: 9309525 2026-07-26T16:32:39.401337+02:00 T1596;hardirqs last enabled at (9309527): [<ffffffff99d6683d>] vprintk_store+0x36d/0x5e0 2026-07-26T16:32:39.401337+02:00 T1596;hardirqs last disabled at (9309528): [<ffffffff99d6685f>] vprintk_store+0x38f/0x5e0 2026-07-26T16:32:39.401337+02:00 T1596;softirqs last enabled at (9297620): [<ffffffff99ccb56b>] __local_bh_enable_ip+0xfb/0x140 2026-07-26T16:32:39.401337+02:00 T1596;softirqs last disabled at (9297614): [<ffffffff9a4ea8bb>] __alloc_skb+0x24b/0x360 2026-07-26T16:32:39.401337+02:00 T1596;---[ end trace 0000000000000000 ]--- 2026-07-26T16:32:39.401337+02:00 C15;dc_fpu_begin 0: preempt_count=2147483647 dcn401_prepare_mcache_programming 1736 2026-07-26T16:32:39.401337+02:00 T1596;dc_fpu_begin 1: preempt_count=0 dcn401_prepare_mcache_programming 1736 2026-07-26T16:32:39.401337+02:00 T1596;dc_fpu_end 0: preempt_count=0 dcn401_prepare_mcache_programming 1740 2026-07-26T16:32:39.401337+02:00 C15;dc_fpu_end 1: preempt_count=2147483647 dcn401_prepare_mcache_programming 1740 2026-07-26T16:32:39.401337+02:00 C15;dc_fpu_begin 0: preempt_count=2147483647 dc_state_free 387 2026-07-26T16:32:39.401337+02:00 T1596;dc_fpu_begin 1: preempt_count=0 dc_state_free 387 2026-07-26T16:32:39.401337+02:00 T1596;dc_fpu_end 0: preempt_count=0 dml21_destroy 61 2026-07-26T16:32:39.401337+02:00 C15;dc_fpu_end 1: preempt_count=2147483647 dml21_destroy 61 2026-07-26T16:32:39.401337+02:00 T1596;------------[ cut here ]------------ 2026-07-26T16:32:39.401337+02:00 T1596;kernel BUG at mm/vmalloc.c:3412! 2026-07-26T16:32:39.401337+02:00 T1596;Oops: invalid opcode: 0000 [#1] SMP NOPTI 2026-07-26T16:32:39.401337+02:00 T1596;CPU: 15 UID: 0 PID: 1596 Comm: Xorg Tainted: G W 7.0.0-rc7-dcfpubad-01910-g3c2692d1b40e #1272 PREEMPT_{RT,(full)} 2026-07-26T16:32:39.401337+02:00 T1596;Tainted: [W]=WARN 2026-07-26T16:32:39.401337+02:00 T1596;Hardware name: ASUS System Product Name/ROG STRIX B850-F GAMING WIFI, BIOS 1627 02/05/2026 2026-07-26T16:32:39.401337+02:00 T1596;RIP: 0010:vfree_atomic+0x55/0x60 2026-07-26T16:32:39.401337+02:00 T1596;Code: 07 48 89 c1 f0 48 0f b1 3a 75 f3 48 85 c9 74 05 c3 cc cc cc cc 48 8b 35 a1 70 c1 00 48 83 c2 08 bf 20 00 00 00 e9 cb 29 d6 ff <0f> 0b 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 41 56 41 54 55 53 48 2026-07-26T16:32:39.401337+02:00 T1596;RSP: 0018:ffffaa7487f93600 EFLAGS: 00010286 2026-07-26T16:32:39.401337+02:00 T1596;RAX: 0000000000ff0000 RBX: ffffaa748748c000 RCX: 0000000000000027 2026-07-26T16:32:39.401337+02:00 T1596;RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffaa748f056000 2026-07-26T16:32:39.401337+02:00 T1596;RBP: ffff9b1d1b400000 R08: 0000000000000004 R09: 0000000000000120 2026-07-26T16:32:39.401337+02:00 T1596;R10: 0000000000000200 R11: 0000000000000000 R12: ffff9b1d066e0000 2026-07-26T16:32:39.401337+02:00 T1596;R13: ffff9b1ce5c00000 R14: 0000000000000001 R15: ffff9b1d043a0000 2026-07-26T16:32:39.401337+02:00 T1596;FS: 00007f92f4c39b80(0000) GS:ffff9b2c62646000(0000) knlGS:0000000000000000 2026-07-26T16:32:39.401337+02:00 T1596;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 2026-07-26T16:32:39.401337+02:00 T1596;CR2: 00007ffb1496aff8 CR3: 0000000127bee000 CR4: 0000000000f50ef0 2026-07-26T16:32:39.401337+02:00 T1596;PKRU: 55555554 2026-07-26T16:32:39.401337+02:00 T1596;Call Trace: 2026-07-26T16:32:39.401337+02:00 T1596; <TASK> 2026-07-26T16:32:39.401337+02:00 T1596; ? dml21_destroy+0x50/0xa0 [amdgpu] 2026-07-26T16:32:39.401419+02:00 T1596; ? dml2_destroy+0x59/0x60 [amdgpu] 2026-07-26T16:32:39.401419+02:00 T1596; ? dc_state_free+0x31/0x70 [amdgpu] 2026-07-26T16:32:39.401419+02:00 T1596; ? update_planes_and_stream_cleanup_v3+0x4f/0x3e0 [amdgpu] 2026-07-26T16:32:39.401419+02:00 T1596; ? dc_update_planes_and_stream+0xc4/0x130 [amdgpu] 2026-07-26T16:32:39.401419+02:00 T1596; ? amdgpu_dm_atomic_commit_tail+0x126b/0x3460 [amdgpu] 2026-07-26T16:32:39.401419+02:00 T1596; ? commit_tail+0x9d/0x130 [drm_kms_helper] 2026-07-26T16:32:39.401419+02:00 T1596; ? drm_atomic_helper_commit+0x15a/0x1a0 [drm_kms_helper] 2026-07-26T16:32:39.401419+02:00 T1596; ? drm_atomic_commit+0xac/0xe0 [drm] 2026-07-26T16:32:39.401446+02:00 T1596; ? __drm_universal_plane_init.cold+0x17/0x17 [drm] 2026-07-26T16:32:39.401446+02:00 T1596; ? drm_atomic_helper_set_config+0x6f/0xb0 [drm_kms_helper] 2026-07-26T16:32:39.401446+02:00 T1596; ? drm_mode_setcrtc+0x466/0x8e0 [drm] 2026-07-26T16:32:39.401446+02:00 T1596; ? lock_acquire+0xbf/0x2e0 2026-07-26T16:32:39.401446+02:00 T1596; ? rt_mutex_slowunlock+0x46/0x420 2026-07-26T16:32:39.401446+02:00 T1596; ? drm_mode_getcrtc+0x190/0x190 [drm] 2026-07-26T16:32:39.401446+02:00 T1596; ? drm_ioctl_kernel+0xa7/0x100 [drm] 2026-07-26T16:32:39.401446+02:00 T1596; ? drm_ioctl+0x288/0x510 [drm] 2026-07-26T16:32:39.401467+02:00 T1596; ? drm_mode_getcrtc+0x190/0x190 [drm] 2026-07-26T16:32:39.401467+02:00 T1596; ? amdgpu_drm_ioctl+0x4b/0x80 [amdgpu] 2026-07-26T16:32:39.401467+02:00 T1596; ? __x64_sys_ioctl+0x95/0xe0 2026-07-26T16:32:39.401467+02:00 T1596; ? do_syscall_64+0x129/0x6b0 2026-07-26T16:32:39.401467+02:00 T1596; ? rt_mutex_slowunlock+0x3bd/0x420 2026-07-26T16:32:39.401467+02:00 T1596; ? wake_up_q+0x32/0x80 2026-07-26T16:32:39.401467+02:00 T1596; ? futex_wake+0xa7/0x1c0 2026-07-26T16:32:39.401467+02:00 T1596; ? do_futex+0x11a/0x180 2026-07-26T16:32:39.401489+02:00 T1596; ? __x64_sys_futex+0x10d/0x200 2026-07-26T16:32:39.401489+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401489+02:00 T1596; ? lockdep_hardirqs_on_prepare+0xd7/0x180 2026-07-26T16:32:39.401489+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401489+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:39.401489+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401489+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:39.401489+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401580+02:00 T1596; ? do_syscall_64+0x238/0x6b0 2026-07-26T16:32:39.401580+02:00 T1596; ? trace_hardirqs_on_prepare+0xdc/0x100 2026-07-26T16:32:39.401580+02:00 T1596; ? lockdep_hardirqs_on_prepare+0xd7/0x180 2026-07-26T16:32:39.401580+02:00 T1596; ? irqentry_exit+0xbd/0x5a0 2026-07-26T16:32:39.401580+02:00 T1596; ? entry_SYSCALL_64_after_hwframe+0x55/0x5d 2026-07-26T16:32:39.401580+02:00 T1596; </TASK> 2026-07-26T16:32:39.401580+02:00 T1596;Modules linked in: netconsole snd_seq_dummy snd_hrtimer snd_seq cfg80211 nls_ascii nls_cp437 vfat fat joydev snd_usb_audio snd_usbmidi_lib intel_rapl_msr snd_ump snd_rawmidi intel_rapl_common snd_hda_codec_atihdmi snd_seq_device iosf_mbi snd_hda_codec_hdmi wmi_bmof rapl snd_hda_intel pcspkr snd_hda_codec snd_hda_core spd5118 snd_intel_dspcfg regmap_i2c k10temp snd_hwdep snd_pcm snd_timer snd soundcore rfkill evdev ccp nct6775 nct6775_core hwmon_vid efi_pstore configfs efivarfs autofs4 ext4 mbcache jbd2 amdgpu hid_generic usbhid hid drm_client_lib i2c_algo_bit drm_buddy drm_ttm_helper ttm drm_exec drm_suballoc_helper mfd_core drm_panel_backlight_quirks gpu_sched amdxcp drm_display_helper ahci drm_kms_helper libahci xhci_pci drm libata xhci_hcd nvme scsi_mod cec video nvme_core usbcore igc crc16 scsi_common nvme_keyring usb_common nvme_auth hkdf i2c_piix4 gpio_amdpt i2c_smbus wmi gpio_generic 2026-07-26T16:32:39.401580+02:00 T1596;---[ end trace 0000000000000000 ]--- 2026-07-26T16:32:39.401580+02:00 C10;RIP: 0010:vfree_atomic+0x55/0x60 2026-07-26T16:32:39.401580+02:00 C10;Code: 07 48 89 c1 f0 48 0f b1 3a 75 f3 48 85 c9 74 05 c3 cc cc cc cc 48 8b 35 a1 70 c1 00 48 83 c2 08 bf 20 00 00 00 e9 cb 29 d6 ff <0f> 0b 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 41 56 41 54 55 53 48 2026-07-26T16:32:39.401580+02:00 C10;RSP: 0018:ffffaa7487f93600 EFLAGS: 00010286 2026-07-26T16:32:39.401580+02:00 C10;RAX: 0000000000ff0000 RBX: ffffaa748748c000 RCX: 0000000000000027 2026-07-26T16:32:39.401580+02:00 C10;RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffaa748f056000 2026-07-26T16:32:39.401580+02:00 C10;RBP: ffff9b1d1b400000 R08: 0000000000000004 R09: 0000000000000120 2026-07-26T16:32:39.401580+02:00 C10;R10: 0000000000000200 R11: 0000000000000000 R12: ffff9b1d066e0000 2026-07-26T16:32:39.401580+02:00 C10;R13: ffff9b1ce5c00000 R14: 0000000000000001 R15: ffff9b1d043a0000 2026-07-26T16:32:39.401580+02:00 C10;FS: 00007f92f4c39b80(0000) GS:ffff9b2c62506000(0000) knlGS:0000000000000000 2026-07-26T16:32:39.401580+02:00 C10;CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 2026-07-26T16:32:39.401580+02:00 C10;CR2: 00007f1fb663c478 CR3: 0000000127bee000 CR4: 0000000000f50ef0 2026-07-26T16:32:39.401580+02:00 C10;PKRU: 55555554 2026-07-26T16:32:39.401580+02:00 T1596;Kernel panic - not syncing: Fatal exception in interrupt 2026-07-26T16:32:39.401580+02:00 T1596;Kernel Offset: 0x18a00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) 2026-07-26T16:32:39.401580+02:00 T1596;---[ end Kernel panic - not syncing: Fatal exception in interrupt ]--- As the preempt_count_underflow happens in dcn401_validate_bandwidth() I removed the DC_FP_{START,END} macros: diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c index cb93bfbe9e9e..7a90098ec118 100644 --- a/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c @@ -1693,11 +1693,9 @@ enum dc_status dcn401_validate_bandwidth(struct dc *dc, } if (dc->debug.using_dml2) { - DC_FP_START(); status = dml2_validate(dc, context, context->power_source == DC_POWER_SOURCE_DC ? context->bw_ctx.dml2_dc_power_source : context->bw_ctx.dml2, validate_mode) ? DC_OK : DC_FAIL_BANDWIDTH_VALIDATE; - DC_FP_END(); } if (validate_mode == DC_VALIDATE_MODE_AND_PROGRAMMING && status == DC_OK && dc_state_is_subvp_in_use(context)) { @@ -1718,11 +1716,9 @@ enum dc_status dcn401_validate_bandwidth(struct dc *dc, if (validate_mode == DC_VALIDATE_MODE_AND_PROGRAMMING && status == DC_FAIL_HW_CURSOR_SUPPORT) { /* attempt to validate again with subvp disabled due to cursor */ if (dc->debug.using_dml2) { - DC_FP_START(); status = dml2_validate(dc, context, context->power_source == DC_POWER_SOURCE_DC ? context->bw_ctx.dml2_dc_power_source : context->bw_ctx.dml2, validate_mode) ? DC_OK : DC_FAIL_BANDWIDTH_VALIDATE; - DC_FP_END(); } } With this patch I got 24 reboot cycles without any error, (no "scheduling while atomic", no panic an no error from dc_assert_fp_enabled()). Bert Karwatzki ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in next-20260722 2026-07-26 18:47 ` Bert Karwatzki @ 2026-07-26 22:52 ` Bert Karwatzki 2026-07-27 10:06 ` [Re] kernel panic during shutdown in v7.1+ with PREEMPT_RT Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-26 22:52 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Sonntag, dem 26.07.2026 um 20:47 +0200 schrieb Bert Karwatzki: > Am Sonntag, dem 26.07.2026 um 01:16 +0200 schrieb Bert Karwatzki: > > > Now I've run a test with > commit 8bf0cb97edb ("drm/amd/display: Move dml2_destroy to non-FPU compilation unit") > with the following debugging patch: > As I had no better idea I started throwing printk()s into the general direction of the bug, and found this after some attempts: /******************************************************************************* * Public functions ******************************************************************************/ struct dc_plane_state *dc_create_plane_state(const struct dc *dc) { printk(KERN_INFO "%s %d: preempt_count = %d\n", __func__, __LINE__, preempt_count()); struct dc_plane_state *plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC); printk(KERN_INFO "%s %d\n", __func__, __LINE__); if (NULL == plane_state) return NULL; kref_init(&plane_state->refcount); dc_plane_construct(dc->ctx, plane_state); return plane_state; } In the error case this prints "preempt_count = 2"! (only if dc_create_plane_state() is called from dc_state_create_phantom_plane()). If I combine this with the "solution" from above diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c index cb93bfbe9e9e..7a90098ec118 100644 --- a/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c @@ -1693,11 +1693,9 @@ enum dc_status dcn401_validate_bandwidth(struct dc *dc, } if (dc->debug.using_dml2) { - DC_FP_START(); status = dml2_validate(dc, context, context->power_source == DC_POWER_SOURCE_DC ? context->bw_ctx.dml2_dc_power_source : context->bw_ctx.dml2, validate_mode) ? DC_OK : DC_FAIL_BANDWIDTH_VALIDATE; - DC_FP_END(); } if (validate_mode == DC_VALIDATE_MODE_AND_PROGRAMMING && status == DC_OK && dc_state_is_subvp_in_use(context)) { @@ -1718,11 +1716,9 @@ enum dc_status dcn401_validate_bandwidth(struct dc *dc, if (validate_mode == DC_VALIDATE_MODE_AND_PROGRAMMING && status == DC_FAIL_HW_CURSOR_SUPPORT) { /* attempt to validate again with subvp disabled due to cursor */ if (dc->debug.using_dml2) { - DC_FP_START(); status = dml2_validate(dc, context, context->power_source == DC_POWER_SOURCE_DC ? context->bw_ctx.dml2_dc_power_source : context->bw_ctx.dml2, validate_mode) ? DC_OK : DC_FAIL_BANDWIDTH_VALIDATE; - DC_FP_END(); } } I get in all cases "preempt_count = 0" again. I also monitored the preempt_count with this patch applied on top of commit 02c3060ee303 ("drm/amdgpu: add support to query vram info from firmware") (this is the last commit before the problematic patchset 32c1c35b6d8b drm/amd/display: Move FPU Guards From DML To DC - Part 3 4bb2f0721ed8 drm/amd/display: Move FPU Guards From DML To DC - Part 2 3539437f354b drm/amd/display: Move FPU Guards From DML To DC - Part 1) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c index 5f12dcca7f71..29f45b556371 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c @@ -85,6 +85,7 @@ uint8_t dc_plane_get_pipe_mask(struct dc_state *dc_state, const struct dc_plane ******************************************************************************/ struct dc_plane_state *dc_create_plane_state(const struct dc *dc) { + printk(KERN_INFO "%s 0: preempt_count = %d\n", __func__, preempt_count()); struct dc_plane_state *plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC); Again I get only 0 for the preempt_count. Bert Karwatzki ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in v7.1+ with PREEMPT_RT 2026-07-26 22:52 ` Bert Karwatzki @ 2026-07-27 10:06 ` Bert Karwatzki 2026-07-27 10:35 ` Ostrowski, Rafal 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-27 10:06 UTC (permalink / raw) To: linux-kernel, Rafal Ostrowski Cc: linux-next, linux-rt-devel, amd-gfx, Alex Deucher, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf This can be fixed like this struct dc_plane_state *dc_create_plane_state(const struct dc *dc) { struct dc_plane_state *plane_state; DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC)); if (NULL == plane_state) return NULL; kref_init(&plane_state->refcount); dc_plane_construct(dc->ctx, plane_state); return plane_state; } I also found missing DC_RUN_WITH_PREEMPTION_ENABLED in an error path, I'm preparing a patch for next-20260721 (next-20260722+ have broken reboot due to the mt7925 issue mentioned above). Also, is preempt_{disable,enable}() really necessary in DC_FPU_{BEGIN,END}? Could migrate_{disable,enable}() be enough instead? This way we wouldn't need DC_RUN_WITH_PREEMPTION_ENABLED at all(?). Bert Karwatzki ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Re] kernel panic during shutdown in v7.1+ with PREEMPT_RT 2026-07-27 10:06 ` [Re] kernel panic during shutdown in v7.1+ with PREEMPT_RT Bert Karwatzki @ 2026-07-27 10:35 ` Ostrowski, Rafal 2026-07-27 10:50 ` [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} " Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Ostrowski, Rafal @ 2026-07-27 10:35 UTC (permalink / raw) To: Bert Karwatzki, linux-kernel@vger.kernel.org Cc: linux-next@vger.kernel.org, linux-rt-devel@lists.linux.dev, amd-gfx@lists.freedesktop.org, Deucher, Alexander, Limonciello, Mario, Sebastian Andrzej Siewior, Thomas Gleixner > This can be fixed like this > > struct dc_plane_state *dc_create_plane_state(const struct dc *dc) > { > struct dc_plane_state *plane_state; > DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC)); > > if (NULL == plane_state) > return NULL; > > kref_init(&plane_state->refcount); > dc_plane_construct(dc->ctx, plane_state); > > return plane_state; > } > > I also found missing DC_RUN_WITH_PREEMPTION_ENABLED in an error path, I'm preparing > a patch for next-20260721 (next-20260722+ have broken reboot due to the mt7925 issue > mentioned above). > Also, is preempt_{disable,enable}() really necessary in DC_FPU_{BEGIN,END}? > Could migrate_{disable,enable}() be enough instead? This way we wouldn't need > DC_RUN_WITH_PREEMPTION_ENABLED at all(?). > > Bert Karwatzki Hi Bert, Sorry for the trouble these changes caused on your setup. It reproduces deterministically on PREEMPT_RT — that's the key condition here. On RT the page allocator always takes a sleeping rt_spin_lock, so any allocation inside the FPU-protected region is illegal, whereas on non-RT kernels the same allocation usually stays on the fast path and doesn't sleep, which is why this hasn't been widely reported. Some context on how the FPU handling is meant to work: DC_FP_START/END (DC_FPU_BEGIN/END): these require a non-preemptible context. The kernel needs exclusive use of the FPU while we run FP code, so preemption must be disabled around it. Note that kernel_fpu_begin() itself does preempt_disable() (via fpregs_lock()) unconditionally — on PREEMPT_RT as well. That directly answers your migrate_disable() question: swapping the preempt_disable/enable in dc_fpu_begin/end for migrate_disable/enable would not make the region preemptible, because kernel_fpu_begin() disables preemption on its own regardless. migrate_disable() would only pin us to the CPU (enough to protect the per-CPU recursion counter), but the region would still be atomic, so it wouldn't remove the need for DC_RUN_WITH_PREEMPTION_ENABLED. The only thing that actually re-enables preemption is leaving the FPU (kernel_fpu_end()), which is exactly what that macro does. DML layer: the whole DML layer is compiled as FPU code (see the FP compilation flags in the makefile), with only a few wrapper/exception units. As a result, any function that calls into DML must wrap the call in a DC_FP_START()/DC_FP_END() block. DC_RUN_WITH_PREEMPTION_ENABLED: this is the workaround for the cases where we must allocate or sleep while inside an FPU region. The important rule is that this macro must always live in a non-FPU translation unit (a DC file or a DML wrapper/exception file) — never in pure FPU-compiled DML code, since it manipulates the FPU guard itself. With that in mind there are effectively two cases: DC → DC_FP_START → call DML → no allocation/sleep in the DML path → back to DC → DC_FP_END. Clean case, no macro needed. DC → DC_FP_START → call DML → DML calls back into a DC (or wrapper) function that allocates/sleeps → wrap the affected code (allocation, sleep) in DC_RUN_WITH_PREEMPTION_ENABLED in that DC function → back to DML → back to DC → DC_FP_END. The phantom-plane allocation is the second case: DML calls back into dc_create_plane_state(), which is a DC function, so the wrap belongs there. About the fix: DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC)); This fix looks correct to me. Kind Regards, Rafal ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} with PREEMPT_RT 2026-07-27 10:35 ` Ostrowski, Rafal @ 2026-07-27 10:50 ` Bert Karwatzki 2026-07-28 0:51 ` mikhail.v.gavrilov 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-27 10:50 UTC (permalink / raw) To: linux-kernel Cc: Bert Karwatzki, linux-next, linux-rt-devel, amd-gfx, # = v7 . 1, Alex Deucher, Rafal Ostrowski, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner On PREEMPT_RT kernels kvzalloc_obj() can sleep because spin_lock is converted to rt_mutex. dc_create_plane_state() can be called while inside an FPU-guarded region, resuling in "scheduling while atomic" errors on PREEMPT_RT kernels. Fix this by calling kvzalloc_obj() with DC_RUN_WITH_PREEMPTION_ENABLED(). Also fix the error path in dc_create_stream_for_sink(). Fixes: 3539437f354b ("drm/amd/display: Move FPU Guards From DML To DC - Part 1") Link: https://lore.kernel.org/lkml/20260723123449.6494-1-spasswolf@web.de/ Signed-off-by: Bert Karwatzki <spasswolf@web.de> --- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 5 +++-- drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c index dbc12640b01c..4ac835777b58 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c @@ -233,8 +233,9 @@ struct dc_stream_state *dc_create_stream_for_sink( fail: if (stream) { - kfree(stream->update_scratch); - kfree(stream); + if (stream->update_scratch) + DC_RUN_WITH_PREEMPTION_ENABLED(kfree(stream->update_scratch)); + DC_RUN_WITH_PREEMPTION_ENABLED(kfree(stream)); } return NULL; diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c index 88e825a6582c..d5c6427796b6 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c @@ -85,8 +85,8 @@ uint8_t dc_plane_get_pipe_mask(struct dc_state *dc_state, const struct dc_plane ******************************************************************************/ struct dc_plane_state *dc_create_plane_state(const struct dc *dc) { - struct dc_plane_state *plane_state = kvzalloc_obj(*plane_state, - GFP_ATOMIC); + struct dc_plane_state *plane_state; + DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC)); if (NULL == plane_state) return NULL; -- 2.53.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} with PREEMPT_RT 2026-07-27 10:50 ` [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} " Bert Karwatzki @ 2026-07-28 0:51 ` mikhail.v.gavrilov 2026-07-29 12:35 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: mikhail.v.gavrilov @ 2026-07-28 0:51 UTC (permalink / raw) To: Bert Karwatzki, linux-kernel Cc: linux-next, linux-rt-devel, amd-gfx, # = v7 . 1, Alex Deucher, Rafal Ostrowski, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner On Mon, 2026-07-27 at 12:50 +0200, Bert Karwatzki wrote: > On PREEMPT_RT kernels kvzalloc_obj() can sleep because spin_lock is > converted to rt_mutex. dc_create_plane_state() can be called while > inside an FPU-guarded region, resuling in "scheduling while atomic" > errors on PREEMPT_RT kernels. > Fix this by calling kvzalloc_obj() with > DC_RUN_WITH_PREEMPTION_ENABLED(). > Also fix the error path in dc_create_stream_for_sink(). > > Fixes: 3539437f354b ("drm/amd/display: Move FPU Guards From DML To DC > - Part 1") > Link: > https://lore.kernel.org/lkml/20260723123449.6494-1-spasswolf@web.de/ > > Signed-off-by: Bert Karwatzki <spasswolf@web.de> > --- > drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 5 +++-- > drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 4 ++-- > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > index dbc12640b01c..4ac835777b58 100644 > --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > @@ -233,8 +233,9 @@ struct dc_stream_state > *dc_create_stream_for_sink( > > fail: > if (stream) { > - kfree(stream->update_scratch); > - kfree(stream); > + if (stream->update_scratch) > + DC_RUN_WITH_PREEMPTION_ENABLED(kfree(stream- > >update_scratch)); > + DC_RUN_WITH_PREEMPTION_ENABLED(kfree(stream)); > } > > return NULL; > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > index 88e825a6582c..d5c6427796b6 100644 > --- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > @@ -85,8 +85,8 @@ uint8_t dc_plane_get_pipe_mask(struct dc_state > *dc_state, const struct dc_plane > > ********************************************************************* > *********/ > struct dc_plane_state *dc_create_plane_state(const struct dc *dc) > { > - struct dc_plane_state *plane_state = > kvzalloc_obj(*plane_state, > - > GFP_ATOMIC); > + struct dc_plane_state *plane_state; > + DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = > kvzalloc_obj(*plane_state, GFP_ATOMIC)); > > if (NULL == plane_state) > return NULL; Hi Bert, You may not be aware that the same allocation is already wrapped once, at the dcn32 call site: 183182235f6d ("drm/amd/display: Wrap DCN32 phantom-plane allocation in DC_RUN_WITH_PREEMPTION_ENABLED") That one only covers the dcn32 DML1 path, while your trace goes through dcn401_validate_bandwidth() and dml21 - so wrapping the call site could never have caught your case. Which is a good argument for guarding the allocation in the callee, as you do: dc_create_plane_state() is reached from every DCN and both DML generations. On dcn32 the two wraps now nest. That is harmless, because DC_RUN_WITH_PREEMPTION_ENABLED() is conditional on dc_is_fp_enabled(): once the outer instance has left the FPU region, the inner one expands to a plain call. But it does make the dcn32 wrap redundant, and I think it should be dropped in a follow-up now that the allocation is guarded in the callee. One thing that may be worth adjusting in the commit message: this is not only a PREEMPT_RT problem. 183182235f6d was needed on a plain non- RT x86 kernel. There DC_FP_START() takes fpregs_lock(), which disables local softirqs, and dc_plane_state is around 335 KiB, so kvzalloc_obj() falls through to the vmalloc path and hits BUG_ON(in_interrupt()). So on RT any allocation inside the FPU region is illegal, while on non-RT it is specifically the large ones - two failure modes, one root cause. About the FPU register question raised by the review bot: as far as I can see it applies to every existing user of DC_RUN_WITH_PREEMPTION_ENABLED(), 183182235f6d included, so it looks like a property of the macro rather than something your patch introduces. An answer from AMD on that would be useful either way. I have dcn32 hardware here (RX 7900 XTX) and can test the patch on non-RT if that helps. -- Thanks, Mikhail ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} with PREEMPT_RT 2026-07-28 0:51 ` mikhail.v.gavrilov @ 2026-07-29 12:35 ` Bert Karwatzki 2026-07-29 14:39 ` Mikhail Gavrilov 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-29 12:35 UTC (permalink / raw) To: mikhail.v.gavrilov@gmail.com, linux-kernel Cc: linux-next, linux-rt-devel, amd-gfx, # = v7 . 1, Alex Deucher, Rafal Ostrowski, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswolf Am Dienstag, dem 28.07.2026 um 05:51 +0500 schrieb mikhail.v.gavrilov@gmail.com: > On Mon, 2026-07-27 at 12:50 +0200, Bert Karwatzki wrote: > > On PREEMPT_RT kernels kvzalloc_obj() can sleep because spin_lock is > > converted to rt_mutex. dc_create_plane_state() can be called while > > inside an FPU-guarded region, resuling in "scheduling while atomic" > > errors on PREEMPT_RT kernels. > > Fix this by calling kvzalloc_obj() with > > DC_RUN_WITH_PREEMPTION_ENABLED(). > > Also fix the error path in dc_create_stream_for_sink(). > > > > Fixes: 3539437f354b ("drm/amd/display: Move FPU Guards From DML To DC > > - Part 1") > > Link: > > https://lore.kernel.org/lkml/20260723123449.6494-1-spasswolf@web.de/ > > > > Signed-off-by: Bert Karwatzki <spasswolf@web.de> > > --- > > drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 5 +++-- > > drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 4 ++-- > > 2 files changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > > b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > > index dbc12640b01c..4ac835777b58 100644 > > --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > > @@ -233,8 +233,9 @@ struct dc_stream_state > > *dc_create_stream_for_sink( > > > > fail: > > if (stream) { > > - kfree(stream->update_scratch); > > - kfree(stream); > > + if (stream->update_scratch) > > + DC_RUN_WITH_PREEMPTION_ENABLED(kfree(stream- > > > update_scratch)); > > + DC_RUN_WITH_PREEMPTION_ENABLED(kfree(stream)); > > } > > > > return NULL; > > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > > b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > > index 88e825a6582c..d5c6427796b6 100644 > > --- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > > @@ -85,8 +85,8 @@ uint8_t dc_plane_get_pipe_mask(struct dc_state > > *dc_state, const struct dc_plane > > > > ********************************************************************* > > *********/ > > struct dc_plane_state *dc_create_plane_state(const struct dc *dc) > > { > > - struct dc_plane_state *plane_state = > > kvzalloc_obj(*plane_state, > > - > > GFP_ATOMIC); > > + struct dc_plane_state *plane_state; > > + DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = > > kvzalloc_obj(*plane_state, GFP_ATOMIC)); > > > > if (NULL == plane_state) > > return NULL; > > Hi Bert, > > You may not be aware that the same allocation is already wrapped once, > at the dcn32 call site: > > 183182235f6d ("drm/amd/display: Wrap DCN32 phantom-plane allocation > in DC_RUN_WITH_PREEMPTION_ENABLED") > > That one only covers the dcn32 DML1 path, while your trace goes through > dcn401_validate_bandwidth() and dml21 - so wrapping the call site could > never have caught your case. Which is a good argument for guarding the > allocation in the callee, as you do: dc_create_plane_state() is reached > from every DCN and both DML generations. I did try a different approach, using DC_RUN_WITH_PREEMPTION_ENABLED further upward in the calltrace (This would have the slight benefit of more code running with preemption enabled). This does not work because dml21_utils.c is compiled as a _LINUX_FPU_COMPILATION_UNIT, so DC_RUN_WITH_PREEMPTION_ENABLED does nothing. (see drivers/gpu/drm/amd/display/amdgpu_dm/dc_fpu.h) diff --git a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_utils.c b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_utils.c index 835fece1d46a..8c92deded8cd 100644 --- a/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_utils.c +++ b/drivers/gpu/drm/amd/display/dc/dml2_0/dml21/dml21_utils.c @@ -286,7 +286,8 @@ static struct dc_plane_state *dml21_add_phantom_plane(struct dml2_context *dml_c (void)plane_programming; struct dc_plane_state *phantom_plane; - phantom_plane = dml_ctx->config.svp_pstate.callbacks.create_phantom_plane(dc, context, main_plane); + DC_RUN_WITH_PREEMPTION_ENABLED(phantom_plane + = dml_ctx->config.svp_pstate.callbacks.create_phantom_plane(dc, context, main_plane)); if (!phantom_plane) return NULL; diff --git a/drivers/gpu/drm/amd/display/dc/dml2_0/dml2_mall_phantom.c b/drivers/gpu/drm/amd/display/dc/dml2_0/dml2_mall_phantom.c index 4543a60a0683..464bab9fc13b 100644 --- a/drivers/gpu/drm/amd/display/dc/dml2_0/dml2_mall_phantom.c +++ b/drivers/gpu/drm/amd/display/dc/dml2_0/dml2_mall_phantom.c @@ -769,10 +769,11 @@ static void enable_phantom_plane(struct dml2_context *ctx, if (curr_pipe->top_pipe && curr_pipe->top_pipe->plane_state == curr_pipe->plane_state) { phantom_plane = prev_phantom_plane; } else { - phantom_plane = ctx->config.svp_pstate.callbacks.create_phantom_plane( + DC_RUN_WITH_PREEMPTION_ENABLED(phantom_plane = + ctx->config.svp_pstate.callbacks.create_phantom_plane( ctx->config.svp_pstate.callbacks.dc, state, - curr_pipe->plane_state); + curr_pipe->plane_state)); if (!phantom_plane) return; } Bert Karwatzki ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} with PREEMPT_RT 2026-07-29 12:35 ` Bert Karwatzki @ 2026-07-29 14:39 ` Mikhail Gavrilov 2026-07-29 17:46 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Mikhail Gavrilov @ 2026-07-29 14:39 UTC (permalink / raw) To: Bert Karwatzki Cc: linux-kernel, linux-next, linux-rt-devel, amd-gfx, # = v7 . 1, Alex Deucher, Rafal Ostrowski, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner On Wed, Jul 29, 2026 at 5:36 PM Bert Karwatzki <spasswolf@web.de> wrote: > > I did try a different approach, using DC_RUN_WITH_PREEMPTION_ENABLED further > upward in the calltrace (This would have the slight benefit of more code > running with preemption enabled). This does not work because dml21_utils.c is compiled > as a _LINUX_FPU_COMPILATION_UNIT, so DC_RUN_WITH_PREEMPTION_ENABLED does nothing. Confirmed, and the chain is worth spelling out because it is not obvious from the call site: Makefile:1127: CC_FLAGS_FPU += -D_LINUX_FPU_COMPILATION_UNIT dc/dml2_0/Makefile: applies $(CC_FLAGS_FPU) to every object under dc/dml2_0/ ("Add FPU flags to all dml2 files by default") so both files you tried are built with -D_LINUX_FPU_COMPILATION_UNIT, and in that branch of dc_fpu.h the macro is: #define DC_RUN_WITH_PREEMPTION_ENABLED(code) code What I think is the real problem here: in the same branch DC_FP_START() and DC_FP_END() are defined as BUILD_BUG(), so misusing those inside an FPU compilation unit fails the build. DC_RUN_WITH_PREEMPTION_ENABLED() silently degrades to a plain call instead. It compiles cleanly, looks correct on review, and does nothing - which is exactly the trap you just walked into. Making it BUILD_BUG() as well would turn that into a compile error. I can send that as a separate patch if AMD agrees it is the right direction. This also explains the asymmetry with 183182235f6d: dc/resource/dcn32/ does not get the FPU flags, so the call-site wrap there expands to the real thing, while the equivalent wrap in the dml21 path would have been a no-op. Another reason to guard the allocation in the callee, as your patch does. -- Thanks, Mikhail ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} with PREEMPT_RT 2026-07-29 14:39 ` Mikhail Gavrilov @ 2026-07-29 17:46 ` Bert Karwatzki 2026-08-01 7:17 ` Bert Karwatzki 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-07-29 17:46 UTC (permalink / raw) To: Mikhail Gavrilov Cc: linux-kernel, linux-next, linux-rt-devel, amd-gfx, # = v7 . 1, Alex Deucher, Rafal Ostrowski, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner, spasswwolf Am Dienstag, dem 28.07.2026 um 05:51 +0500 schrieb mikhail.v.gavrilov@gmail.com: > One thing that may be worth adjusting in the commit message: this is > not only a PREEMPT_RT problem. 183182235f6d was needed on a plain non- > RT x86 kernel. There DC_FP_START() takes fpregs_lock(), which disables > local softirqs, and dc_plane_state is around 335 KiB, so kvzalloc_obj() > falls through to the vmalloc path and hits BUG_ON(in_interrupt()). So > on RT any allocation inside the FPU region is illegal, while on non-RT > it is specifically the large ones - two failure modes, one root cause. I think this was true when commit 183182235f6d ("drm/amd/display: Wrap DCN32 phantom-plane allocation in DC_RUN_WITH_PREEMPTION_ENABLED") was commited, but commit 04aa71da5f35 ("mm/vmalloc: do not trigger BUG() on BH disabled context") changed the BUG_ON() in __get_vm_area_node(): diff --git a/mm/vmalloc.c b/mm/vmalloc.c index c31a8615a832..bb6ae08d18f5 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -3203,7 +3203,7 @@ struct vm_struct *__get_vm_area_node(unsigned long size, struct vm_struct *area; unsigned long requested_size = size; - BUG_ON(in_interrupt()); + BUG_ON(in_nmi() || in_hardirq()); size = ALIGN(size, 1ul << shift); if (unlikely(!size)) return NULL; so on non-PREEMPT_RT kernels DC_RUN_WITH_PREEMPTION_ENABLED is no longer required for DCN32 phantom-plane allocation. Bert Karwatzki ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} with PREEMPT_RT 2026-07-29 17:46 ` Bert Karwatzki @ 2026-08-01 7:17 ` Bert Karwatzki 2026-08-01 10:17 ` Mikhail Gavrilov 0 siblings, 1 reply; 18+ messages in thread From: Bert Karwatzki @ 2026-08-01 7:17 UTC (permalink / raw) To: linux-kernel Cc: Bert Karwatzki, linux-next, linux-rt-devel, amd-gfx, # = v7 . 1, Mikhail Gavrilov, Alex Deucher, Rafal Ostrowski, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner On PREEMPT_RT kernels kvzalloc_obj() can sleep because spin_lock is converted to rt_mutex. dc_create_plane_state() can be called while inside an FPU-guarded region, resuling in "scheduling while atomic" errors on PREEMPT_RT kernels. Fix this by calling kvzalloc_obj() with DC_RUN_WITH_PREEMPTION_ENABLED(). Also fix the error path in dc_create_stream_for_sink(). Fixes: 3539437f354b ("drm/amd/display: Move FPU Guards From DML To DC - Part 1") Link: https://lore.kernel.org/lkml/20260723123449.6494-1-spasswolf@web.de/ Signed-off-by: Bert Karwatzki <spasswolf@web.de> --- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 2 +- drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c index cdcf140bc1bb..accad9e20e88 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c @@ -229,7 +229,7 @@ struct dc_stream_state *dc_create_stream_for_sink( fail: if (stream) - kfree(stream); + DC_RUN_WITH_PREEMPTION_ENABLED(kfree(stream)); return NULL; } diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c index 88e825a6582c..d5c6427796b6 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c @@ -85,8 +85,8 @@ uint8_t dc_plane_get_pipe_mask(struct dc_state *dc_state, const struct dc_plane ******************************************************************************/ struct dc_plane_state *dc_create_plane_state(const struct dc *dc) { - struct dc_plane_state *plane_state = kvzalloc_obj(*plane_state, - GFP_ATOMIC); + struct dc_plane_state *plane_state; + DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC)); if (NULL == plane_state) return NULL; -- 2.53.0 Rebased to next-20260729+. In these version the allocation of update_scratch has been removed from dc_create_stream_for_sink(). Bert Karwatzki ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} with PREEMPT_RT 2026-08-01 7:17 ` Bert Karwatzki @ 2026-08-01 10:17 ` Mikhail Gavrilov 0 siblings, 0 replies; 18+ messages in thread From: Mikhail Gavrilov @ 2026-08-01 10:17 UTC (permalink / raw) To: Bert Karwatzki Cc: linux-kernel, linux-next, linux-rt-devel, amd-gfx, # = v7 . 1, Alex Deucher, Rafal Ostrowski, Mario Limonciello, Sebastian Andrzej Siewior, Thomas Gleixner On Sat, Aug 1, 2026 at 12:17 PM Bert Karwatzki <spasswolf@web.de> wrote: > > On PREEMPT_RT kernels kvzalloc_obj() can sleep because spin_lock is > converted to rt_mutex. dc_create_plane_state() can be called while > inside an FPU-guarded region, resuling in "scheduling while atomic" > errors on PREEMPT_RT kernels. > Fix this by calling kvzalloc_obj() with DC_RUN_WITH_PREEMPTION_ENABLED(). > Also fix the error path in dc_create_stream_for_sink(). > > Fixes: 3539437f354b ("drm/amd/display: Move FPU Guards From DML To DC - Part 1") > Link: https://lore.kernel.org/lkml/20260723123449.6494-1-spasswolf@web.de/ > > Signed-off-by: Bert Karwatzki <spasswolf@web.de> > --- > drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 2 +- > drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > index cdcf140bc1bb..accad9e20e88 100644 > --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c > @@ -229,7 +229,7 @@ struct dc_stream_state *dc_create_stream_for_sink( > > fail: > if (stream) > - kfree(stream); > + DC_RUN_WITH_PREEMPTION_ENABLED(kfree(stream)); > > return NULL; > } > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > index 88e825a6582c..d5c6427796b6 100644 > --- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c > @@ -85,8 +85,8 @@ uint8_t dc_plane_get_pipe_mask(struct dc_state *dc_state, const struct dc_plane > ******************************************************************************/ > struct dc_plane_state *dc_create_plane_state(const struct dc *dc) > { > - struct dc_plane_state *plane_state = kvzalloc_obj(*plane_state, > - GFP_ATOMIC); > + struct dc_plane_state *plane_state; > + DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC)); This hunk breaks the build when CONFIG_DRM_AMD_DC_FP=n. dc_surface.c gets DC_RUN_WITH_PREEMPTION_ENABLED only indirectly, via dc.h -> dc_types.h -> os_types.h, and there the include is guarded: #if defined(CONFIG_DRM_AMD_DC_FP) #include "amdgpu_dm/dc_fpu.h" #endif With DC_FP=n nothing defines the macro in that file. dc_stream.c is not affected because it includes dc_fpu.h directly. This is not only exotic architectures: DRM_AMD_DC has select DRM_AMD_DC_FP if ARCH_HAS_KERNEL_FPU_SUPPORT && \ !(CC_IS_CLANG && (ARM64 || LOONGARCH || RISCV)) so an arm64 clang build is enough. On amd-staging-drm-next with your patch applied: $ make LLVM=1 ARCH=arm64 allmodconfig $ make LLVM=1 ARCH=arm64 drivers/gpu/drm/amd/amdgpu/ dc_surface.c:89:2: error: call to undeclared function 'DC_RUN_WITH_PREEMPTION_ENABLED'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 89 | DC_RUN_WITH_PREEMPTION_ENABLED(plane_state = kvzalloc_obj(*plane_state, GFP_ATOMIC)); A plain x86_64 build (DC_FP=y) is clean, which is presumably why it did not show up for you. Adding #include "dc_fpu.h" to dc_surface.c fixes it, and matches what dc_stream.c already does. Please do not copy the local fallback that sits below that include in dc_stream.c: #if !defined(DC_RUN_WITH_PREEMPTION_ENABLED) #define DC_RUN_WITH_PREEMPTION_ENABLED(code) code #endif It is dead code there - dc_fpu.h defines the macro in every branch - and in a new file it would compile cleanly while quietly doing nothing. One unrelated note: you kept Cc: stable # v7.1, but this version is rebased onto next-20260729, where the update_scratch allocation is gone from dc_create_stream_for_sink(). It does not apply to current mainline either, so older trees will need a separate backport - worth saying so in the commit message. With the include added I can give this a Tested-by on dcn32 (RX 7900 XTX), which exercises the DML1 phantom-plane path rather than the dml21 one you hit. -- Best Regards, Mikhail Gavrilov. ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2026-08-01 10:17 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260723124353.13040-1-spasswolf@web.de>
2026-07-23 13:10 ` [Re] kernel panic during shutdown in v7.2-rc{3,4} and next-20260722 with PREEMPT_RT Bert Karwatzki
2026-07-23 13:23 ` Bert Karwatzki
2026-07-23 16:17 ` Bert Karwatzki
2026-07-23 22:51 ` [Re] kernel panic during shutdown in next-20260722 Bert Karwatzki
2026-07-24 15:08 ` Bert Karwatzki
2026-07-25 19:58 ` Bert Karwatzki
2026-07-25 23:16 ` Bert Karwatzki
2026-07-26 18:47 ` Bert Karwatzki
2026-07-26 22:52 ` Bert Karwatzki
2026-07-27 10:06 ` [Re] kernel panic during shutdown in v7.1+ with PREEMPT_RT Bert Karwatzki
2026-07-27 10:35 ` Ostrowski, Rafal
2026-07-27 10:50 ` [PATCH] drm/amd/display: fix usage of DC_FPU_{BEGIN,END} " Bert Karwatzki
2026-07-28 0:51 ` mikhail.v.gavrilov
2026-07-29 12:35 ` Bert Karwatzki
2026-07-29 14:39 ` Mikhail Gavrilov
2026-07-29 17:46 ` Bert Karwatzki
2026-08-01 7:17 ` Bert Karwatzki
2026-08-01 10:17 ` Mikhail Gavrilov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox