d3564b061c
Submission notes for the kernel/vb2-dma-resv-rfc series. Captures: - Pre-flight gates (full-tree compile-test, boot-test on ohm, runtime validation by uninstalling kwin-fourier and confirming chrome still plays through, syscall-count delta). - The git send-email recipe with the full CC list (linux-media, V4L2 maintainers, hantro maintainer Tomasz Figa, dma-buf reviewers Sumit Semwal / Christian König / Jason Ekstrand, dri-devel, linux-rockchip, Heiko / Jeffy). - Expected reviewer feedback (opt-in vs. auto-on, selftest request, signal-point semantics for async producers, Pick-to-LTS decision). - Withdraw conditions if upstream is already doing this work or the design has a fundamental issue we didn't see. This is the third upstream-submission draft in the campaign: upstream-submissions/qt6-base-fourier/ bugreports.qt.io draft upstream-submissions/kwin-fourier/ invent.kde.org MR draft upstream-submissions/vb2-dma-resv/ linux-media draft (this)
5.0 KiB
5.0 KiB
linux-media submission notes — vb2 dma_resv release-fence series
The 3-patch RFC series at marfrit-packages/kernel/vb2-dma-resv-rfc/
is ready to send. Cover letter is filled in; patches apply cleanly
via git am against Linux 6.12 mainline; all kernel APIs verified.
Pre-flight gates (re-stated)
- Full-tree compile-test — apply the 3 patches to a complete
kernel checkout (not a sparse one),
make defconfig+ enableCONFIG_VIDEO_HANTRO=yandCONFIG_VIDEO_ROCKCHIP_RGA=y, then build. A focusedmake drivers/media/common/videobuf2/videobuf2-core.o drivers/media/platform/verisilicon/hantro_v4l2.o drivers/media/platform/rockchip/rga/rga-buf.ois the minimal safe-to-send threshold; fullmakeis the higher confidence bar. - Boot-test on ohm — install the patched kernel, verify
lsmodshows hantro_vpu and rockchip_rga loaded, runmpv --vo=drm --hwdec=v4l2request bbb_1080p30_h264.mp4and confirm playback still works (smoke test that we haven't broken the existing buffer-state machine). - Runtime validation — install patched kernel,
pacman -R kwin-fourierso KWin's stockwatchDmaBufis re-enabled, playbbb_1080p30_h264.mp4in chromium-fourier under KDE Plasma. Should plays through end-to-end because the fence the compositor waits on is now real (signals when hantro completes). Compare CPU profile against the kwin-fourier-bypassed baseline — should be equivalent or marginally lower. - Capture syscall numbers —
strace -c -p $(pgrep kwin_wayland)during a 60-second playback, before and after the kernel patch (with stock KWin, kwin-fourier uninstalled). Reports the ioctl reduction the patch enables (sinceEXPORT_SYNC_FILEwill now signal real fences instead of stub ones, but the call itself remains). The reduction is greater if the KWin upstream-shape patch is also in, but the kernel patch alone is sufficient to make the existing KWin path correct.
Send command
After all four gates pass, format-patch and send:
cd <linux-tree-with-patches-applied>
git format-patch --cover-letter --base=auto -3 \
-o /tmp/vb2-dma-resv-out HEAD
# Verify cover letter has the right Subject and blurb (we already
# filled them in, but git format-patch will overwrite — so paste
# the canonical ones from kernel/vb2-dma-resv-rfc/0000-cover-letter.patch)
git send-email \
--to=linux-media@vger.kernel.org \
--cc='Mauro Carvalho Chehab <mchehab@kernel.org>' \
--cc='Hans Verkuil <hverkuil-cisco@xs4all.nl>' \
--cc='Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>' \
--cc='Tomasz Figa <tfiga@chromium.org>' \
--cc='Sumit Semwal <sumit.semwal@linaro.org>' \
--cc='Christian König <christian.koenig@amd.com>' \
--cc='Jason Ekstrand <jason@jlekstrand.net>' \
--cc='dri-devel@lists.freedesktop.org' \
--cc='linux-rockchip@lists.infradead.org' \
--cc='Heiko Stuebner <heiko@sntech.de>' \
--cc='Jeffy Chen <jeffy.chen@rock-chips.com>' \
/tmp/vb2-dma-resv-out/*.patch
Rationale for the CC list:
linux-media@vger.kernel.org— primary list (V4L2 / videobuf2)- Mauro / Hans / Ezequiel — V4L2 maintainers
- Tomasz Figa — hantro maintainer (Collabora / Chromium overlap)
- Sumit Semwal / Christian König / Jason Ekstrand — dma-buf
reviewers (this patch touches
dma_resvsemantics, so the dma-buf folks need a look) dri-devel— graphics list, the consumer side of the fencelinux-rockchip@lists.infradead.org— RK3xxx-specific feedback- Heiko Stübner — Rockchip / arm64 maintainer
- Jeffy Chen — Rock-Chips media stack lead
Expected feedback
- "Why opt-in vs auto-on for all CAPTURE queues?" — answered in cover letter; willing to switch to auto-on if reviewers prefer the audit burden.
- "Does this need a vb2 selftest?" — videobuf2 doesn't have great in-tree dmabuf coverage; offer to add a minimal kselftest if reviewers ask.
- "Is
vb2_buffer_donethe right signal point for asynchronous drivers?" — for hantro and rga it is (they're synchronous m2m). For drivers with async post-processing, may need a separate hook; out of scope for this RFC. - "Pick-to: stable trees?" — Maintainers will decide. The patch is invasive enough that LTS backport may not be wanted; the contract gap has been there since vb2's introduction so it's not a regression fix.
Withdraw conditions
If reviewers point out that:
- A driver in the wider tree already does this and we missed it (the auto-on path would just naturally pick that up; switch approach).
- vb2's
dma_resvintegration is being done in a different upstream effort already (search lkml forvideobuf2 dma_resvbefore sending — should already be in the cover letter). - The fence semantics are wrong for some driver class we didn't consider (most likely image-sensor → CSI → ISP → output, where the producer fence at the camera side and the user-visible fence at the ISP output may be different).
…drop the series, write up the lessons, retry next cycle.