Speaker
Description
Abstract
Modern SoCs increasingly run parts of a single pipeline (AI/ML,
vision, camera, graphics, sensors) across a mix of Linux drivers
and firmwares on remote processors (NPUs and AI processors, ISPs,
companion cores). Coordinating that pipeline requires
synchronization objects that can be created, synchronously or
asynchronously waited on, signaled, and released by any
participant core, Linux and non-Linux, with lifetime tracked
somewhere no single core owns outright.
dma_fence solves the local version of this problem well, but its
lifetime and callback model assumes a single kernel's view of the
world. We've developed Synx, a global handle/refcount table for
this exact cross-processor case, and posted an RFC to dri-devel
and linux-arm-msm describing the model and the specific properties
dma-fence doesn't currently cover (refer supporting links).
Letting any two remote processors signal each other directly,
without routing through the Linux host, cuts latency and avoids an
unnecessary CPU wake-up. The solution has shown power and
performance benefits in the last few generations of Qualcomm
mobile and XR chipsets, and is gathering more use cases,
specifically ones involving AI pipelines.
Christian König redirects us to solve remote signaling in
userspace: a userspace fence/signaling point model based on
dma-buf, citing XE's userspace wait support, eventfd, and ROCm
events as precedent, with possible common ground centered around
eventfd.
Discussion points
(Supposed to evolve as email thread develops)
- the viability of a userspace vs. kernel-space fence model
- the current remote-signaling solutions from other vendors
- scope as standalone or extend current framework. Define
interfaces.
- model the subsystem crash recovery and cleanup
Key people
- Bartosz Golaszewski
- Dmitry Baryshkov, Srinivas Kandagatla (Driver Core MC; also
Qualcomm colleagues who reviewed Synx internally) - Christian König (engaged on the RFC thread)
- Faith Ekstrand / Xe authors (cited by König)
Supporting links
- https://lore.kernel.org/dri-devel/5f90bb35-994e-48bd-bf49-3001dcefa2ee@amd.com/
- https://lore.kernel.org/linux-arm-msm/20260806051915.2234481-1-pravinku@quicinc.com/
- formatted duplicate @ https://lore.kernel.org/dri-devel/20260806051915.2234481-1-pravinku@quicinc.com/