diff mbox series

[2/3] drm/i915: Bump GT idling delay to 2 jiffies

Message ID 5c77a2a12b4159415e5e448a563ab70a13a8d8cb.1656911806.git.karolina.drobnik@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: Apply waitboosting before fence wait | expand

Commit Message

Karolina Drobnik July 5, 2022, 10:57 a.m. UTC
From: Chris Wilson <chris@chris-wilson.co.uk>

In monitoring a transcode pipeline that is latency sensitive (it waits
between submitting frames, and each frame requires work on rcs/vcs/vecs
engines), it is found that it took longer than a single jiffy for it to
sustain its workload. Allowing an extra jiffy headroom for the userspace
prevents us from prematurely parking and having to exit powersaving
immediately.

Link: https://gitlab.freedesktop.org/drm/intel/-/issues/6284
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Karolina Drobnik <karolina.drobnik@intel.com>
---
 drivers/gpu/drm/i915/i915_active.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rodrigo Vivi July 7, 2022, 6:09 p.m. UTC | #1
On Tue, Jul 05, 2022 at 12:57:18PM +0200, Karolina Drobnik wrote:
> From: Chris Wilson <chris@chris-wilson.co.uk>
> 
> In monitoring a transcode pipeline that is latency sensitive (it waits
> between submitting frames, and each frame requires work on rcs/vcs/vecs
> engines), it is found that it took longer than a single jiffy for it to
> sustain its workload. Allowing an extra jiffy headroom for the userspace
> prevents us from prematurely parking and having to exit powersaving
> immediately.
> 
> Link: https://gitlab.freedesktop.org/drm/intel/-/issues/6284
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Karolina Drobnik <karolina.drobnik@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_active.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c
> index ee2b3a375362..7412abf166a8 100644
> --- a/drivers/gpu/drm/i915/i915_active.c
> +++ b/drivers/gpu/drm/i915/i915_active.c
> @@ -974,7 +974,7 @@ void i915_active_acquire_barrier(struct i915_active *ref)
>  
>  		GEM_BUG_ON(!intel_engine_pm_is_awake(engine));
>  		llist_add(barrier_to_ll(node), &engine->barrier_tasks);
> -		intel_engine_pm_put_delay(engine, 1);
> +		intel_engine_pm_put_delay(engine, 2);

I believe we should make more use of the runtime_idle to check for some
pending activity like this... but in the current structure this patch seems
the best and easiest option.

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

>  	}
>  }
>  
> -- 
> 2.25.1
>
Andi Shyti July 7, 2022, 9:52 p.m. UTC | #2
Hi,

On Tue, Jul 05, 2022 at 12:57:18PM +0200, Karolina Drobnik wrote:
> From: Chris Wilson <chris@chris-wilson.co.uk>
> 
> In monitoring a transcode pipeline that is latency sensitive (it waits
> between submitting frames, and each frame requires work on rcs/vcs/vecs
> engines), it is found that it took longer than a single jiffy for it to
> sustain its workload. Allowing an extra jiffy headroom for the userspace
> prevents us from prematurely parking and having to exit powersaving
> immediately.
> 
> Link: https://gitlab.freedesktop.org/drm/intel/-/issues/6284
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Karolina Drobnik <karolina.drobnik@intel.com>

Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>

Andi

> ---
>  drivers/gpu/drm/i915/i915_active.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c
> index ee2b3a375362..7412abf166a8 100644
> --- a/drivers/gpu/drm/i915/i915_active.c
> +++ b/drivers/gpu/drm/i915/i915_active.c
> @@ -974,7 +974,7 @@ void i915_active_acquire_barrier(struct i915_active *ref)
>  
>  		GEM_BUG_ON(!intel_engine_pm_is_awake(engine));
>  		llist_add(barrier_to_ll(node), &engine->barrier_tasks);
> -		intel_engine_pm_put_delay(engine, 1);
> +		intel_engine_pm_put_delay(engine, 2);
>  	}
>  }
>  
> -- 
> 2.25.1
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c
index ee2b3a375362..7412abf166a8 100644
--- a/drivers/gpu/drm/i915/i915_active.c
+++ b/drivers/gpu/drm/i915/i915_active.c
@@ -974,7 +974,7 @@  void i915_active_acquire_barrier(struct i915_active *ref)
 
 		GEM_BUG_ON(!intel_engine_pm_is_awake(engine));
 		llist_add(barrier_to_ll(node), &engine->barrier_tasks);
-		intel_engine_pm_put_delay(engine, 1);
+		intel_engine_pm_put_delay(engine, 2);
 	}
 }