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...