Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH 01/33] drm/i915: Use EAGAIN for trylock failures
@ 2019-12-12 14:04 Chris Wilson
  2019-12-12 14:04 ` [Intel-gfx] [PATCH 02/33] drm/i915: Eliminate the trylock for awaiting an earlier request Chris Wilson
                   ` (32 more replies)
  0 siblings, 33 replies; 46+ messages in thread
From: Chris Wilson @ 2019-12-12 14:04 UTC (permalink / raw)
  To: intel-gfx

While not good behaviour, it is, however, established behaviour that we
can punt EAGAIN to userspace if we need to retry the ioctl. When trying
to acquire a mutex, prefer to use EAGAIN to propagate losing the race
so that if it does end up back in userspace, we try again.

Closes: https://gitlab.freedesktop.org/drm/intel/issues/800
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_timeline.c | 2 +-
 drivers/gpu/drm/i915/i915_request.c      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_timeline.c b/drivers/gpu/drm/i915/gt/intel_timeline.c
index 038e05a6336c..d71aafb66d6e 100644
--- a/drivers/gpu/drm/i915/gt/intel_timeline.c
+++ b/drivers/gpu/drm/i915/gt/intel_timeline.c
@@ -527,7 +527,7 @@ int intel_timeline_read_hwsp(struct i915_request *from,
 
 	GEM_BUG_ON(rcu_access_pointer(to->timeline) == tl);
 
-	err = -EBUSY;
+	err = -EAGAIN;
 	if (mutex_trylock(&tl->mutex)) {
 		struct intel_timeline_cacheline *cl = from->hwsp_cacheline;
 
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
index 51bb8a0812a1..fb8738987aeb 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -783,7 +783,7 @@ i915_request_await_start(struct i915_request *rq, struct i915_request *signal)
 	if (!tl) /* already started or maybe even completed */
 		return 0;
 
-	fence = ERR_PTR(-EBUSY);
+	fence = ERR_PTR(-EAGAIN);
 	if (mutex_trylock(&tl->mutex)) {
 		fence = NULL;
 		if (!i915_request_started(signal) &&
-- 
2.24.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2020-01-22 21:45 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-12 14:04 [Intel-gfx] [PATCH 01/33] drm/i915: Use EAGAIN for trylock failures Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 02/33] drm/i915: Eliminate the trylock for awaiting an earlier request Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 03/33] drm/i915/gt: Eliminate the trylock for reading a timeline's hwsp Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 04/33] drm/i915/uc: Ignore maybe-unused debug-only i915 local Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 05/33] drm/i915/gem: Prepare gen7 cmdparser for async execution Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 06/33] drm/i915/gem: Asynchronous cmdparser Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 07/33] drm/i915/gt: Mark up ips_mchdev pointer access Chris Wilson
2019-12-12 16:39   ` Venkata Sandeep Dhanalakota
2019-12-12 14:04 ` [Intel-gfx] [PATCH 08/33] drm/i915/gt: Mark context->state vma as active while pinned Chris Wilson
2019-12-12 19:55   ` Lionel Landwerlin
2019-12-12 21:35     ` Lionel Landwerlin
2019-12-12 21:46       ` Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 09/33] drm/i915/gt: Mark ring->vma " Chris Wilson
2019-12-12 19:55   ` Lionel Landwerlin
2019-12-12 14:04 ` [Intel-gfx] [PATCH 10/33] drm/i915/selftests: Disable heartbeats around long queues Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 11/33] drm/i915/selftests: Impose a timeout for request submission Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 12/33] drm/i915/gt: Remove direct invocation of breadcrumb signaling Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 13/33] drm/i915: Tweak scheduler's kick_submission() Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 14/33] drm/i915: Flush idle barriers when waiting Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 15/33] drm/i915: Allow userspace to specify ringsize on construction Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 16/33] drm/i915/gem: Honour O_NONBLOCK before throttling execbuf submissions Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 17/33] drm/i915/gt: Teach veng to defer the context allocation Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 18/33] drm/i915: Drop GEM context as a direct link from i915_request Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 19/33] drm/i915: Push the use-semaphore marker onto the intel_context Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 20/33] drm/i915: Remove i915->kernel_context Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 21/33] drm/i915: Move i915_gem_init_contexts() earlier Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 22/33] drm/i915/uc: Use an internal buffer for firmware images Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 23/33] drm/i915/gt: Pull GT initialisation under intel_gt_init() Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 24/33] drm/i915/gt: Pull intel_gt_init_hw() into intel_gt_resume() Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 25/33] drm/i915/gt: Merge engine init/setup loops Chris Wilson
2019-12-12 14:04 ` [Intel-gfx] [PATCH 26/33] drm/i915/gt: Expose engine properties via sysfs Chris Wilson
2020-01-22 21:13   ` [Intel-gfx] [26/33] " Steve Carbonari
2019-12-12 14:04 ` [Intel-gfx] [PATCH 27/33] drm/i915/gt: Expose engine->mmio_base " Chris Wilson
2020-01-22 21:18   ` [Intel-gfx] [27/33] " Steve Carbonari
2019-12-12 14:04 ` [Intel-gfx] [PATCH 28/33] drm/i915/gt: Expose timeslice duration to sysfs Chris Wilson
2020-01-22 21:25   ` [Intel-gfx] [28/33] " Steve Carbonari
2019-12-12 14:04 ` [Intel-gfx] [PATCH 29/33] drm/i915/gt: Expose busywait " Chris Wilson
2020-01-22 21:29   ` [Intel-gfx] [29/33] " Steve Carbonari
2019-12-12 14:04 ` [Intel-gfx] [PATCH 30/33] drm/i915/gt: Expose reset stop timeout via sysfs Chris Wilson
2020-01-22 21:34   ` [Intel-gfx] [30/33] " Steve Carbonari
2019-12-12 14:04 ` [Intel-gfx] [PATCH 31/33] drm/i915/gt: Expose preempt reset " Chris Wilson
2020-01-22 21:36   ` [Intel-gfx] [31/33] " Steve Carbonari
2019-12-12 14:04 ` [Intel-gfx] [PATCH 32/33] drm/i915/gt: Expose heartbeat interval " Chris Wilson
2020-01-22 21:38   ` [Intel-gfx] [32/33] " Steve Carbonari
2019-12-12 14:04 ` [Intel-gfx] [PATCH 33/33] HAX: Use aliasing-ppgtt for gen7 Chris Wilson
2019-12-12 18:09 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [01/33] drm/i915: Use EAGAIN for trylock failures Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox