On Mon, Nov 30, 2015 at 06:53:06PM +0200, Mika Kuoppala wrote: > Some operations that happen in ringbuffer, like flushing, > can take significant amounts of time. After some intense > shader tests, the PIPE_CONTROL with flush can apparently last > longer time than what is our hangcheck tick (1500ms). If > this happens twice in a row, even with subsequent batches, > the hangcheck score decaying mechanism can't cope and > hang is declared. > > Strip out actual head checking to a separate function and if > actual head has not moved, check if it is lingering inside the > ringbuffer as opposed to batch. If so, treat it as if it would be > inside loop to only slightly increment the hangcheck score. The PIPE_CONTROL in the ring after the batch, is equivalent to the batch performing its own PIPE_CONTROL as the last instruction. It does not make sense to distinguish the two. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx