On Tue, Jan 12, 2016 at 12:27:05PM +0200, Mika Kuoppala wrote: > > for_each_ring(ring, dev_priv, i) { > > - seqno[i] = ring->get_seqno(ring); > > acthd[i] = intel_ring_get_active_head(ring); > > + seqno[i] = ring->get_seqno(ring); > > Oh! Perhaps I am overly optimistic but did you just show how to solve > the 'hangcheck elapsed <random> ring idle..' coherency issue > in hangcheck? No. There are two causes, one is that we genuinely inspect the seqno before it is written in the interrupt bottom-half and the other is indeed the race you keep mentioning between the hangcheck looking at waiters and the waiter setting itself up. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx