[igt-dev] [PATCH i-g-t] i915/gem_exec_schedule: Exercise resolving of userspace semaphores

Chris Wilson chris at chris-wilson.co.uk
Thu Apr 25 11:16:21 UTC 2019


Quoting Mika Kuoppala (2019-04-25 11:40:13)
> Chris Wilson <chris at chris-wilson.co.uk> writes:
> > +             /* Now the semaphore is spinning, cancel it */
> > +             cancel = gem_create(i915, 4096);
> > +             cs = map = gem_mmap__cpu(i915, cancel, 0, 4096, PROT_WRITE);
> > +             *cs++ = MI_STORE_DWORD_IMM;
> > +             *cs++ = SEMAPHORE_ADDR;
> > +             *cs++ = 0;
> > +             *cs++ = 0;
> > +             *cs++ = MI_BATCH_BUFFER_END;
> > +             munmap(map, 4096);
> > +
> > +             memset(obj, 0, sizeof(obj));
> > +             obj[0].handle = semaphore;
> > +             obj[0].offset = SEMAPHORE_ADDR;
> > +             obj[0].flags = EXEC_OBJECT_PINNED;
> > +             obj[1].handle = cancel;
> > +             eb.buffer_count = 2;
> > +             eb.rsvd1 = inner;
> > +             gem_execbuf(i915, &eb);
> > +             gem_close(i915, cancel);
> > +
> > +             gem_sync(i915, handle); /* To hang unless cancel runs! */
> 
> Ok, well I am not exactly sure about the march order on here
> onwards. I mean that if the timeslicing is not yet there,
> we need to embrace the hang as a success?

It's just a known failure to be fixed. So long as it doesn't flip-flop,
only those looking at the failure reports (not the issues listed in the
CI summaries), cibuglog and bugzilla get annoyed.
 
> Tho perhaps the march...merge order is better discussed
> in the context of actual kernel side patch.

Much nicer to be able to point to a test failure being fixed, gives the
green jollies.
-Chris


More information about the igt-dev mailing list