Messages in this thread | | | Date | Mon, 20 Feb 2023 09:31:41 +0100 | Subject | Re: [PATCH v4 06/14] dma-buf/sync_file: Support (E)POLLPRI | From | Christian König <> |
| |
Am 18.02.23 um 22:15 schrieb Rob Clark: > From: Rob Clark <robdclark@chromium.org> > > Allow userspace to use the EPOLLPRI/POLLPRI flag to indicate an urgent > wait (as opposed to a "housekeeping" wait to know when to cleanup after > some work has completed). Usermode components of GPU driver stacks > often poll() on fence fd's to know when it is safe to do things like > free or reuse a buffer, but they can also poll() on a fence fd when > waiting to read back results from the GPU. The EPOLLPRI/POLLPRI flag > lets the kernel differentiate these two cases. > > Signed-off-by: Rob Clark <robdclark@chromium.org>
The code looks clean, but the different poll flags and their meaning are certainly not my field of expertise.
Feel free to add Acked-by: Christian König <christian.koenig@amd.com>, somebody with more background in this should probably take a look as well.
Regards, Christian.
> --- > drivers/dma-buf/sync_file.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/dma-buf/sync_file.c b/drivers/dma-buf/sync_file.c > index fb6ca1032885..c30b2085ee0a 100644 > --- a/drivers/dma-buf/sync_file.c > +++ b/drivers/dma-buf/sync_file.c > @@ -192,6 +192,14 @@ static __poll_t sync_file_poll(struct file *file, poll_table *wait) > { > struct sync_file *sync_file = file->private_data; > > + /* > + * The POLLPRI/EPOLLPRI flag can be used to signal that > + * userspace wants the fence to signal ASAP, express this > + * as an immediate deadline. > + */ > + if (poll_requested_events(wait) & EPOLLPRI) > + dma_fence_set_deadline(sync_file->fence, ktime_get()); > + > poll_wait(file, &sync_file->wq, wait); > > if (list_empty(&sync_file->cb.node) &&
| |