Re: [RFC PATCH] drm/syncobj: add IOCTL to register an eventfd for a timeline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday, October 10th, 2022 at 10:19, Pekka Paalanen <ppaalanen@xxxxxxxxx> wrote:

> I'm completely clueless about this API.

No worries!

> > +/**
> > + * struct drm_syncobj_timeline_register_eventfd
> > + *
> > + * Register an eventfd to be signalled when a timeline point completes. The
> > + * eventfd counter will be incremented by one.
> 
> Sounds nice.
> 
> Since the action is to increment the counter by one, does it mean it
> will be possible to wait for a bunch of completions and have the
> eventfd poll return only when they have all signaled?

It is possible to perform the IOCTL multiple times with the same eventfd, but
eventfd semnatics would wake up user-space each time any timeline point
completes.

> > + */
> > +struct drm_syncobj_timeline_register_eventfd {
> > +	__u32 handle;
> 
> Handle of what?

drm_syncobj handle

> > +	__u32 flags;
> 
> What flags are allowed? Must be zero for now?

Same flags as the wait IOCTL.

Must be WAIT_AVAILABLE for now, but I'll implement the zero case as well (see
TODO).

> > +	__u64 point;
> 
> Is this some Vulkan thingy?

It's a drm_syncobj timeline thing. The timeline contains multiple sync points.

> > +	__s32 fd;
> 
> I guess the userspace needs to create an eventfd first, and pass it as
> the argument here? This is not creating a new eventfd itself?

Correct

> > +	__u32 pad;
> 
> Must be zero?

Indeed.

I'll spell out these requirements explicitly in the next version.




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux