* [PATCH] drm/i915: Squelch any ktime/jiffie rounding errors for wait-ioctl
@ 2017-02-16 12:54 Chris Wilson
2017-02-16 13:42 ` Joonas Lahtinen
0 siblings, 1 reply; 3+ messages in thread
From: Chris Wilson @ 2017-02-16 12:54 UTC (permalink / raw)
To: intel-gfx
Cc: Chris Wilson, Matthew Auld, Joonas Lahtinen, # v4 . 10-rc1+,
stable
We wait upon jiffies, but report the time elapsed using a
high-resolution timer. This discrepancy can lead to us timing out the
wait prior to us reporting the elapsed time as complete.
This restores the squelching lost in commit e95433c73a11 ("drm/i915:
Rearrange i915_wait_request() accounting with callers").
Fixes: e95433c73a11 ("drm/i915: Rearrange i915_wait_request() accounting with callers")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: <drm-intel-fixes@lists.freedesktop.org> # v4.10-rc1+
Cc: stable@vger.kernel.org
---
drivers/gpu/drm/i915/i915_gem.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 98c483cf805c..6a159ed7ed08 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3116,6 +3116,16 @@ i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
args->timeout_ns -= ktime_to_ns(ktime_sub(ktime_get(), start));
if (args->timeout_ns < 0)
args->timeout_ns = 0;
+
+ /*
+ * Apparently ktime isn't accurate enough and occasionally has a
+ * bit of mismatch in the jiffies<->nsecs<->ktime loop. So patch
+ * things up to make the test happy. We allow up to 1 jiffy.
+ *
+ * This is a regrssion from the timespec->ktime conversion.
+ */
+ if (ret == -ETIME && !nsecs_to_jiffies(args->timeout_ns))
+ args->timeout_ns = 0;
}
i915_gem_object_put(obj);
--
2.11.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915: Squelch any ktime/jiffie rounding errors for wait-ioctl
2017-02-16 12:54 [PATCH] drm/i915: Squelch any ktime/jiffie rounding errors for wait-ioctl Chris Wilson
@ 2017-02-16 13:42 ` Joonas Lahtinen
2017-02-16 20:59 ` Chris Wilson
0 siblings, 1 reply; 3+ messages in thread
From: Joonas Lahtinen @ 2017-02-16 13:42 UTC (permalink / raw)
To: Chris Wilson, intel-gfx; +Cc: Matthew Auld, # v4 . 10-rc1+, stable
On to, 2017-02-16 at 12:54 +0000, Chris Wilson wrote:
> We wait upon jiffies, but report the time elapsed using a
> high-resolution timer. This discrepancy can lead to us timing out the
> wait prior to us reporting the elapsed time as complete.
>
> This restores the squelching lost in commit e95433c73a11 ("drm/i915:
> Rearrange i915_wait_request() accounting with callers").
>
> Fixes: e95433c73a11 ("drm/i915: Rearrange i915_wait_request() accounting with callers")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Matthew Auld <matthew.william.auld@gmail.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: <drm-intel-fixes@lists.freedesktop.org> # v4.10-rc1+
> Cc: stable@vger.kernel.org
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915: Squelch any ktime/jiffie rounding errors for wait-ioctl
2017-02-16 13:42 ` Joonas Lahtinen
@ 2017-02-16 20:59 ` Chris Wilson
0 siblings, 0 replies; 3+ messages in thread
From: Chris Wilson @ 2017-02-16 20:59 UTC (permalink / raw)
To: Joonas Lahtinen; +Cc: intel-gfx, Matthew Auld, # v4 . 10-rc1+, stable
On Thu, Feb 16, 2017 at 03:42:20PM +0200, Joonas Lahtinen wrote:
> On to, 2017-02-16 at 12:54 +0000, Chris Wilson wrote:
> > We wait upon jiffies, but report the time elapsed using a
> > high-resolution timer. This discrepancy can lead to us timing out the
> > wait prior to us reporting the elapsed time as complete.
> >
> > This restores the squelching lost in commit e95433c73a11 ("drm/i915:
> > Rearrange i915_wait_request() accounting with callers").
> >
> > Fixes: e95433c73a11 ("drm/i915: Rearrange i915_wait_request() accounting with callers")
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Matthew Auld <matthew.william.auld@gmail.com>
> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > Cc: <drm-intel-fixes@lists.freedesktop.org> # v4.10-rc1+
> > Cc: stable@vger.kernel.org
>
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Thanks, pushed.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-02-16 20:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-16 12:54 [PATCH] drm/i915: Squelch any ktime/jiffie rounding errors for wait-ioctl Chris Wilson
2017-02-16 13:42 ` Joonas Lahtinen
2017-02-16 20:59 ` Chris Wilson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).