On Sun, Mar 23, 2025 at 12:25:58AM +0300, Dmitry Osipenko wrote:
Hi,

This a continuation of a year-old series that adds generic DRM-shmem
shrinker [1]. The old series became too big with too many patches, more
reasonable to split it up into multiple smaller patchsets. Here is
the firtst part that makes preparatory DRM changes.

[1] 
https://lore.kernel.org/dri-devel/20240105184624.508603-1-dmitry.osipe...@collabora.com/

After these patches got merged I started seeing this on ast driver
and a similar one qemu-cirrus:

[   88.731560] fbcon: astdrmfb (fb0) is primary device
[   88.767100] Console: switching to colour frame buffer device 128x48
[   88.768982] ------------[ cut here ]------------
[   88.768989] ast 0000:02:00.0: [drm] Dirty helper failed: ret=-12
[   88.769016] WARNING: CPU: 0 PID: 10 at drivers/gpu/drm/drm_fbdev_shmem.c:118 
drm_fbdev_shmem_helper_fb_dirty+0xcc/0xd0 [drm_shmem_helper]
...
[   88.769092] CPU: 0 UID: 0 PID: 10 Comm: kworker/0:1 Not tainted 6.14.0-xe+ #2
...
[   88.769095] Workqueue: events drm_fb_helper_damage_work [drm_kms_helper]
[   88.769109] RIP: 0010:drm_fbdev_shmem_helper_fb_dirty+0xcc/0xd0 
[drm_shmem_helper]
[   88.769112] Code: 4d 8b 6c 24 50 4d 85 ed 75 04 4d 8b 2c 24 4c 89 e7 e8 98 36 a9 
e0 89 d9 4c 89 ea 48 c7 c7 d8 65 54 a1 48 89 c6 e8 64 f4 ee df <0f> 0b eb 8b 90 
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f
[   88.769113] RSP: 0018:ffa00000003e7da0 EFLAGS: 00010246
[   88.769115] RAX: 0000000000000000 RBX: 00000000fffffff4 RCX: 0000000000000000
[   88.769117] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[   88.769117] RBP: ffa00000003e7db8 R08: 0000000000000000 R09: 0000000000000000
[   88.769118] R10: 0000000000000000 R11: 0000000000000000 R12: ff11000122c190c8
[   88.769119] R13: ff11000118588a10 R14: ff1100010f4a04c0 R15: ff1100019750b588
[   88.769120] FS:  0000000000000000(0000) GS:ff11007e7d000000(0000) 
knlGS:0000000000000000
[   88.769121] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   88.769122] CR2: 00007e43af4056f0 CR3: 00000080c89f0003 CR4: 0000000000f73ef0
[   88.769123] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   88.769124] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400
[   88.769125] PKRU: 55555554
[   88.769126] Call Trace:
[   88.769127]  <TASK>
[   88.769129]  ? show_regs.cold+0x19/0x20
[   88.769132]  ? drm_fbdev_shmem_helper_fb_dirty+0xcc/0xd0 [drm_shmem_helper]
[   88.769134]  ? __warn.cold+0xd2/0x17f
[   88.769136]  ? drm_fbdev_shmem_helper_fb_dirty+0xcc/0xd0 [drm_shmem_helper]
[   88.769139]  ? report_bug+0x114/0x160
[   88.769143]  ? handle_bug+0x6e/0xb0
[   88.769146]  ? exc_invalid_op+0x18/0x80
[   88.769147]  ? asm_exc_invalid_op+0x1b/0x20
[   88.769153]  ? drm_fbdev_shmem_helper_fb_dirty+0xcc/0xd0 [drm_shmem_helper]
[   88.769156]  drm_fb_helper_damage_work+0x8a/0x190 [drm_kms_helper]
[   88.769164]  process_one_work+0x224/0x5f0
[   88.769170]  worker_thread+0x1d4/0x3e0
[   88.769173]  ? __pfx_worker_thread+0x10/0x10
[   88.769175]  kthread+0x10b/0x260
[   88.769178]  ? __pfx_kthread+0x10/0x10
[   88.769181]  ret_from_fork+0x44/0x70
[   88.769184]  ? __pfx_kthread+0x10/0x10
[   88.769186]  ret_from_fork_asm+0x1a/0x30
[   88.769193]  </TASK>
[   88.769194] irq event stamp: 430275
[   88.769195] hardirqs last  enabled at (430281): [<ffffffff81505836>] 
vprintk_emit+0x416/0x470
[   88.769198] hardirqs last disabled at (430286): [<ffffffff81505868>] 
vprintk_emit+0x448/0x470
[   88.769200] softirqs last  enabled at (428924): [<ffffffff8143977d>] 
__irq_exit_rcu+0x12d/0x150
[   88.769203] softirqs last disabled at (428861): [<ffffffff8143977d>] 
__irq_exit_rcu+0x12d/0x150
[   88.769205] ---[ end trace 0000000000000000 ]---
[   88.769375] ast 0000:02:00.0: [drm] fb0: astdrmfb frame buffer device
[ 88.802554] ast 0000:02:00.0: [drm:drm_fb_helper_hotplug_event [drm_kms_helper]]
I confirmed that reverting the series (together with 2 patches for accel/ivpu 
on top)
makes the warning go away. Any idea what's going on?


Lucas De Marchi

Reply via email to