On 28/03/2023 18:19, Daniel Vetter wrote:
On Sat, Mar 25, 2023 at 11:24:56AM -0700, Rob Clark wrote:
Hi Dave and Daniel,
Here is the series for dma-fence deadline hint, without driver
specific patches, with the intent that it can be merged into drm-next
as well as -driver next trees to enable landing driver specific
support through their corresponding -next trees.
The following changes since commit eeac8ede17557680855031c6f305ece2378af326:
Linux 6.3-rc2 (2023-03-12 16:36:44 -0700)
are available in the Git repository at:
https://gitlab.freedesktop.org/drm/msm.git tags/dma-fence-deadline-core
for you to fetch changes up to 0bcc8f52a8d9d1f9cd5af7f88c6599a89e64284a:
drm/atomic-helper: Set fence deadline for vblank (2023-03-25 10:55:08 -0700)
Ok apparently there's only igts for the sync_file uabi and the only only
userspace for syncobj is the mesa mr that is still under discussion :-/
Yes I know there's a clearly established need for something like this, but
also in drm we don't merge conjectured uabi. Especially with tricky stuff
that's meant to improve best effort performance/tuning problems, where you
really have to benchmark the entire thing and make sure you didn't screw
up some interaction.
Would we consider bypassing any ABI concerns by going with my proposal*
for the wait boost specific case?
Regards,
Tvrtko
*) https://patchwork.freedesktop.org/series/113846/
To make sure this isn't stuck another full cycle, is there a way to wittle
this just down to the kms atomic flip boosting parts? That way we could at
least start landing the core&driver bits ...
-Daniel
----------------------------------------------------------------
Immutable branch with dma-fence deadline hint support between drm-next
and driver -next trees.
----------------------------------------------------------------
Rob Clark (11):
dma-buf/dma-fence: Add deadline awareness
dma-buf/fence-array: Add fence deadline support
dma-buf/fence-chain: Add fence deadline support
dma-buf/dma-resv: Add a way to set fence deadline
dma-buf/sync_file: Surface sync-file uABI
dma-buf/sync_file: Add SET_DEADLINE ioctl
dma-buf/sw_sync: Add fence deadline support
drm/scheduler: Add fence deadline support
drm/syncobj: Add deadline support for syncobj waits
drm/vblank: Add helper to get next vblank time
drm/atomic-helper: Set fence deadline for vblank
Documentation/driver-api/dma-buf.rst | 16 ++++++-
drivers/dma-buf/dma-fence-array.c | 11 +++++
drivers/dma-buf/dma-fence-chain.c | 12 +++++
drivers/dma-buf/dma-fence.c | 60 ++++++++++++++++++++++++
drivers/dma-buf/dma-resv.c | 22 +++++++++
drivers/dma-buf/sw_sync.c | 81 +++++++++++++++++++++++++++++++++
drivers/dma-buf/sync_debug.h | 2 +
drivers/dma-buf/sync_file.c | 19 ++++++++
drivers/gpu/drm/drm_atomic_helper.c | 37 +++++++++++++++
drivers/gpu/drm/drm_syncobj.c | 64 ++++++++++++++++++++------
drivers/gpu/drm/drm_vblank.c | 53 +++++++++++++++++----
drivers/gpu/drm/scheduler/sched_fence.c | 46 +++++++++++++++++++
drivers/gpu/drm/scheduler/sched_main.c | 2 +-
include/drm/drm_vblank.h | 1 +
include/drm/gpu_scheduler.h | 17 +++++++
include/linux/dma-fence.h | 22 +++++++++
include/linux/dma-resv.h | 2 +
include/uapi/drm/drm.h | 17 +++++++
include/uapi/linux/sync_file.h | 59 +++++++++++++++---------
19 files changed, 496 insertions(+), 47 deletions(-)