* [igt-dev] [PATCH i-g-t 0/1] tests/i915/gem_ctx_persistence: Set context with supported engines
@ 2020-01-09 8:50 Bommu Krishnaiah
2020-01-09 8:50 ` [igt-dev] [PATCH i-g-t 1/1] " Bommu Krishnaiah
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Bommu Krishnaiah @ 2020-01-09 8:50 UTC (permalink / raw)
To: igt-dev; +Cc: Bommu Krishnaiah
Update the context with supported engines on the platform with set_property
I915_CONTEXT_PARAM_ENGINES to make sure the work load is submitted to
the available engines only.
Bommu Krishnaiah (1):
tests/i915/gem_ctx_persistence: Set context with supported engines
tests/i915/gem_ctx_persistence.c | 34 ++++++++++++++++++--------------
1 file changed, 19 insertions(+), 15 deletions(-)
--
2.24.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 8+ messages in thread* [igt-dev] [PATCH i-g-t 1/1] tests/i915/gem_ctx_persistence: Set context with supported engines 2020-01-09 8:50 [igt-dev] [PATCH i-g-t 0/1] tests/i915/gem_ctx_persistence: Set context with supported engines Bommu Krishnaiah @ 2020-01-09 8:50 ` Bommu Krishnaiah 2020-01-09 9:18 ` Chris Wilson 2020-01-09 10:45 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2020-01-09 20:37 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2 siblings, 1 reply; 8+ messages in thread From: Bommu Krishnaiah @ 2020-01-09 8:50 UTC (permalink / raw) To: igt-dev; +Cc: Bommu Krishnaiah, Tvrtko Ursulin Update the context with supported engines on the platform with set_property I915_CONTEXT_PARAM_ENGINES to make sure the work load is submitted to the available engines only. Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Bommu Krishnaiah <krishnaiah.bommu@intel.com> --- tests/i915/gem_ctx_persistence.c | 34 ++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c index d68431ae..e410e85f 100644 --- a/tests/i915/gem_ctx_persistence.c +++ b/tests/i915/gem_ctx_persistence.c @@ -145,6 +145,15 @@ static void test_clone(int i915) gem_context_destroy(i915, clone); } +static uint32_t create_context(int i915, bool persistent) +{ + uint32_t ctx; + + ctx = gem_context_create(i915); + gem_context_set_persistence(i915, ctx, persistent); + gem_context_set_all_engines(i915, ctx); + return ctx; +} static void test_persistence(int i915, unsigned int engine) { igt_spin_t *spin; @@ -156,8 +165,7 @@ static void test_persistence(int i915, unsigned int engine) * request is retired -- no early termination. */ - ctx = gem_context_create(i915); - gem_context_set_persistence(i915, ctx, true); + ctx = create_context(i915, true); spin = igt_spin_new(i915, ctx, .engine = engine, @@ -188,8 +196,7 @@ static void test_nonpersistent_cleanup(int i915, unsigned int engine) * any inflight request is cancelled. */ - ctx = gem_context_create(i915); - gem_context_set_persistence(i915, ctx, false); + ctx = create_context(i915, false); spin = igt_spin_new(i915, ctx, .engine = engine, @@ -217,8 +224,7 @@ static void test_nonpersistent_mixed(int i915, unsigned int engine) igt_spin_t *spin; uint32_t ctx; - ctx = gem_context_create(i915); - gem_context_set_persistence(i915, ctx, i & 1); + ctx = create_context(i915, i & 1); spin = igt_spin_new(i915, ctx, .engine = engine, @@ -253,8 +259,7 @@ static void test_nonpersistent_hostile(int i915, unsigned int engine) * the requests and cleanup the context. */ - ctx = gem_context_create(i915); - gem_context_set_persistence(i915, ctx, false); + ctx = create_context(i915, false); spin = igt_spin_new(i915, ctx, .engine = engine, @@ -284,8 +289,8 @@ static void test_nonpersistent_hostile_preempt(int i915, unsigned int engine) igt_require(gem_scheduler_has_preemption(i915)); - ctx = gem_context_create(i915); - gem_context_set_persistence(i915, ctx, true); + ctx = create_context(i915, true); + gem_context_set_priority(i915, ctx, 0); spin[0] = igt_spin_new(i915, ctx, .engine = engine, @@ -385,8 +390,8 @@ static void test_nonpersistent_queued(int i915, unsigned int engine) gem_quiescent_gpu(i915); - ctx = gem_context_create(i915); - gem_context_set_persistence(i915, ctx, false); + ctx = create_context(i915, false); + spin = igt_spin_new(i915, ctx, .engine = engine, .flags = IGT_SPIN_FENCE_OUT); @@ -512,8 +517,7 @@ static void test_process_mixed(int i915, unsigned int engine) igt_spin_t *spin; uint32_t ctx; - ctx = gem_context_create(i915); - gem_context_set_persistence(i915, ctx, persists); + ctx = create_context(i915, persists); spin = igt_spin_new(i915, ctx, .engine = engine, @@ -727,7 +731,7 @@ igt_main igt_subtest("hangcheck") test_nohangcheck_hostile(i915); - __for_each_static_engine(e) { + __for_each_physical_engine(i915, e) { igt_subtest_group { igt_fixture { gem_require_ring(i915, e->flags); -- 2.24.0 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/1] tests/i915/gem_ctx_persistence: Set context with supported engines 2020-01-09 8:50 ` [igt-dev] [PATCH i-g-t 1/1] " Bommu Krishnaiah @ 2020-01-09 9:18 ` Chris Wilson 2020-01-10 10:56 ` Tvrtko Ursulin 0 siblings, 1 reply; 8+ messages in thread From: Chris Wilson @ 2020-01-09 9:18 UTC (permalink / raw) To: Bommu Krishnaiah, igt-dev; +Cc: Bommu Krishnaiah, Tvrtko Ursulin Quoting Bommu Krishnaiah (2020-01-09 08:50:23) > Update the context with supported engines on the platform with set_property > I915_CONTEXT_PARAM_ENGINES to make sure the work load is submitted to > the available engines only. > > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Signed-off-by: Bommu Krishnaiah <krishnaiah.bommu@intel.com> > --- > tests/i915/gem_ctx_persistence.c | 34 ++++++++++++++++++-------------- > 1 file changed, 19 insertions(+), 15 deletions(-) > > diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c > index d68431ae..e410e85f 100644 > --- a/tests/i915/gem_ctx_persistence.c > +++ b/tests/i915/gem_ctx_persistence.c > @@ -145,6 +145,15 @@ static void test_clone(int i915) > gem_context_destroy(i915, clone); > } > > +static uint32_t create_context(int i915, bool persistent) > +{ > + uint32_t ctx; > + > + ctx = gem_context_create(i915); > + gem_context_set_persistence(i915, ctx, persistent); > + gem_context_set_all_engines(i915, ctx); Really? We only need a single engine, could you not be a little more precise. > + return ctx; > +} > static void test_persistence(int i915, unsigned int engine) > { > igt_spin_t *spin; > @@ -156,8 +165,7 @@ static void test_persistence(int i915, unsigned int engine) > * request is retired -- no early termination. > */ > > - ctx = gem_context_create(i915); > - gem_context_set_persistence(i915, ctx, true); > + ctx = create_context(i915, true); > > spin = igt_spin_new(i915, ctx, > .engine = engine, > @@ -188,8 +196,7 @@ static void test_nonpersistent_cleanup(int i915, unsigned int engine) > * any inflight request is cancelled. > */ > > - ctx = gem_context_create(i915); > - gem_context_set_persistence(i915, ctx, false); > + ctx = create_context(i915, false); > > spin = igt_spin_new(i915, ctx, > .engine = engine, > @@ -217,8 +224,7 @@ static void test_nonpersistent_mixed(int i915, unsigned int engine) > igt_spin_t *spin; > uint32_t ctx; > > - ctx = gem_context_create(i915); > - gem_context_set_persistence(i915, ctx, i & 1); > + ctx = create_context(i915, i & 1); > > spin = igt_spin_new(i915, ctx, > .engine = engine, > @@ -253,8 +259,7 @@ static void test_nonpersistent_hostile(int i915, unsigned int engine) > * the requests and cleanup the context. > */ > > - ctx = gem_context_create(i915); > - gem_context_set_persistence(i915, ctx, false); > + ctx = create_context(i915, false); > > spin = igt_spin_new(i915, ctx, > .engine = engine, > @@ -284,8 +289,8 @@ static void test_nonpersistent_hostile_preempt(int i915, unsigned int engine) > > igt_require(gem_scheduler_has_preemption(i915)); > > - ctx = gem_context_create(i915); > - gem_context_set_persistence(i915, ctx, true); > + ctx = create_context(i915, true); > + > gem_context_set_priority(i915, ctx, 0); > spin[0] = igt_spin_new(i915, ctx, > .engine = engine, > @@ -385,8 +390,8 @@ static void test_nonpersistent_queued(int i915, unsigned int engine) > > gem_quiescent_gpu(i915); > > - ctx = gem_context_create(i915); > - gem_context_set_persistence(i915, ctx, false); > + ctx = create_context(i915, false); > + > spin = igt_spin_new(i915, ctx, > .engine = engine, > .flags = IGT_SPIN_FENCE_OUT); > @@ -512,8 +517,7 @@ static void test_process_mixed(int i915, unsigned int engine) > igt_spin_t *spin; > uint32_t ctx; > > - ctx = gem_context_create(i915); > - gem_context_set_persistence(i915, ctx, persists); > + ctx = create_context(i915, persists); > > spin = igt_spin_new(i915, ctx, > .engine = engine, > @@ -727,7 +731,7 @@ igt_main > igt_subtest("hangcheck") > test_nohangcheck_hostile(i915); > > - __for_each_static_engine(e) { > + __for_each_physical_engine(i915, e) { Please note this has to check ABI. We have to confirm that no matter how the user tries to fool us, they cannot. So the gem_context_set_engines() should be considered a separate step, or a very, very persuasive argument made as to why we consider the multiple ABI paths equivalent, bearing in mind the security implications of getting it wrong. -Chris _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/1] tests/i915/gem_ctx_persistence: Set context with supported engines 2020-01-09 9:18 ` Chris Wilson @ 2020-01-10 10:56 ` Tvrtko Ursulin 2020-01-10 11:03 ` Chris Wilson 0 siblings, 1 reply; 8+ messages in thread From: Tvrtko Ursulin @ 2020-01-10 10:56 UTC (permalink / raw) To: Chris Wilson, Bommu Krishnaiah, igt-dev; +Cc: Tvrtko Ursulin These were my suggestions so I'll reply. :) On 09/01/2020 09:18, Chris Wilson wrote: > Quoting Bommu Krishnaiah (2020-01-09 08:50:23) >> Update the context with supported engines on the platform with set_property >> I915_CONTEXT_PARAM_ENGINES to make sure the work load is submitted to >> the available engines only. >> >> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> Signed-off-by: Bommu Krishnaiah <krishnaiah.bommu@intel.com> >> --- >> tests/i915/gem_ctx_persistence.c | 34 ++++++++++++++++++-------------- >> 1 file changed, 19 insertions(+), 15 deletions(-) >> >> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c >> index d68431ae..e410e85f 100644 >> --- a/tests/i915/gem_ctx_persistence.c >> +++ b/tests/i915/gem_ctx_persistence.c >> @@ -145,6 +145,15 @@ static void test_clone(int i915) >> gem_context_destroy(i915, clone); >> } >> >> +static uint32_t create_context(int i915, bool persistent) >> +{ >> + uint32_t ctx; >> + >> + ctx = gem_context_create(i915); >> + gem_context_set_persistence(i915, ctx, persistent); >> + gem_context_set_all_engines(i915, ctx); > > Really? We only need a single engine, could you not be a little more > precise. We have a general situation where as soon as we call __for_each_physical_engine, all code/subtests that follow and which create new contexts, which are then submitted mixing the flags from the iterated engines, needs to have a matching engine map. This stateful behaviour causes problems but it's what we have. I don't have any better ideas on how to universally go about this. > >> + return ctx; >> +} >> static void test_persistence(int i915, unsigned int engine) >> { >> igt_spin_t *spin; >> @@ -156,8 +165,7 @@ static void test_persistence(int i915, unsigned int engine) >> * request is retired -- no early termination. >> */ >> >> - ctx = gem_context_create(i915); >> - gem_context_set_persistence(i915, ctx, true); >> + ctx = create_context(i915, true); >> >> spin = igt_spin_new(i915, ctx, >> .engine = engine, >> @@ -188,8 +196,7 @@ static void test_nonpersistent_cleanup(int i915, unsigned int engine) >> * any inflight request is cancelled. >> */ >> >> - ctx = gem_context_create(i915); >> - gem_context_set_persistence(i915, ctx, false); >> + ctx = create_context(i915, false); >> >> spin = igt_spin_new(i915, ctx, >> .engine = engine, >> @@ -217,8 +224,7 @@ static void test_nonpersistent_mixed(int i915, unsigned int engine) >> igt_spin_t *spin; >> uint32_t ctx; >> >> - ctx = gem_context_create(i915); >> - gem_context_set_persistence(i915, ctx, i & 1); >> + ctx = create_context(i915, i & 1); >> >> spin = igt_spin_new(i915, ctx, >> .engine = engine, >> @@ -253,8 +259,7 @@ static void test_nonpersistent_hostile(int i915, unsigned int engine) >> * the requests and cleanup the context. >> */ >> >> - ctx = gem_context_create(i915); >> - gem_context_set_persistence(i915, ctx, false); >> + ctx = create_context(i915, false); >> >> spin = igt_spin_new(i915, ctx, >> .engine = engine, >> @@ -284,8 +289,8 @@ static void test_nonpersistent_hostile_preempt(int i915, unsigned int engine) >> >> igt_require(gem_scheduler_has_preemption(i915)); >> >> - ctx = gem_context_create(i915); >> - gem_context_set_persistence(i915, ctx, true); >> + ctx = create_context(i915, true); >> + >> gem_context_set_priority(i915, ctx, 0); >> spin[0] = igt_spin_new(i915, ctx, >> .engine = engine, >> @@ -385,8 +390,8 @@ static void test_nonpersistent_queued(int i915, unsigned int engine) >> >> gem_quiescent_gpu(i915); >> >> - ctx = gem_context_create(i915); >> - gem_context_set_persistence(i915, ctx, false); >> + ctx = create_context(i915, false); >> + >> spin = igt_spin_new(i915, ctx, >> .engine = engine, >> .flags = IGT_SPIN_FENCE_OUT); >> @@ -512,8 +517,7 @@ static void test_process_mixed(int i915, unsigned int engine) >> igt_spin_t *spin; >> uint32_t ctx; >> >> - ctx = gem_context_create(i915); >> - gem_context_set_persistence(i915, ctx, persists); >> + ctx = create_context(i915, persists); >> >> spin = igt_spin_new(i915, ctx, >> .engine = engine, >> @@ -727,7 +731,7 @@ igt_main >> igt_subtest("hangcheck") >> test_nohangcheck_hostile(i915); >> >> - __for_each_static_engine(e) { >> + __for_each_physical_engine(i915, e) { > > Please note this has to check ABI. We have to confirm that no matter how > the user tries to fool us, they cannot. So the gem_context_set_engines() > should be considered a separate step, or a very, very persuasive > argument made as to why we consider the multiple ABI paths equivalent, > bearing in mind the security implications of getting it wrong. So duplicate the subtest loop, first do ABI, then physical? for_each_engine(..) { ... igt_subtest_f("legacy-%s-persistence") test_persistence(..) ... } __for_each_physical_engine(..) { ... igt_subtest_f("%s-persistence") test_persistence(..) ... } Then in create_context helper we need to query the default context ( gem_context_has_engine_map) to establish if we need to call gem_context_set_all_engines or not. Acceptable? Regards, Tvrtko _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/1] tests/i915/gem_ctx_persistence: Set context with supported engines 2020-01-10 10:56 ` Tvrtko Ursulin @ 2020-01-10 11:03 ` Chris Wilson 2020-01-10 11:14 ` Tvrtko Ursulin 0 siblings, 1 reply; 8+ messages in thread From: Chris Wilson @ 2020-01-10 11:03 UTC (permalink / raw) To: Bommu Krishnaiah, Tvrtko Ursulin, igt-dev; +Cc: Tvrtko Ursulin Quoting Tvrtko Ursulin (2020-01-10 10:56:59) > > These were my suggestions so I'll reply. :) > > On 09/01/2020 09:18, Chris Wilson wrote: > > Quoting Bommu Krishnaiah (2020-01-09 08:50:23) > >> Update the context with supported engines on the platform with set_property > >> I915_CONTEXT_PARAM_ENGINES to make sure the work load is submitted to > >> the available engines only. > >> > >> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > >> Signed-off-by: Bommu Krishnaiah <krishnaiah.bommu@intel.com> > >> --- > >> tests/i915/gem_ctx_persistence.c | 34 ++++++++++++++++++-------------- > >> 1 file changed, 19 insertions(+), 15 deletions(-) > >> > >> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c > >> index d68431ae..e410e85f 100644 > >> --- a/tests/i915/gem_ctx_persistence.c > >> +++ b/tests/i915/gem_ctx_persistence.c > >> @@ -145,6 +145,15 @@ static void test_clone(int i915) > >> gem_context_destroy(i915, clone); > >> } > >> > >> +static uint32_t create_context(int i915, bool persistent) > >> +{ > >> + uint32_t ctx; > >> + > >> + ctx = gem_context_create(i915); > >> + gem_context_set_persistence(i915, ctx, persistent); > >> + gem_context_set_all_engines(i915, ctx); > > > > Really? We only need a single engine, could you not be a little more > > precise. > > We have a general situation where as soon as we call > __for_each_physical_engine, all code/subtests that follow and which > create new contexts, which are then submitted mixing the flags from the > iterated engines, needs to have a matching engine map. This stateful > behaviour causes problems but it's what we have. I don't have any better > ideas on how to universally go about this. > > > > >> + return ctx; > >> +} > >> static void test_persistence(int i915, unsigned int engine) > >> { > >> igt_spin_t *spin; > >> @@ -156,8 +165,7 @@ static void test_persistence(int i915, unsigned int engine) > >> * request is retired -- no early termination. > >> */ > >> > >> - ctx = gem_context_create(i915); > >> - gem_context_set_persistence(i915, ctx, true); > >> + ctx = create_context(i915, true); > >> > >> spin = igt_spin_new(i915, ctx, > >> .engine = engine, > >> @@ -188,8 +196,7 @@ static void test_nonpersistent_cleanup(int i915, unsigned int engine) > >> * any inflight request is cancelled. > >> */ > >> > >> - ctx = gem_context_create(i915); > >> - gem_context_set_persistence(i915, ctx, false); > >> + ctx = create_context(i915, false); > >> > >> spin = igt_spin_new(i915, ctx, > >> .engine = engine, > >> @@ -217,8 +224,7 @@ static void test_nonpersistent_mixed(int i915, unsigned int engine) > >> igt_spin_t *spin; > >> uint32_t ctx; > >> > >> - ctx = gem_context_create(i915); > >> - gem_context_set_persistence(i915, ctx, i & 1); > >> + ctx = create_context(i915, i & 1); > >> > >> spin = igt_spin_new(i915, ctx, > >> .engine = engine, > >> @@ -253,8 +259,7 @@ static void test_nonpersistent_hostile(int i915, unsigned int engine) > >> * the requests and cleanup the context. > >> */ > >> > >> - ctx = gem_context_create(i915); > >> - gem_context_set_persistence(i915, ctx, false); > >> + ctx = create_context(i915, false); > >> > >> spin = igt_spin_new(i915, ctx, > >> .engine = engine, > >> @@ -284,8 +289,8 @@ static void test_nonpersistent_hostile_preempt(int i915, unsigned int engine) > >> > >> igt_require(gem_scheduler_has_preemption(i915)); > >> > >> - ctx = gem_context_create(i915); > >> - gem_context_set_persistence(i915, ctx, true); > >> + ctx = create_context(i915, true); > >> + > >> gem_context_set_priority(i915, ctx, 0); > >> spin[0] = igt_spin_new(i915, ctx, > >> .engine = engine, > >> @@ -385,8 +390,8 @@ static void test_nonpersistent_queued(int i915, unsigned int engine) > >> > >> gem_quiescent_gpu(i915); > >> > >> - ctx = gem_context_create(i915); > >> - gem_context_set_persistence(i915, ctx, false); > >> + ctx = create_context(i915, false); > >> + > >> spin = igt_spin_new(i915, ctx, > >> .engine = engine, > >> .flags = IGT_SPIN_FENCE_OUT); > >> @@ -512,8 +517,7 @@ static void test_process_mixed(int i915, unsigned int engine) > >> igt_spin_t *spin; > >> uint32_t ctx; > >> > >> - ctx = gem_context_create(i915); > >> - gem_context_set_persistence(i915, ctx, persists); > >> + ctx = create_context(i915, persists); > >> > >> spin = igt_spin_new(i915, ctx, > >> .engine = engine, > >> @@ -727,7 +731,7 @@ igt_main > >> igt_subtest("hangcheck") > >> test_nohangcheck_hostile(i915); > >> > >> - __for_each_static_engine(e) { > >> + __for_each_physical_engine(i915, e) { > > > > Please note this has to check ABI. We have to confirm that no matter how > > the user tries to fool us, they cannot. So the gem_context_set_engines() > > should be considered a separate step, or a very, very persuasive > > argument made as to why we consider the multiple ABI paths equivalent, > > bearing in mind the security implications of getting it wrong. > > So duplicate the subtest loop, first do ABI, then physical? > > for_each_engine(..) { > ... > > igt_subtest_f("legacy-%s-persistence") > test_persistence(..) > ... > } > > __for_each_physical_engine(..) { > ... > > igt_subtest_f("%s-persistence") > test_persistence(..) > ... > } > > Then in create_context helper we need to query the default context ( > gem_context_has_engine_map) to establish if we need to call > gem_context_set_all_engines or not. > > Acceptable? Along the lines (I don't like gem_context_set_all_engines very much, and so will keep nagging.). However, talking about engines[] vs persistence opened up a can of worms, in that we need to keep silly/abusive engines[] to make sure a hostile user can not circumvent the DoS prevention. So the task got a bit bigger :-p -Chris _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/1] tests/i915/gem_ctx_persistence: Set context with supported engines 2020-01-10 11:03 ` Chris Wilson @ 2020-01-10 11:14 ` Tvrtko Ursulin 0 siblings, 0 replies; 8+ messages in thread From: Tvrtko Ursulin @ 2020-01-10 11:14 UTC (permalink / raw) To: Chris Wilson, Bommu Krishnaiah, igt-dev; +Cc: Tvrtko Ursulin On 10/01/2020 11:03, Chris Wilson wrote: > Quoting Tvrtko Ursulin (2020-01-10 10:56:59) >> >> These were my suggestions so I'll reply. :) >> >> On 09/01/2020 09:18, Chris Wilson wrote: >>> Quoting Bommu Krishnaiah (2020-01-09 08:50:23) >>>> Update the context with supported engines on the platform with set_property >>>> I915_CONTEXT_PARAM_ENGINES to make sure the work load is submitted to >>>> the available engines only. >>>> >>>> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >>>> Signed-off-by: Bommu Krishnaiah <krishnaiah.bommu@intel.com> >>>> --- >>>> tests/i915/gem_ctx_persistence.c | 34 ++++++++++++++++++-------------- >>>> 1 file changed, 19 insertions(+), 15 deletions(-) >>>> >>>> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c >>>> index d68431ae..e410e85f 100644 >>>> --- a/tests/i915/gem_ctx_persistence.c >>>> +++ b/tests/i915/gem_ctx_persistence.c >>>> @@ -145,6 +145,15 @@ static void test_clone(int i915) >>>> gem_context_destroy(i915, clone); >>>> } >>>> >>>> +static uint32_t create_context(int i915, bool persistent) >>>> +{ >>>> + uint32_t ctx; >>>> + >>>> + ctx = gem_context_create(i915); >>>> + gem_context_set_persistence(i915, ctx, persistent); >>>> + gem_context_set_all_engines(i915, ctx); >>> >>> Really? We only need a single engine, could you not be a little more >>> precise. >> >> We have a general situation where as soon as we call >> __for_each_physical_engine, all code/subtests that follow and which >> create new contexts, which are then submitted mixing the flags from the >> iterated engines, needs to have a matching engine map. This stateful >> behaviour causes problems but it's what we have. I don't have any better >> ideas on how to universally go about this. >> >>> >>>> + return ctx; >>>> +} >>>> static void test_persistence(int i915, unsigned int engine) >>>> { >>>> igt_spin_t *spin; >>>> @@ -156,8 +165,7 @@ static void test_persistence(int i915, unsigned int engine) >>>> * request is retired -- no early termination. >>>> */ >>>> >>>> - ctx = gem_context_create(i915); >>>> - gem_context_set_persistence(i915, ctx, true); >>>> + ctx = create_context(i915, true); >>>> >>>> spin = igt_spin_new(i915, ctx, >>>> .engine = engine, >>>> @@ -188,8 +196,7 @@ static void test_nonpersistent_cleanup(int i915, unsigned int engine) >>>> * any inflight request is cancelled. >>>> */ >>>> >>>> - ctx = gem_context_create(i915); >>>> - gem_context_set_persistence(i915, ctx, false); >>>> + ctx = create_context(i915, false); >>>> >>>> spin = igt_spin_new(i915, ctx, >>>> .engine = engine, >>>> @@ -217,8 +224,7 @@ static void test_nonpersistent_mixed(int i915, unsigned int engine) >>>> igt_spin_t *spin; >>>> uint32_t ctx; >>>> >>>> - ctx = gem_context_create(i915); >>>> - gem_context_set_persistence(i915, ctx, i & 1); >>>> + ctx = create_context(i915, i & 1); >>>> >>>> spin = igt_spin_new(i915, ctx, >>>> .engine = engine, >>>> @@ -253,8 +259,7 @@ static void test_nonpersistent_hostile(int i915, unsigned int engine) >>>> * the requests and cleanup the context. >>>> */ >>>> >>>> - ctx = gem_context_create(i915); >>>> - gem_context_set_persistence(i915, ctx, false); >>>> + ctx = create_context(i915, false); >>>> >>>> spin = igt_spin_new(i915, ctx, >>>> .engine = engine, >>>> @@ -284,8 +289,8 @@ static void test_nonpersistent_hostile_preempt(int i915, unsigned int engine) >>>> >>>> igt_require(gem_scheduler_has_preemption(i915)); >>>> >>>> - ctx = gem_context_create(i915); >>>> - gem_context_set_persistence(i915, ctx, true); >>>> + ctx = create_context(i915, true); >>>> + >>>> gem_context_set_priority(i915, ctx, 0); >>>> spin[0] = igt_spin_new(i915, ctx, >>>> .engine = engine, >>>> @@ -385,8 +390,8 @@ static void test_nonpersistent_queued(int i915, unsigned int engine) >>>> >>>> gem_quiescent_gpu(i915); >>>> >>>> - ctx = gem_context_create(i915); >>>> - gem_context_set_persistence(i915, ctx, false); >>>> + ctx = create_context(i915, false); >>>> + >>>> spin = igt_spin_new(i915, ctx, >>>> .engine = engine, >>>> .flags = IGT_SPIN_FENCE_OUT); >>>> @@ -512,8 +517,7 @@ static void test_process_mixed(int i915, unsigned int engine) >>>> igt_spin_t *spin; >>>> uint32_t ctx; >>>> >>>> - ctx = gem_context_create(i915); >>>> - gem_context_set_persistence(i915, ctx, persists); >>>> + ctx = create_context(i915, persists); >>>> >>>> spin = igt_spin_new(i915, ctx, >>>> .engine = engine, >>>> @@ -727,7 +731,7 @@ igt_main >>>> igt_subtest("hangcheck") >>>> test_nohangcheck_hostile(i915); >>>> >>>> - __for_each_static_engine(e) { >>>> + __for_each_physical_engine(i915, e) { >>> >>> Please note this has to check ABI. We have to confirm that no matter how >>> the user tries to fool us, they cannot. So the gem_context_set_engines() >>> should be considered a separate step, or a very, very persuasive >>> argument made as to why we consider the multiple ABI paths equivalent, >>> bearing in mind the security implications of getting it wrong. >> >> So duplicate the subtest loop, first do ABI, then physical? >> >> for_each_engine(..) { >> ... >> >> igt_subtest_f("legacy-%s-persistence") >> test_persistence(..) >> ... >> } >> >> __for_each_physical_engine(..) { >> ... >> >> igt_subtest_f("%s-persistence") >> test_persistence(..) >> ... >> } >> >> Then in create_context helper we need to query the default context ( >> gem_context_has_engine_map) to establish if we need to call >> gem_context_set_all_engines or not. >> >> Acceptable? > > Along the lines (I don't like gem_context_set_all_engines very much, and > so will keep nagging.). However, talking about engines[] vs persistence > opened up a can of worms, in that we need to keep silly/abusive > engines[] to make sure a hostile user can not circumvent the DoS > prevention. So the task got a bit bigger :-p Let Bommu finish a simple task first if you can live with the above plan. And even this simple task is not so simple as demonstrated! :) More evil testing can be then added later. Regards, Tvrtko _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_ctx_persistence: Set context with supported engines 2020-01-09 8:50 [igt-dev] [PATCH i-g-t 0/1] tests/i915/gem_ctx_persistence: Set context with supported engines Bommu Krishnaiah 2020-01-09 8:50 ` [igt-dev] [PATCH i-g-t 1/1] " Bommu Krishnaiah @ 2020-01-09 10:45 ` Patchwork 2020-01-09 20:37 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2020-01-09 10:45 UTC (permalink / raw) To: Bommu Krishnaiah; +Cc: igt-dev == Series Details == Series: tests/i915/gem_ctx_persistence: Set context with supported engines URL : https://patchwork.freedesktop.org/series/71810/ State : success == Summary == CI Bug Log - changes from CI_DRM_7705 -> IGTPW_3908 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_3908: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@gem_exec_suspend@basic-s4-devices: - {fi-ehl-1}: NOTRUN -> [INCOMPLETE][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-ehl-1/igt@gem_exec_suspend@basic-s4-devices.html Known issues ------------ Here are the changes found in IGTPW_3908 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_module_load@reload-with-fault-injection: - fi-skl-6700k2: [PASS][2] -> [DMESG-WARN][3] ([i915#889]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-skl-6700k2/igt@i915_module_load@reload-with-fault-injection.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-skl-6700k2/igt@i915_module_load@reload-with-fault-injection.html * igt@i915_selftest@live_gem_contexts: - fi-cfl-guc: [PASS][4] -> [INCOMPLETE][5] ([fdo#106070] / [i915#424]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [PASS][6] -> [FAIL][7] ([fdo#111407]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html #### Possible fixes #### * igt@gem_close_race@basic-threads: - fi-byt-j1900: [TIMEOUT][8] ([i915#816]) -> [PASS][9] [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-byt-j1900/igt@gem_close_race@basic-threads.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-byt-j1900/igt@gem_close_race@basic-threads.html * igt@gem_exec_fence@nb-await-default: - {fi-ehl-1}: [INCOMPLETE][10] -> [PASS][11] [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-ehl-1/igt@gem_exec_fence@nb-await-default.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-ehl-1/igt@gem_exec_fence@nb-await-default.html * igt@i915_module_load@reload-with-fault-injection: - fi-cfl-8700k: [INCOMPLETE][12] ([i915#505]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-cfl-8700k/igt@i915_module_load@reload-with-fault-injection.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-cfl-8700k/igt@i915_module_load@reload-with-fault-injection.html - fi-kbl-x1275: [INCOMPLETE][14] ([i915#879]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-kbl-x1275/igt@i915_module_load@reload-with-fault-injection.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-kbl-x1275/igt@i915_module_load@reload-with-fault-injection.html * igt@i915_pm_rpm@module-reload: - fi-kbl-guc: [SKIP][16] ([fdo#109271]) -> [PASS][17] [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live_blt: - fi-hsw-4770: [DMESG-FAIL][18] ([i915#553] / [i915#725]) -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-hsw-4770/igt@i915_selftest@live_blt.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-hsw-4770/igt@i915_selftest@live_blt.html * igt@kms_flip@basic-flip-vs-wf_vblank: - fi-skl-6770hq: [INCOMPLETE][20] ([i915#435]) -> [PASS][21] [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/fi-skl-6770hq/igt@kms_flip@basic-flip-vs-wf_vblank.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/fi-skl-6770hq/igt@kms_flip@basic-flip-vs-wf_vblank.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407 [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424 [i915#435]: https://gitlab.freedesktop.org/drm/intel/issues/435 [i915#505]: https://gitlab.freedesktop.org/drm/intel/issues/505 [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553 [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725 [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816 [i915#879]: https://gitlab.freedesktop.org/drm/intel/issues/879 [i915#889]: https://gitlab.freedesktop.org/drm/intel/issues/889 Participating hosts (38 -> 45) ------------------------------ Additional (12): fi-bdw-5557u fi-bsw-n3050 fi-hsw-peppy fi-snb-2520m fi-gdg-551 fi-ivb-3770 fi-bsw-kefka fi-skl-lmem fi-blb-e6850 fi-kbl-r fi-skl-6600u fi-snb-2600 Missing (5): fi-hsw-4770r fi-byt-squawks fi-ctg-p8600 fi-kbl-7560u fi-tgl-y Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5358 -> IGTPW_3908 CI-20190529: 20190529 CI_DRM_7705: b57ea8cadecd3444690439b4703d964afca476e1 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_3908: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/index.html IGT_5358: c6fc013f414b806175dc4143c58ab445e5235ea5 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for tests/i915/gem_ctx_persistence: Set context with supported engines 2020-01-09 8:50 [igt-dev] [PATCH i-g-t 0/1] tests/i915/gem_ctx_persistence: Set context with supported engines Bommu Krishnaiah 2020-01-09 8:50 ` [igt-dev] [PATCH i-g-t 1/1] " Bommu Krishnaiah 2020-01-09 10:45 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork @ 2020-01-09 20:37 ` Patchwork 2 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2020-01-09 20:37 UTC (permalink / raw) To: Bommu Krishnaiah; +Cc: igt-dev == Series Details == Series: tests/i915/gem_ctx_persistence: Set context with supported engines URL : https://patchwork.freedesktop.org/series/71810/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7705_full -> IGTPW_3908_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_3908_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_3908_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_3908_full: ### IGT changes ### #### Possible regressions #### * igt@gem_persistent_relocs@forked-faulting-reloc: - shard-snb: [PASS][1] -> [DMESG-WARN][2] +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-snb6/igt@gem_persistent_relocs@forked-faulting-reloc.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-snb4/igt@gem_persistent_relocs@forked-faulting-reloc.html * igt@i915_pm_rps@reset: - shard-apl: [PASS][3] -> [DMESG-WARN][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-apl3/igt@i915_pm_rps@reset.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-apl1/igt@i915_pm_rps@reset.html #### Warnings #### * igt@runner@aborted: - shard-apl: [FAIL][5] ([i915#940]) -> [FAIL][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-apl1/igt@runner@aborted.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-apl1/igt@runner@aborted.html Known issues ------------ Here are the changes found in IGTPW_3908_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@vcs1-reset: - shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#109276] / [fdo#112080]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb2/igt@gem_ctx_isolation@vcs1-reset.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb3/igt@gem_ctx_isolation@vcs1-reset.html * igt@gem_ctx_shared@q-smoketest-blt: - shard-tglb: [PASS][9] -> [INCOMPLETE][10] ([fdo#111735]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb1/igt@gem_ctx_shared@q-smoketest-blt.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb9/igt@gem_ctx_shared@q-smoketest-blt.html * igt@gem_exec_parallel@basic: - shard-tglb: [PASS][11] -> [INCOMPLETE][12] ([i915#472] / [i915#476]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb2/igt@gem_exec_parallel@basic.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb8/igt@gem_exec_parallel@basic.html * igt@gem_exec_schedule@in-order-bsd: - shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#112146]) +2 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb3/igt@gem_exec_schedule@in-order-bsd.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb2/igt@gem_exec_schedule@in-order-bsd.html * igt@gem_exec_schedule@pi-common-bsd: - shard-iclb: [PASS][15] -> [SKIP][16] ([i915#677]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb7/igt@gem_exec_schedule@pi-common-bsd.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb4/igt@gem_exec_schedule@pi-common-bsd.html * igt@gem_exec_schedule@preempt-queue-bsd1: - shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109276]) +20 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd1.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb3/igt@gem_exec_schedule@preempt-queue-bsd1.html * igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1: - shard-tglb: [PASS][19] -> [INCOMPLETE][20] ([fdo#111677] / [i915#472]) +1 similar issue [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb1/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb8/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1.html * igt@gem_exec_schedule@preempt-queue-contexts-chain-vebox: - shard-tglb: [PASS][21] -> [INCOMPLETE][22] ([fdo#111606] / [fdo#111677] / [i915#472]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb1/igt@gem_exec_schedule@preempt-queue-contexts-chain-vebox.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb6/igt@gem_exec_schedule@preempt-queue-contexts-chain-vebox.html * igt@gem_exec_schedule@smoketest-all: - shard-tglb: [PASS][23] -> [INCOMPLETE][24] ([i915#463] / [i915#472]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb5/igt@gem_exec_schedule@smoketest-all.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb2/igt@gem_exec_schedule@smoketest-all.html * igt@gem_exec_suspend@basic-s3-devices: - shard-tglb: [PASS][25] -> [INCOMPLETE][26] ([i915#460] / [i915#472]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb9/igt@gem_exec_suspend@basic-s3-devices.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb3/igt@gem_exec_suspend@basic-s3-devices.html * igt@gem_persistent_relocs@forked-interruptible-thrashing: - shard-snb: [PASS][27] -> [FAIL][28] ([i915#520]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-snb5/igt@gem_persistent_relocs@forked-interruptible-thrashing.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-snb2/igt@gem_persistent_relocs@forked-interruptible-thrashing.html * igt@gem_ppgtt@flink-and-close-vma-leak: - shard-glk: [PASS][29] -> [FAIL][30] ([i915#644]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-glk1/igt@gem_ppgtt@flink-and-close-vma-leak.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-glk7/igt@gem_ppgtt@flink-and-close-vma-leak.html * igt@gen9_exec_parse@allowed-all: - shard-glk: [PASS][31] -> [DMESG-WARN][32] ([i915#716]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-glk1/igt@gen9_exec_parse@allowed-all.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-glk8/igt@gen9_exec_parse@allowed-all.html * igt@i915_pm_dc@dc5-dpms: - shard-iclb: [PASS][33] -> [FAIL][34] ([i915#447]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb2/igt@i915_pm_dc@dc5-dpms.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb3/igt@i915_pm_dc@dc5-dpms.html * igt@i915_pm_rps@waitboost: - shard-iclb: [PASS][35] -> [FAIL][36] ([i915#413]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb4/igt@i915_pm_rps@waitboost.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb6/igt@i915_pm_rps@waitboost.html * igt@i915_suspend@sysfs-reader: - shard-apl: [PASS][37] -> [DMESG-WARN][38] ([i915#180]) +4 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-apl1/igt@i915_suspend@sysfs-reader.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-apl1/igt@i915_suspend@sysfs-reader.html * igt@kms_cursor_crc@pipe-a-cursor-suspend: - shard-kbl: [PASS][39] -> [DMESG-WARN][40] ([i915#180]) +2 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html * igt@kms_cursor_crc@pipe-b-cursor-64x21-random: - shard-glk: [PASS][41] -> [FAIL][42] ([i915#54]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-glk8/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-glk3/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html - shard-apl: [PASS][43] -> [FAIL][44] ([i915#54]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-apl4/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-apl1/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html - shard-kbl: [PASS][45] -> [FAIL][46] ([i915#54]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-kbl3/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-kbl2/igt@kms_cursor_crc@pipe-b-cursor-64x21-random.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render: - shard-tglb: [PASS][47] -> [FAIL][48] ([i915#49]) +3 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render.html * igt@kms_psr2_su@page_flip: - shard-iclb: [PASS][49] -> [SKIP][50] ([fdo#109642] / [fdo#111068]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb2/igt@kms_psr2_su@page_flip.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb5/igt@kms_psr2_su@page_flip.html * igt@kms_psr@psr2_cursor_plane_onoff: - shard-iclb: [PASS][51] -> [SKIP][52] ([fdo#109441]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb1/igt@kms_psr@psr2_cursor_plane_onoff.html * igt@perf_pmu@busy-no-semaphores-vcs1: - shard-iclb: [PASS][53] -> [SKIP][54] ([fdo#112080]) +17 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb1/igt@perf_pmu@busy-no-semaphores-vcs1.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb8/igt@perf_pmu@busy-no-semaphores-vcs1.html #### Possible fixes #### * igt@gem_busy@extended-parallel-vcs1: - shard-iclb: [SKIP][55] ([fdo#112080]) -> [PASS][56] +9 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb3/igt@gem_busy@extended-parallel-vcs1.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb4/igt@gem_busy@extended-parallel-vcs1.html * igt@gem_ctx_isolation@vcs1-none: - shard-iclb: [SKIP][57] ([fdo#109276] / [fdo#112080]) -> [PASS][58] +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb3/igt@gem_ctx_isolation@vcs1-none.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb2/igt@gem_ctx_isolation@vcs1-none.html * igt@gem_exec_await@wide-all: - shard-tglb: [INCOMPLETE][59] ([fdo#111736] / [i915#472]) -> [PASS][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb8/igt@gem_exec_await@wide-all.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb1/igt@gem_exec_await@wide-all.html * igt@gem_exec_balancer@smoke: - shard-iclb: [SKIP][61] ([fdo#110854]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb7/igt@gem_exec_balancer@smoke.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb2/igt@gem_exec_balancer@smoke.html * igt@gem_exec_create@forked: - shard-apl: [TIMEOUT][63] ([i915#940]) -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-apl1/igt@gem_exec_create@forked.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-apl6/igt@gem_exec_create@forked.html * igt@gem_exec_gttfill@basic: - shard-tglb: [INCOMPLETE][65] ([fdo#111593] / [i915#472]) -> [PASS][66] +1 similar issue [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb6/igt@gem_exec_gttfill@basic.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb1/igt@gem_exec_gttfill@basic.html * igt@gem_exec_reuse@single: - shard-tglb: [INCOMPLETE][67] ([CI#80] / [i915#472]) -> [PASS][68] [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb3/igt@gem_exec_reuse@single.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb6/igt@gem_exec_reuse@single.html * igt@gem_exec_schedule@pi-distinct-iova-bsd: - shard-iclb: [SKIP][69] ([i915#677]) -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb2/igt@gem_exec_schedule@pi-distinct-iova-bsd.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb3/igt@gem_exec_schedule@pi-distinct-iova-bsd.html * igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd: - shard-iclb: [SKIP][71] ([fdo#112146]) -> [PASS][72] +4 similar issues [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb1/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb5/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd.html * igt@gem_exec_schedule@smoketest-bsd1: - shard-tglb: [INCOMPLETE][73] ([i915#463] / [i915#472]) -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb6/igt@gem_exec_schedule@smoketest-bsd1.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb5/igt@gem_exec_schedule@smoketest-bsd1.html * igt@gem_persistent_relocs@forked-thrashing: - shard-iclb: [FAIL][75] ([i915#520]) -> [PASS][76] [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb8/igt@gem_persistent_relocs@forked-thrashing.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb1/igt@gem_persistent_relocs@forked-thrashing.html * igt@gem_userptr_blits@sync-unmap-cycles: - shard-snb: [DMESG-WARN][77] ([fdo#111870]) -> [PASS][78] +2 similar issues [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-snb2/igt@gem_userptr_blits@sync-unmap-cycles.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-snb4/igt@gem_userptr_blits@sync-unmap-cycles.html * igt@gem_workarounds@suspend-resume-fd: - shard-kbl: [DMESG-WARN][79] ([i915#180]) -> [PASS][80] +5 similar issues [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-kbl4/igt@gem_workarounds@suspend-resume-fd.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-kbl3/igt@gem_workarounds@suspend-resume-fd.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible: - shard-glk: [FAIL][81] ([i915#79]) -> [PASS][82] [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-glk6/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render: - shard-tglb: [FAIL][83] ([i915#49]) -> [PASS][84] [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render.html * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping: - shard-tglb: [INCOMPLETE][85] -> [PASS][86] [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb2/igt@kms_plane@pixel-format-pipe-c-planes-source-clamping.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb5/igt@kms_plane@pixel-format-pipe-c-planes-source-clamping.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-apl: [DMESG-WARN][87] ([i915#180]) -> [PASS][88] +1 similar issue [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-apl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-apl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_psr@psr2_primary_mmap_gtt: - shard-iclb: [SKIP][89] ([fdo#109441]) -> [PASS][90] +2 similar issues [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb6/igt@kms_psr@psr2_primary_mmap_gtt.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend: - shard-kbl: [INCOMPLETE][91] ([fdo#103665]) -> [PASS][92] [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-kbl1/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html * igt@perf@oa-exponents: - shard-tglb: [FAIL][93] ([i915#84]) -> [PASS][94] [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb6/igt@perf@oa-exponents.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb5/igt@perf@oa-exponents.html * igt@prime_busy@hang-bsd2: - shard-iclb: [SKIP][95] ([fdo#109276]) -> [PASS][96] +11 similar issues [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb7/igt@prime_busy@hang-bsd2.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb2/igt@prime_busy@hang-bsd2.html #### Warnings #### * igt@gem_ctx_persistence@vcs1-queued: - shard-iclb: [SKIP][97] ([fdo#109276] / [fdo#112080]) -> [SKIP][98] ([fdo#112080]) +8 similar issues [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb5/igt@gem_ctx_persistence@vcs1-queued.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb5/igt@gem_ctx_persistence@vcs1-queued.html * igt@kms_atomic_transition@6x-modeset-transitions-fencing: - shard-tglb: [SKIP][99] ([fdo#112021]) -> [SKIP][100] ([fdo#112016] / [fdo#112021]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-tglb9/igt@kms_atomic_transition@6x-modeset-transitions-fencing.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-tglb1/igt@kms_atomic_transition@6x-modeset-transitions-fencing.html * igt@kms_dp_dsc@basic-dsc-enable-edp: - shard-iclb: [DMESG-WARN][101] ([fdo#107724]) -> [SKIP][102] ([fdo#109349]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7705/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/shard-iclb8/igt@kms_dp_dsc@basic-dsc-enable-edp.html [CI#80]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/80 [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665 [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593 [fdo#111606]: https://bugs.freedesktop.org/show_bug.cgi?id=111606 [fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677 [fdo#111735]: https://bugs.freedesktop.org/show_bug.cgi?id=111735 [fdo#111736]: https://bugs.freedesktop.org/show_bug.cgi?id=111736 [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870 [fdo#112016]: https://bugs.freedesktop.org/show_bug.cgi?id=112016 [fdo#112021]: https://bugs.freedesktop.org/show_bug.cgi?id=112021 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413 [i915#447]: https://gitlab.freedesktop.org/drm/intel/issues/447 [i915#460]: https://gitlab.freedesktop.org/drm/intel/issues/460 [i915#463]: https://gitlab.freedesktop.org/drm/intel/issues/463 [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472 [i915#476]: https://gitlab.freedesktop.org/drm/intel/issues/476 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#520]: https://gitlab.freedesktop.org/drm/intel/issues/520 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#84]: https://gitlab.freedesktop.org/drm/intel/issues/84 [i915#940]: https://gitlab.freedesktop.org/drm/intel/issues/940 Participating hosts (11 -> 8) ------------------------------ Missing (3): pig-skl-6260u pig-glk-j5005 pig-hsw-4770r Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_5358 -> IGTPW_3908 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_7705: b57ea8cadecd3444690439b4703d964afca476e1 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_3908: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/index.html IGT_5358: c6fc013f414b806175dc4143c58ab445e5235ea5 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3908/index.html _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-01-10 11:14 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-01-09 8:50 [igt-dev] [PATCH i-g-t 0/1] tests/i915/gem_ctx_persistence: Set context with supported engines Bommu Krishnaiah 2020-01-09 8:50 ` [igt-dev] [PATCH i-g-t 1/1] " Bommu Krishnaiah 2020-01-09 9:18 ` Chris Wilson 2020-01-10 10:56 ` Tvrtko Ursulin 2020-01-10 11:03 ` Chris Wilson 2020-01-10 11:14 ` Tvrtko Ursulin 2020-01-09 10:45 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2020-01-09 20:37 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox