On Tue, Oct 04, 2016 at 03:35:20PM +0300, Mika Kuoppala wrote:
> Chris Wilson <[email protected]> writes:
> > +           rcu_read_unlock();
> > +
> > +           addr = intel_engine_get_active_head(engine);
> > +           seq_printf(m, "\tACTHD:  0x%08x_%08x\n",
> > +                      upper_32_bits(addr), lower_32_bits(addr));
> > +           addr = intel_engine_get_last_batch_head(engine);
> > +           seq_printf(m, "\tBBADDR: 0x%08x_%08x\n",
> > +                      upper_32_bits(addr), lower_32_bits(addr));
> > +
> > +           if (i915.enable_execlists) {
> > +                   u32 ptr, read, write;
> >
> 
> Ok, in here I am thinking that the requests in ports would be intresting
> also. But it seems impossible to sample the ports without taking
> locks. And we don't want to go there.

It's even worse than that. execlist_port[] are entirely unlocked and
only updated by the sole owner. However... We can read them under the
rcu guarantee that the requests themselves will not disappear (with the
exception that the contents may be reallocated - but not explode!).
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to