Re: [PATCH 1/3] drm/i915: Add ppgtt init/release trace points

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 18, 2014 at 05:16:39PM +0100, oscar.mateo@xxxxxxxxx wrote:
> From: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx>
> 
> These tracepoints are useful for observing the creation and
> destruction of Full PPGTTs.
> 
> Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/i915_gem_context.c |  5 +++++
>  drivers/gpu/drm/i915/i915_trace.h       | 38 +++++++++++++++++++++++++++++++++
>  2 files changed, 43 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> index 5a62a19..bdfe3f5 100644
> --- a/drivers/gpu/drm/i915/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> @@ -136,6 +136,8 @@ static void ppgtt_release(struct kref *kref)
>  	struct i915_hw_ppgtt *ppgtt =
>  		container_of(kref, struct i915_hw_ppgtt, ref);
>  
> +	trace_ppgtt_release(ppgtt);
> +
>  	do_ppgtt_cleanup(ppgtt);
>  	kfree(ppgtt);
>  }
> @@ -215,6 +217,9 @@ create_vm_for_ctx(struct drm_device *dev, struct intel_context *ctx)
>  	}
>  
>  	ppgtt->ctx = ctx;
> +
> +	trace_ppgtt_init(ppgtt);
> +
>  	return ppgtt;
>  }
>  
> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
> index f5aa006..2d206d8 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -587,6 +587,44 @@ TRACE_EVENT(intel_gpu_freq_change,
>  	    TP_printk("new_freq=%u", __entry->freq)
>  );
>  
> +TRACE_EVENT(ppgtt_init,
> +
> +	TP_PROTO(struct i915_hw_ppgtt *ppgtt),
> +
> +	TP_ARGS(ppgtt),
> +
> +	TP_STRUCT__entry(
> +		__field(struct i915_hw_ppgtt*, trace_ppgtt)
> +		__field(unsigned int, ppgtt_op_code)
> +	),
> +
> +	TP_fast_assign(
> +		__entry->trace_ppgtt = ppgtt;
> +		__entry->ppgtt_op_code = 0;
> +	),
> +
> +	TP_printk("ppgtt op: %u", __entry->ppgtt_op_code)

op is redundant and unuseful since it is already encoded into the
tracepoint itself. I'm not happy with the tracepoint name either, but it
is close. Note, that we do like to pretend that our driver can coexist
with itself. That means we have to pass along the dev->minor here so
that listeners can distinguish events between imaginary devices. You
need to say which client created the ppgtt and include some method for
identifying the ppgtt.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux