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 <jbarnes@xxxxxxxxxxxxxxxx> > --- > 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@xxxxxxxxxxxxxxxxxxxxx > 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@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx