Commit Graph

2 Commits

Author SHA1 Message Date
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