Hi,

seeĀ  [1] for a workaround. Most likely, the vblank timeout is simply handled too late.

[1] https://lore.kernel.org/dri-devel/[email protected]/

Best regards
Thomas


Am 23.10.25 um 04:29 schrieb kernel test robot:

Hello,

kernel test robot noticed 
"WARNING:at_drivers/gpu/drm/drm_vblank.c:#drm_wait_one_vblank" on:

commit: e485883c815ee908de82547806d6edd65664b77b ("drm/qxl: Use vblank timer")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

in testcase: trinity
version:
with following parameters:

        runtime: 300s
        group: group-01
        nr_groups: 5



config: x86_64-dcg_x86_64_defconfig-tdx
compiler: gcc-14
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

(please refer to attached dmesg/kmsg for entire log/backtrace)

we noticed the issue happens randomly. 6 times out of 50 runs as below.
but the parent keeps clean.

=========================================================================================
tbox_group/testcase/rootfs/kconfig/compiler/runtime/group/nr_groups:
   
vm-snb/trinity/yocto-x86_64-minimal-20190520.cgz/x86_64-dcg_x86_64_defconfig-tdx/gcc-14/300s/group-01/5

42dd66d377ccf786 e485883c815ee908de82547806d
---------------- ---------------------------
        fail:runs  %reproduction    fail:runs
            |             |             |
            :50          12%           6:50    dmesg.RIP:drm_wait_one_vblank
            :50          12%           6:50    
dmesg.WARNING:at_drivers/gpu/drm/drm_vblank.c:#drm_wait_one_vblank



If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-lkp/[email protected]


[  256.077310][  T135] ------------[ cut here ]------------
[  256.078847][  T135] bochs-drm 0000:00:02.0: [drm] vblank wait timed out on 
crtc 0
[  256.080802][  T135] WARNING: CPU: 0 PID: 135 at 
drivers/gpu/drm/drm_vblank.c:1320 drm_wait_one_vblank 
(drivers/gpu/drm/drm_vblank.c:1320 (discriminator 5))
[  256.083260][  T135] Modules linked in: 8021q bridge stp llc nfc pppoe pppox 
ppp_generic slhc crypto_user ib_core nfnetlink scsi_transport_iscsi xfrm_user 
sctp ip6_udp_tunnel udp_tunnel uvesafb sr_mod cdrom intel_rapl_msr joydev ppdev 
ata_generic pata_acpi intel_rapl_common psmouse i2c_piix4 serio_raw bochs 
drm_shmem_helper ata_piix i2c_smbus parport_pc parport
[  256.094913][  T135] CPU: 0 UID: 0 PID: 135 Comm: kworker/0:4 Not tainted 
6.18.0-rc1-00240-ge485883c815e #1 PREEMPT(none)
[  256.097761][  T135] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), 
BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[  256.100575][  T135] Workqueue: events drm_fb_helper_damage_work
[  256.102578][  T135] RIP: 0010:drm_wait_one_vblank 
(drivers/gpu/drm/drm_vblank.c:1320 (discriminator 5))
[  256.104543][  T135] Code: 00 4d 8b 75 50 4d 85 f6 0f 84 5e 01 00 00 4c 89 ef e8 8d 
eb 74 00 89 e9 4c 89 f2 48 c7 c7 60 0b c6 a2 48 89 c6 e8 e9 d1 e2 fd <0f> 0b e9 
9a fe ff ff 48 85 db 74 23 48 b8 00 00 00 00 00 fc ff df
All code
========
    0:  00 4d 8b                add    %cl,-0x75(%rbp)
    3:  75 50                   jne    0x55
    5:  4d 85 f6                test   %r14,%r14
    8:  0f 84 5e 01 00 00       je     0x16c
    e:  4c 89 ef                mov    %r13,%rdi
   11:  e8 8d eb 74 00          call   0x74eba3
   16:  89 e9                   mov    %ebp,%ecx
   18:  4c 89 f2                mov    %r14,%rdx
   1b:  48 c7 c7 60 0b c6 a2    mov    $0xffffffffa2c60b60,%rdi
   22:  48 89 c6                mov    %rax,%rsi
   25:  e8 e9 d1 e2 fd          call   0xfffffffffde2d213
   2a:* 0f 0b                   ud2             <-- trapping instruction
   2c:  e9 9a fe ff ff          jmp    0xfffffffffffffecb
   31:  48 85 db                test   %rbx,%rbx
   34:  74 23                   je     0x59
   36:  48 b8 00 00 00 00 00    movabs $0xdffffc0000000000,%rax
   3d:  fc ff df

Code starting with the faulting instruction
===========================================
    0:  0f 0b                   ud2
    2:  e9 9a fe ff ff          jmp    0xfffffffffffffea1
    7:  48 85 db                test   %rbx,%rbx
    a:  74 23                   je     0x2f
    c:  48 b8 00 00 00 00 00    movabs $0xdffffc0000000000,%rax
   13:  fc ff df
