Re: [PATCH v5] drm/i915: Add ppgtt create/release trace points

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

 



On Fri, Oct 24, 2014 at 04:30:52PM +0100, daniele.ceraolospurio@xxxxxxxxx wrote:
> From: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx>
> 
> These tracepoints are useful for observing the creation and
> destruction of Full PPGTTs.
> 
> v4: add DOC information
> v5: pull the DOC in drm.tmpl
> 
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx>
> +TRACE_EVENT(i915_ppgtt_create,
> +	TP_PROTO(struct i915_address_space *vm),
> +
> +	TP_ARGS(vm),
> +
> +	TP_STRUCT__entry(
> +			__field(struct i915_address_space *, vm)
> +			__field(u32, dev)
> +			__field(int, pid)
> +	),
> +
> +	TP_fast_assign(
> +			__entry->vm = vm;
> +			__entry->dev = vm->dev->primary->index;
> +			__entry->pid = (int)task_pid_nr(current);

This is redundant. Current pid is part of the perf header (iirc at
least). Besides which storing the creator pid is useful elsewhere when
debugging vm (especially as now vm->pid != file->pid).

> +	),
> +
> +	TP_printk("dev=%u, task_pid=%d, vm=%p",
> +		  __entry->dev, __entry->pid, __entry->vm)
> +);
> +
> +TRACE_EVENT(i915_ppgtt_release,
> +
> +	TP_PROTO(struct i915_address_space *vm),
> +
> +	TP_ARGS(vm),
> +
> +	TP_STRUCT__entry(
> +			__field(struct i915_address_space *, vm)
> +			__field(u32, dev)
> +	),
> +
> +	TP_fast_assign(
> +		__entry->vm = vm;
> +		__entry->dev = vm->dev->primary->index;
> +	),
> +
> +	TP_printk("dev=%u, vm=%p", __entry->dev, __entry->vm)
> +);

So what about switch_mm (accounting for both execlists/non-execlists)?
ppgtt_close is also another important point in the lifetime, and so you
also want ppgtt_open for symmetry.
-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