[igt-dev] [RFT v4 4/6] igt/i915: Require GTT mapping to be available when needed.
Antonio Argenziano
antonio.argenziano at intel.com
Thu Apr 11 21:27:17 UTC 2019
On 11/04/19 13:07, Chris Wilson wrote:
> Quoting Antonio Argenziano (2019-04-11 19:13:13)
>>
>>
>> On 27/03/19 14:19, Chris Wilson wrote:
>>> Quoting Antonio Argenziano (2019-03-27 21:05:52)
>>>>
>>>>
>>>> On 25/03/19 16:36, Chris Wilson wrote:
>>>>> Quoting Antonio Argenziano (2019-03-25 23:20:41)
>>>>>> diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
>>>>>> index a9383000..15c8440f 100644
>>>>>> --- a/tests/i915/gem_exec_schedule.c
>>>>>> +++ b/tests/i915/gem_exec_schedule.c
>>>>>> @@ -1236,6 +1236,7 @@ igt_main
>>>>>> igt_subtest_f("independent-%s", e->name) {
>>>>>> igt_require(gem_ring_has_physical_engine(fd, e->exec_id | e->flags));
>>>>>> igt_require(gem_can_store_dword(fd, e->exec_id | e->flags));
>>>>>> + gem_require_mmap_gtt(fd);
>>>>>> independent(fd, e->exec_id | e->flags);
>>>>>> }
>>>>>> }
>>>>>> @@ -1328,8 +1329,10 @@ igt_main
>>>>>> igt_subtest_f("wide-%s", e->name)
>>>>>> wide(fd, e->exec_id | e->flags);
>>>>>>
>>>>>> - igt_subtest_f("reorder-wide-%s", e->name)
>>>>>> + igt_subtest_f("reorder-wide-%s", e->name) {
>>>>>> + gem_require_mmap_gtt(fd);
>>>>>> reorder_wide(fd, e->exec_id | e->flags);
>>>>>> + }
>>>>>>
>>>>>> igt_subtest_f("smoketest-%s", e->name)
>>>>>> smoketest(fd, e->exec_id | e->flags, 5);
>>>>>
>>>>> Hmm. I would rather the basic scheduling tests remained functioning.
>>>>
>>>> Didn't we have a convincing argument against using wc + sync?
>>>
>>> Just the sync part iirc. So you just need to come up with an alternative
>>> solution. What I've used elsewhere is to write the ring timestamp from
>>> each batch and verify they are in the order I expect. That should work
>>> just fine with anything... (The most complicated thing there is actually
>>> determining the engine->mmio_base, and really we'd be better exporting
>>> that from the kernel for simplicity.)
>>
>> I think I'm missing something, the issue we had was the async update of
>> the single BO we use for all submissions (at least for reorder-wide)
>> needed to go though gtt mapping, wouldn't that still be there even if we
>> change the contents of the batch?
>
> I mean it should be possible to prove the scheduling order without
> relying on modifying the batches. The timestamp is a good indicator of
> the order, the only question is in setting up the submission to force a
> scheduling decision -- and that usually means a fence to delay HW
> submission until after all execbufs.
Oh, now I get it.
>
> Losing these tests for future gen should be enough motivation to devise
> a new set that exercise the same paths through the scheduler without the
> drawable of needing async gtt modifications (if it was just async gtt,
> async wc should be fine though -- I've forgotten the problem we ran into!).
Then we should be fine, it was just a concern, we didn't actually hit an
error. If I send it again, will fi-skl-lmem run it with all the lmem
patches applied?
Antonio
> -Chris
>
More information about the igt-dev
mailing list