[Intel-gfx] [RFC 4/8] drm/i915: Insert commands for capturing timestamps in the ring
Gupta, Sourab
sourab.gupta at intel.com
Wed Aug 5 02:54:47 PDT 2015
On Wed, 2015-08-05 at 09:30 +0000, Chris Wilson wrote:
> On Wed, Aug 05, 2015 at 11:25:40AM +0530, sourab.gupta at intel.com wrote:
> > From: Sourab Gupta <sourab.gupta at intel.com>
> >
> > This patch adds the routines through which one can insert commands in the
> > ringbuf for capturing timestamps, which are used to insert these commands
> > around the batchbuffer.
> >
> > While inserting the commands, we keep a reference of associated request.
> > This will be released when we are forwarding the samples to userspace
> > (or when the event is being destroyed).
> > Also, an active reference of the destination buffer is taken here, so that
> > we can be assured that the buffer is freed up only after GPU is done with
> > it, even if the local reference of the buffer is released.
> >
> > v2: Changes (as suggested by Chris):
> > - Passing in 'request' struct for emit report function
> > - Removed multiple calls to i915_gem_obj_to_ggtt(). Keeping hold of
> > pinned vma from start and using when required.
> > - Better nomenclature, and error handling.
> >
> > @@ -919,6 +993,7 @@ static int init_gen_pmu_buffer(struct perf_event *event)
> > dev_priv->gen_pmu.buffer.obj = bo;
> > dev_priv->gen_pmu.buffer.gtt_offset =
> > i915_gem_obj_ggtt_offset(bo);
> > + dev_priv->gen_pmu.buffer.vma = i915_gem_obj_to_ggtt(bo);
> > dev_priv->gen_pmu.buffer.addr = vmap_oa_buffer(bo);
> > INIT_LIST_HEAD(&dev_priv->gen_pmu.node_list);
>
> Still calling i915_gem_obj_to_ggtt(bo) twice! With pmu_buffer.vma you
> can drop pmu_buffer.gtt_offset and never be confused again.
> -Chris
>
Sorry, I'll have the one pertaining to gtt offset removed, and derive
the gtt offset field from the vma only.
More information about the Intel-gfx
mailing list