On 05/03/2026 16:23, Yicong Hui wrote:
On 2/25/26 1:57 PM, Christian König wrote:
On 2/25/26 14:37, Michel Dänzer wrote:
On 2/25/26 14:25, Christian König wrote:
On 2/25/26 13:46, Yicong Hui wrote:
This patch series adds 2 new flags, DRM_SYNCOBJ_QUERY_FLAGS_ERROR and
DRM_SYNCOBJ_WAIT_FLAGS_ABORT_ON_ERROR for 3 ioctl operations
DRM_IOCTL_SYNCOBJ_QUERY, DRM_IOCTL_SYNCOBJ_WAIT and
DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT to allow them to batch-request error
codes from multiple syncobjs and abort early upon error of any of them.

Patch #1 looks good enough to add my rb.

Patch #2 looks good as well, but I'm not familiar enough with the code and have no time to wrap my head around it to give a review.

Adding a few people on CC, maybe somebody has time to take another look.


Based on discussions from Michel Dänzer and Christian König, and a
starter task from the DRM todo documentation.

See https://gitlab.gnome.org/GNOME/mutter/-/issues/4624 for discussions
on userspace implementation.

I have looked into adding sub test cases into syncobj_wait.c and
syncobj_timeline.c, igt-tests for this and I think I understand the
process for writing tests and submitting them, however, these ioctls
only trigger in the case that there is an error, but I am not sure what is the best way to artifically trigger an error from userspace in order
to test that these ioctl flags work. What's the recommended way to
approach this?

When Michel agrees that this is the way to go then we either need an in-kernel selftest (see directory drivers/gpu/drm/tests/) or an userspace IGT test.

Not sure what is more appropriate, maybe somebody on CC has more experience with that.

I'd advise against landing this in the kernel before there's a corresponding display server implementation making use of it, in a mergeable state.

Yeah we clearly have the rule that this can't be pushed into the kernel without userspace code as well.

Otherwise you might end up with the kernel having to support UAPI which no real-world user space actually uses. Been there, done that myself.


I don't have the capacity to contribute anything more than advice at this point.

Oh that is sad. Do you know anybody who could work on that?

It is a clear improvement to error handling and I don't like to keep Yicong's work only on the mailing list.

Thanks,
Christian.


Hello

Is there anything else I can do? Or will we have to just leave all of this here unmerged

I have read the emails from Tvrtko and Matthew and I'm absolutely happy to send a v4 to ameliorate these issues, but there might not be a need to do so if the series won't get merged in the end

I wasn't following closely the userspace angle of the discussion to be sure, nor I know enough about what are all the userspaces which may want to use it, but in general, if there is more than one potential userspace, perhaps you could try to interest some of them into the feature. Or add support for it yourself, submit to them and say this improves this or that and I have the kernel feature waiting already.

One other thing, so that your effort is not lost should someone want to work on it in the future, perhaps a patch for the TODO file which links to your latest series on lore (once all review comments are addressed) and noting that the kernel implementation exists but is waiting on userspace? Not sure if we ever done something like that but maybe we should to avoid work duplication in the future. And also to preserve some credit if someone picks up the work 1-2-3 years down the road.

Regards,

Tvrtko

Regardless, thank you to Christian and all the maintainers for being welcoming and all your work reviewing this patch series so far!

Thanks
Yicong

Reply via email to