On 3/5/26 23:30, Leo Li wrote:


On 2026-03-04 09:20, Leo Li wrote:
So far i could not reproduce with your tracing patch applied, i could try to 
use bpftrace instead but it will take some time, i am quite busy these days.
Understood. If you haven't tried already, maybe dropping the stack trace (-T) 
flag is worth a shot.
- Leo

Hi Michele,

Since this issue is fairly widespread, and we're heading towards *a* fix,
I sent a reworked version of this where we save cursor-only vblank events
in a separate member in struct amdgpu_crtc, and deliver it in
amdgpu_dm_crtc_handle_vblank():

https://lore.kernel.org/amd-gfx/[email protected]/

Let me know if you get a chance to try it out! I'll also add your
Co-developed-by when merging -- I forgot to add it when sending it out.

- Leo

Reproduced today with a minimal bpftrace active but prepare_flip_isr is inlined by the compiler so was unable to track the event ARM side (stil have to try the offset approach)

Trace around the timeout:

142642747  commit_hw_done [tid=778834]
142642747  WAIT_FLIP ENTER [tid=778834]
  10279ms silence for tid=778834 on CRTC 0
  CRTC 1 continues normally throughout
142653026  WAIT_FLIP TIMEOUT waited 10278ms [tid=778834]


No dm_pflip_high_irq or DELIVER for that specific commit. CRTC 1 kept flowing normally the entire time.

Your new patch is an approach i already tried, and in my previous testing i still had flip timeouts, so while i think separating the cursor events makes sense and is correct, the root cause could be different from what i initially assumed and sending the cursor events immediately was masking it by relieving pressure.

Reply via email to