[igt-dev] [PATCH i-g-t v6 7/9] igt/i915: Require GTT mapping to be available when needed.
Antonio Argenziano
antonio.argenziano at intel.com
Fri Jun 14 21:16:55 UTC 2019
On 14/06/19 02:54, Chris Wilson wrote:
> Quoting Antonio Argenziano (2019-06-13 22:54:46)
>> diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
>> index 7b418622..20b3404e 100644
>> --- a/tests/i915/gem_exec_schedule.c
>> +++ b/tests/i915/gem_exec_schedule.c
>> @@ -1660,6 +1660,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);
>> }
>> }
>> @@ -1761,8 +1762,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);
>> + }
>
> Drop these, I'd rather this test (gem_exec_schedule) outright fail and be
> forced to fix it up (it's a test I very much want to keep) then have it
> skip and overlook.
>
>> diff --git a/tests/i915/gem_largeobject.c b/tests/i915/gem_largeobject.c
>> index 518396fa..a2d47edc 100644
>> --- a/tests/i915/gem_largeobject.c
>> +++ b/tests/i915/gem_largeobject.c
>> @@ -84,6 +84,8 @@ igt_simple_main
>>
>> fd = drm_open_driver(DRIVER_INTEL);
>>
>> + gem_require_mmap_gtt(fd);
>
> Need to incorporate elsewhere. Or be satisfied with the essentials that
> we can allocate large objects. Now how large is a matter of debate, I
> think larger than memory but I haven't yet fixed the kernel.
Not sure what you mean here. Are you saying we should move the test, or
just have a large object allocation test added to something else?
>
>> +
>> test_large_object(fd);
>>
>> free(data);
>> diff --git a/tests/i915/gem_madvise.c b/tests/i915/gem_madvise.c
>> index bcaaa22e..ab45aa39 100644
>> --- a/tests/i915/gem_madvise.c
>> +++ b/tests/i915/gem_madvise.c
>> @@ -74,6 +74,8 @@ dontneed_before_mmap(void)
>> switch (mode) {
>> case GTT:
>
> Note for earlier patch, align case: to opening indent of switch().
> Also some earlier patches added some LOCALs that are already available
> from i915_drm.h
>
>> ptr = gem_mmap__gtt(fd, handle, OBJECT_SIZE, PROT_READ | PROT_WRITE);
>> + if (!gem_mmap__has_gtt(fd))
>> + continue;
>> break;
>> case CPU:
>> ptr = gem_mmap__cpu(fd, handle, 0, OBJECT_SIZE, PROT_READ | PROT_WRITE);
>> @@ -118,6 +120,8 @@ dontneed_after_mmap(void)
>> switch (mode) {
>> case GTT:
>> ptr = gem_mmap__gtt(fd, handle, OBJECT_SIZE, PROT_READ | PROT_WRITE);
>> + if (!gem_mmap__has_gtt(fd))
>> + continue;
>> break;
>
> Order is important.
Right, I was going for !ptr at some point but then changed my mind.
Antonio
> -Chris
>
More information about the igt-dev
mailing list