[PATCH RESEND v2] drm/syncobj: handle NULL fence in syncobj_eventfd_entry_func

2024-02-21 Thread Erik Kurzinger
t; v2: assign a stub fence instead of signaling the eventfd Signed-off-by: Erik Kurzinger Fixes: c7a472297169 ("drm/syncobj: add IOCTL to register an eventfd") --- drivers/gpu/drm/drm_syncobj.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/

Re: [PATCH v2 1/3] drm/syncobj: call drm_syncobj_fence_add_wait when WAIT_AVAILABLE flag is set

2024-02-21 Thread Erik Kurzinger
It looks these these patches have still not been merged after one month, is there anything more that needs to be done for this to happen? On 1/25/24 10:12, Daniel Vetter wrote: > On Fri, Jan 19, 2024 at 08:32:06AM -0800, Erik Kurzinger wrote: >> When waiting for a syncobj timeline po

Re: [PATCH] drm/syncobj: handle NULL fence in syncobj_eventfd_entry_func

2024-01-25 Thread Erik Kurzinger
Sorry, I realized there is a mistake in this patch after sending it out. It results in a use-after-free of "entry". I've sent out an updated version which should avoid the issue. On 1/25/24 10:03, Erik Kurzinger wrote: > During syncobj_eventfd_entry_func, dma_fence_chain_find_

[PATCH v2] drm/syncobj: handle NULL fence in syncobj_eventfd_entry_func

2024-01-25 Thread Erik Kurzinger
t; v2: assign a stub fence instead of signaling the eventfd Signed-off-by: Erik Kurzinger Fixes: c7a472297169 ("drm/syncobj: add IOCTL to register an eventfd") --- drivers/gpu/drm/drm_syncobj.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/

[PATCH] drm/syncobj: handle NULL fence in syncobj_eventfd_entry_func

2024-01-25 Thread Erik Kurzinger
addressed by b19926d4f3a6 ("drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence") As a fix, if the return value of dma_fence_chain_find_seqno indicates success but it sets the fence to NULL, we should simply signal the eventfd immediately. Signed-off-by: Erik Kurzinger Fixes: c7

[PATCH v2 3/3] drm/syncobj: call might_sleep before waiting for fence submission

2024-01-19 Thread Erik Kurzinger
to catch potential bugs. Signed-off-by: Erik Kurzinger --- drivers/gpu/drm/drm_syncobj.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c index c59bb02e2c07..e04965878a08 100644 --- a/drivers/gpu/drm

[PATCH v2 2/3] drm/syncobj: reject invalid flags in drm_syncobj_find_fence

2024-01-19 Thread Erik Kurzinger
The only flag that is meaningful to drm_syncobj_find_fence is DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT. It should return -EINVAL for any other flag bits. Signed-off-by: Erik Kurzinger --- drivers/gpu/drm/drm_syncobj.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm

[PATCH v2 1/3] drm/syncobj: call drm_syncobj_fence_add_wait when WAIT_AVAILABLE flag is set

2024-01-19 Thread Erik Kurzinger
://lists.freedesktop.org/archives/igt-dev/2024-January/067537.html v1 -> v2: adjust lockdep_assert_none_held_once condition Fixes: 01d6c3578379 ("drm/syncobj: add support for timeline point wait v8") Signed-off-by: Erik Kurzinger --- drivers/gpu/drm/drm_syncobj.c | 6 -- 1 file changed, 4 ins

[PATCH] drm/syncobj: call drm_syncobj_fence_add_wait when, WAIT_AVAILABLE flag is set

2024-01-12 Thread Erik Kurzinger
://lists.freedesktop.org/archives/igt-dev/2024-January/067282.html Fixes: 01d6c3578379 ("drm/syncobj: add support for timeline point wait v8") Signed-off-by: Erik Kurzinger --- drivers/gpu/drm/drm_syncobj.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_s

Re: [PATCH v2] drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE

2023-10-26 Thread Erik Kurzinger
Is there anything else needed for this fix to be merged? I have shared an accompanying patch for the IGT test suite here https://lists.freedesktop.org/archives/igt-dev/2023-August/060154.html On 8/16/23 09:26, Erik Kurzinger wrote: > If DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT is invo

Re: [PATCH v2] drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE

