[Intel-gfx] [PATCH 11/12 v2] drm/i915: wait render timeout ioctl

Ben Widawsky ben at bwidawsk.net
Sun Apr 29 04:33:26 CEST 2012


On Sat, 28 Apr 2012 19:11:34 -0700
Ben Widawsky <ben at bwidawsk.net> wrote:

> On Fri, 27 Apr 2012 16:24:24 +0100
> Chris Wilson <chris at chris-wilson.co.uk> wrote:
> 
> > On Thu, 26 Apr 2012 16:03:08 -0700, Ben Widawsky <ben at bwidawsk.net>
> > wrote:
> > > This helps implement glClientWaitSync.
> > > 
> > > Finally we can use the new timed seqno waiting function to allow
> > > userspace to wait on a request with a timeout. This implements
> > > that interface.
> > > 
> > > The new ioctl is very straight forward, there is a flags field
> > > which I envision may be useful for various flush permutations of
> > > the command.
> > 
> > What are the semantics of the ioctl? A simple use case would help
> > specify the interface here.
> 
> The first time I sent out the series, I included the libdrm and igt
> test. Is this what you're looking for, or something in the commit
> message?
> 
> > 
> > In particular, I can't tell whether the return value (timeout_ns) is
> > meant to be the time elapsed or the time remaining.  What value is
> > returned in the timeout if we are interrupted before the wait
> > completes? Would
> >   end = gettimeofday() + timeout;
> >   do {
> >     ret = i915_gem_wait(handle, 0, &timeout);
> >   } while (ret == -1 && errno == EINTR);
> >   assert(gettimeofday() <= end);
> > wait forever, or until the original timeout expires?
> > -Chris
> > 
> 
> The return value should give the remaining time left if the return
> value was not 0, though I venture to guess you're Socratically trying
> to tell me something, so I'll go through this again and find the bug.


Ah, I think I see the problem...



More information about the Intel-gfx mailing list