On Mon, Oct 27, 2014 at 11:03:26AM +0000, Ceraolo Spurio, Daniele wrote: > On 10/27/2014 8:49 AM, Chris Wilson wrote: > >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). > > > > You're right, I'll just remove it. > > >>+ ), > >>+ > >>+ 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)? > > I'll add a couple of tracepoints to cover them. > > >ppgtt_close is also another important point in the lifetime, and so you > >also want ppgtt_open for symmetry. > >-Chris > > > > What do you mean with ppgtt_close and ppgtt_open? I don't see > anything like that in my local d-i-n tree (pulled this morning). I was thinking of context open/close. They need tracepoints too. The issue is that we may hold onto the vm long after the process is closed so tracing that would be useful. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx