Commit Graph

3 Commits

Author SHA1 Message Date
test0r 6c50354afb upstream-submissions/kwin-fourier: add subjective field-use note
User has been running the more aggressive 0001 variant (skip the
watchDmaBuf wait entirely) downstream and reports Plasma feels
measurably snappier — fewer latency spikes under heavy compositor
activity. The present 0002 MR has different (correct) wait
semantics so the perceived gain can't be directly attributed, but
calling it out gives reviewers an honest signal that the patch
at least preserves whatever benefit was on the table downstream.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 19:19:06 +00:00
test0r 70a01bd41a upstream-submissions/kwin-fourier: validation findings + revised MR body
Captured stock kwin 6.6.4 ioctl baselines on ohm (PineTab2 / RK3566
/ mainline 6.19.10 / Plasma 6.6.4 Wayland):
- Brave + bbb 1080p30 (sw decode), 60 s: 96,120 ioctls, 0 EXPORT_SYNC_FILE
- chromium-fourier + bbb 1080p30, 30 s: 29,128 ioctls, 0 EXPORT_SYNC_FILE,
  ~7,800 SYNCOBJ_* (explicit sync)

Finding: KWin 6.6.4 + drm-syncobj-aware clients negotiate
wp_linux_drm_syncobj_v1 explicit sync, leaving Transaction::watchDmaBuf
on the legacy implicit-sync path that fires only for clients that
don't advertise drm-syncobj support.

Updated kde-mr-body.md to reflect honest scope: structural cleanup
of the legacy path (still relevant for older clients / V4L2 pipelines
that don't wrap dmabufs in syncobjs) rather than the originally-
hypothesized per-frame ioctl reduction. Patch is correct by
construction; no regression on the no-targeted-path workload.

Evidence files saved under measurements/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 19:10:55 +00:00
marfrit 92b9c91bd3 upstream-submissions/kwin-fourier: invent.kde.org MR body draft
KDE merge-request body for kwin-fourier patch 0002 (the
upstream-shape, not the diagnostic 0001 bypass).

Captures:
- Summary of the change (poll dmabuf fd directly, drop the
  EXPORT_SYNC_FILE+sync_file roundtrip).
- Why it matters (per-frame ioctl overhead on Mali hardware,
  measurable contributor to compositor latency spikes).
- Side effects (drop unused linux/dma-buf.h and xf86drm.h
  includes, remove exportWaitSyncFile static helper).
- Alternative considered (16ms timeout — preserves shape but
  doesn't remove the syscalls; rejected for that reason).
- Validation context on PineTab2.
- Future work pointer at the kernel-side dma_resv work.
- KDE contribution flow boilerplate: account, SSH, fork+branch
  recipe, reviewer suggestions (vladz, zamundaaa, David Edmundson),
  labels (Component::Wayland, Performance, Backport).

Validation gate before submitting: build kwin-fourier with 0002
instead of 0001, install on ohm, confirm equivalence with the
0001-validated playback. Strace numbers for the syscall reduction
go into the MR body once captured.

This is a parallel to the qt6 submission draft committed earlier.
2026-04-28 19:50:44 +00:00