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.