2023-08-16 Thread Erik Kurzinger
That's actually a bit of a tricky question. It seems that the existing IGT syncobj_timeline test asserts the incorrect behavior that waiting for an unsubmitted fence with WAIT_AVAILABLE set should fail with EINVAL. I've sent a patch to igt-dev correcting this

[PATCH v2] drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE

2023-08-16 Thread Erik Kurzinger
10 + ts.tv_nsec + 50, // 5s DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE, NULL)) { printf("drmSyncobjTimelineWait failed %d\n", errno); } } Fixes: 01d6c3578379 ("drm/syncobj: add support for timeline point wait v8") Signed-of

[PATCH] drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE

2023-08-15 Thread Erik Kurzinger
10 + ts.tv_nsec + 50, // 5s DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE, NULL)) { printf("drmSyncobjTimelineWait failed %d\n", errno); } } Signed-off-by: Erik Kurzinger --- drivers/gpu/drm/drm_syncobj.c | 3 ++- 1 file changed

Re: [PATCH v3] drm/syncobj: add DRM_IOCTL_SYNCOBJ_IMPORT/EXPORT_SYNC_FILE

2023-07-24 Thread Erik Kurzinger
The Xwayland merge request linked below has been updated to the new interface (via pending libdrm wrappers). I have also posted a revised IGT test here https://lists.freedesktop.org/archives/igt-dev/2023-July/058449.html On 7/21/23 11:50, Erik Kurzinger wrote: > These new ioctls perform a t

[PATCH v3] drm/syncobj: add DRM_IOCTL_SYNCOBJ_IMPORT/EXPORT_SYNC_FILE

2023-07-21 Thread Erik Kurzinger
nts of drm_syncobj_import_sync_file_fence V2 -> V3: add missing comma (whoops) Signed-off-by: Erik Kurzinger Reviewed-by: Simon Ser --- drivers/gpu/drm/drm_internal.h | 4 +++ drivers/gpu/drm/drm_ioctl.c| 4 +++ drivers/gpu/drm/drm_syncobj.c | 62 ++ include/uapi/drm

Re: [PATCH] drm/syncobj: add DRM_IOCTL_SYNCOBJ_IMPORT/EXPORT_SYNC_FILE

2023-07-21 Thread Erik Kurzinger
That's a fair point. With my IGT patch I don't think we would have coverage of the old path any more. I'll try to fix that somehow, and I think your suggestion of including some "invalid" cases is also a good one. Anyway, apart from that I've posted a v2 of the kernel patch addressing your

[PATCH v2] drm/syncobj: add DRM_IOCTL_SYNCOBJ_IMPORT/EXPORT_SYNC_FILE

2023-07-21 Thread Erik Kurzinger
nts of drm_syncobj_import_sync_file_fence Signed-off-by: Erik Kurzinger --- drivers/gpu/drm/drm_internal.h | 4 +++ drivers/gpu/drm/drm_ioctl.c| 4 +++ drivers/gpu/drm/drm_syncobj.c | 62 ++ include/uapi/drm/drm.h | 8 + 4 files changed, 71 insertions(+), 7 deleti

Re: [PATCH] drm/syncobj: add DRM_IOCTL_SYNCOBJ_IMPORT/EXPORT_SYNC_FILE

2023-07-20 Thread Erik Kurzinger
On 7/20/23 02:43, Simon Ser wrote: > On Wednesday, July 19th, 2023 at 19:05, Erik Kurzinger > wrote: > >> These new ioctls perform a task similar to >> DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD/FD_TO_HANDLE with the >> IMPORT/EXPORT_SYNC_FILE flag set, except that they allow

[PATCH] drm/syncobj: add DRM_IOCTL_SYNCOBJ_IMPORT/EXPORT_SYNC_FILE

2023-07-19 Thread Erik Kurzinger
: https://gitlab.freedesktop.org/ekurzinger/igt-gpu-tools/-/commit/241e7f379aeaa9b22a32277e77ad4011c8717a57 libdrm: https://gitlab.freedesktop.org/ekurzinger/drm/-/commit/b3961a592fc6f8b05f7e3a12413fb58eca2dbfa2 Signed-off-by: Erik Kurzinger --- drivers/gpu/drm/drm_internal.h | 4 +++ drivers/gpu