[Intel-gfx] [PATCH v2 15/38] drm/i915: Test simultaneously submitting requests to all engines
Chris Wilson
chris at chris-wilson.co.uk
Wed Feb 1 10:15:58 UTC 2017
On Wed, Feb 01, 2017 at 10:03:07AM +0200, Joonas Lahtinen wrote:
> On to, 2017-01-19 at 11:41 +0000, Chris Wilson wrote:
> > + if (gen >= 8) {
> > + *cmd++ = MI_BATCH_BUFFER_START | 1 << 8 | 1;
> > + *cmd++ = lower_32_bits(vma->node.start);
> > + *cmd++ = upper_32_bits(vma->node.start);
> > + } else if (gen >= 6) {
> > + *cmd++ = MI_BATCH_BUFFER_START | 1 << 8;
> > + *cmd++ = lower_32_bits(vma->node.start);
> > + } else if (gen >= 4) {
> > + *cmd++ = MI_BATCH_BUFFER_START | MI_BATCH_GTT;
> > + *cmd++ = lower_32_bits(vma->node.start);
> > + } else {
> > + *cmd++ = MI_BATCH_BUFFER_START | MI_BATCH_GTT | 1;
> > + *cmd++ = lower_32_bits(vma->node.start);
> > + }
>
> I'm sure this is not first time I see this hunk.
Of this variant, it is. What's really frustating is that we almost have
the right vfuncs. Tempted to build a dummy request to reuse the current
emitters....
> <SNIP>
>
> > + if (i915->gpu_error.missed_irq_rings) {
> > + pr_err("%s: Missed interrupts on rings %lx\n", __func__,
> > + i915->gpu_error.missed_irq_rings);
> > + err = -EIO;
> > + goto out_request;
> > + }
>
> Should we have a running missed_irqs counter too? Just wondering.
Since then we now have begin_live_test(&t); end_live_test(&t) that does
the hang/missed checking.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list