[  256.109982][  T135] RSP: 0018:ffffc9000079fb78 EFLAGS: 00010282
[  256.112311][  T135] RAX: 0000000000000000 RBX: ffff88815e2c0000 RCX: 
0000000000000000
[  256.114875][  T135] RDX: 0000000000000000 RSI: 0000000000000004 RDI: 
0000000000000001
[  256.117530][  T135] RBP: 0000000000000000 R08: 0000000000000000 R09: 
fffffbfff476a008
[  256.120090][  T135] R10: 0000000000000003 R11: 0000000000000001 R12: 
1ffff920000f3f70
[  256.122749][  T135] R13: ffff88810fe460c8 R14: ffff88810be64d00 R15: 
ffff88815cfb2830
[  256.125298][  T135] FS:  0000000000000000(0000) GS:ffff888408834000(0000) 
knlGS:0000000000000000
[  256.131615][  T135] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  256.135805][  T135] CR2: 000000000109a850 CR3: 000000016d2a0000 CR4: 
00000000000406f0
[  256.137327][  T135] Call Trace:
[  256.145896][  T135]  <TASK>
[  256.147603][  T135]  ? __pfx_drm_wait_one_vblank 
(drivers/gpu/drm/drm_vblank.c:1301)
[  256.149778][  T135]  ? __pfx_autoremove_wake_function 
(kernel/sched/wait.c:402)
[  256.153665][  T135]  ? do_raw_spin_unlock (arch/x86/include/asm/atomic.h:23 
include/linux/atomic/atomic-arch-fallback.h:457 
include/linux/atomic/atomic-instrumented.h:33 
include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 
kernel/locking/spinlock_debug.c:141)
[  256.157616][  T135]  ? _raw_spin_unlock_irqrestore 
(include/linux/spinlock_api_smp.h:152 (discriminator 3) 
kernel/locking/spinlock.c:194 (discriminator 3))
[  256.165734][  T135]  drm_client_modeset_wait_for_vblank 
(drivers/gpu/drm/drm_client_modeset.c:1331)
[  256.172077][  T135]  drm_fb_helper_fb_dirty 
(drivers/gpu/drm/drm_fb_helper.c:373)
[  256.177086][  T135]  ? do_raw_spin_lock (arch/x86/include/asm/atomic.h:107 
include/linux/atomic/atomic-arch-fallback.h:2170 
include/linux/atomic/atomic-instrumented.h:1302 
include/asm-generic/qspinlock.h:111 kernel/locking/spinlock_debug.c:116)
[  256.181829][  T135]  ? __pfx_drm_fb_helper_fb_dirty 
(drivers/gpu/drm/drm_fb_helper.c:364)
[  256.187127][  T135]  ? __pfx_do_raw_spin_lock 
(kernel/locking/spinlock_debug.c:114)
[  256.192329][  T135]  process_one_work (arch/x86/include/asm/atomic.h:23 
include/linux/atomic/atomic-arch-fallback.h:457 include/linux/jump_label.h:262 
include/trace/events/workqueue.h:110 kernel/workqueue.c:3268)
[  256.197045][  T135]  worker_thread (kernel/workqueue.c:3340 (discriminator 
2) kernel/workqueue.c:3427 (discriminator 2))
[  256.201991][  T135]  ? __kthread_parkme (arch/x86/include/asm/bitops.h:202 
(discriminator 1) arch/x86/include/asm/bitops.h:232 (discriminator 1) 
include/asm-generic/bitops/instrumented-non-atomic.h:142 (discriminator 1) 
kernel/kthread.c:290 (discriminator 1))
[  256.206956][  T135]  ? __pfx_worker_thread (kernel/workqueue.c:3373)
[  256.216519][  T135]  ? __pfx_worker_thread (kernel/workqueue.c:3373)
[  256.220825][  T135]  kthread (kernel/kthread.c:463)
[  256.224107][  T135]  ? __pfx_kthread (kernel/kthread.c:412)
[  256.229092][  T135]  ? __pfx_kthread (kernel/kthread.c:412)
[  256.233881][  T135]  ? __pfx_kthread (kernel/kthread.c:412)
[  256.239125][  T135]  ret_from_fork (arch/x86/kernel/process.c:164)
[  256.244094][  T135]  ? __pfx_kthread (kernel/kthread.c:412)
[  256.248707][  T135]  ret_from_fork_asm (arch/x86/entry/entry_64.S:255)
[  256.254397][  T135]  </TASK>
[  256.260599][  T135] ---[ end trace 0000000000000000 ]---
[  349.555954][  T346] sh: can't kill pid 3589: No such process
LKP: ttyS0: 304: LKP: rebooting forcely
[  359.020039][  T304] sysrq: Emergency Sync
[  359.022624][    T9] Emergency Sync complete
[  359.032291][  T304] sysrq: Resetting



The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20251022/[email protected]




--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


Reply via email to