On Tue, Nov 18, 2014 at 01:12:29PM -0800, Jesse Barnes wrote:
> Might be helpful for debugging places where userspace ends up boosting
> or waiting where it doesn't intend to.

Might be feels a bit weak justification for a new tracepoint imo. Please
drum up more support.

> Signed-off-by: Jesse Barnes <jbar...@virtuousgeek.org>
> ---
>  drivers/gpu/drm/i915/i915_gem.c   |  6 ++++--
>  drivers/gpu/drm/i915/i915_trace.h | 15 +++++++++++++++
>  drivers/gpu/drm/i915/intel_pm.c   |  9 +++++++--
>  3 files changed, 26 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 86cf428..b03cb07 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -4209,8 +4209,10 @@ i915_gem_object_ggtt_unpin(struct drm_i915_gem_object 
> *obj)
>       struct i915_vma *vma = i915_gem_obj_to_ggtt(obj);
>  
>       BUG_ON(!vma);
> -     BUG_ON(vma->pin_count == 0);
> -     BUG_ON(!i915_gem_obj_ggtt_bound(obj));
> +     if (WARN(vma->pin_count == 0, "bad pin count\n"))
> +             return;
> +     if (WARN(!i915_gem_obj_ggtt_bound(obj), "obj not bound\n"))
> +             return;

Separate patch. Can you please split it out with the usual "BUG_ON
considered harmful" commit message?

Thanks, Daniel

>  
>       if (--vma->pin_count == 0)
>               obj->pin_mappable = false;
> diff --git a/drivers/gpu/drm/i915/i915_trace.h 
> b/drivers/gpu/drm/i915/i915_trace.h
> index 751d4ad..d710fe1 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -691,6 +691,21 @@ TRACE_EVENT(switch_mm,
>                 __entry->dev, __entry->ring, __entry->to, __entry->vm)
>  );
>  
> +TRACE_EVENT(turbo_boost,
> +         TP_PROTO(u32 freq),
> +         TP_ARGS(freq),
> +
> +         TP_STRUCT__entry(
> +                 __field(u32, freq)
> +                 ),
> +
> +         TP_fast_assign(
> +                 __entry->freq = freq;
> +                 ),
> +
> +         TP_printk("turbo boost to %d MHz", __entry->freq)
> +);
> +
>  #endif /* _I915_TRACE_H_ */
>  
>  /* This part must be outside protection */
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 7558ba2..2944593 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -4483,10 +4483,15 @@ void gen6_rps_boost(struct drm_i915_private *dev_priv)
>  
>       mutex_lock(&dev_priv->rps.hw_lock);
>       if (dev_priv->rps.enabled) {
> -             if (IS_VALLEYVIEW(dev))
> +             if (IS_VALLEYVIEW(dev)) {
>                       valleyview_set_rps(dev_priv->dev, 
> dev_priv->rps.max_freq_softlimit);
> -             else
> +                     trace_turbo_boost(vlv_gpu_freq(dev_priv,
> +                                                    
> dev_priv->rps.max_freq_softlimit));
> +             } else {
>                       gen6_set_rps(dev_priv->dev, 
> dev_priv->rps.max_freq_softlimit);
> +                     trace_turbo_boost(dev_priv->rps.max_freq_softlimit * 
> 50);
> +             }
> +
>               dev_priv->rps.last_adj = 0;
>       }
>       mutex_unlock(&dev_priv->rps.hw_lock);
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to