tests/i915/gem_sync.c :Added __for_each_physical_engine to utilize all available
PATCH v8 1/1 tests/i915/gem_sync.c :Added __for_each_physical_engine to utilize all available
Replaced the legacy for_each_engine* defines with the ones implemented in the gem_engine_topology library.
Used gem_context_clone_with_engines
to make sure that engine index was potentially created based on a default context with engine map configured.
V2:
Added Legacy engine coverage for sync_ring and sync_all.
V3:
Added back ALL_ENGINES. Corrected Test cases that used gem_reopen_driver in fork. Which was not recommended.
V4:
Removed gem_require_ring and gem_can_store_dword
V5:
Divided tests into static for ALL_Engine test cases and dynamic for multiple engine .
V6:
Rearranged test order to execute legacy test cases first
V7:
Initializing engine and engine name with
maximum supported engines value.
V8:
Replaced intel_execution_engine2 with intel_engine_data in subtests removed local array for Name and engines .
removed do_test function and code clean up
--- tests/i915/gem_sync.c | 360 +++++++++++++++++++++--------------------- 1 file changed, 183 insertions(+), 177 deletions(-)
tests/i915/gem_sync.c +183 -177
@@ -24,6 +24,9 @@#include <time.h> #include <pthread.h> +#include "igt_debugfs.h" +#include "igt_dummyload.h" +#include "igt_gt.h" #include "igt.h" #include "igt_sysfs.h"
@@ -37,6 +40,7 @@#define MIN_PRIO LOCAL_I915_CONTEXT_MIN_USER_PRIORITY#define ENGINE_MASK (I915_EXEC_RING_MASK | LOCAL_I915_EXEC_BSD_MASK) +#define EXECBUF_MAX_ENGINES (I915_EXEC_RING_MASK + 1)IGT_TEST_DESCRIPTION ("Basic check of ring<->ring write synchronisation." );
@@ -81,23 +85,16 @@ out:static void sync_ring (int fd,unsigned ring,int num_children,int timeout) { -unsigned engines[16 ]; -const char *names[16 ]; +struct intel_engine_data Iengines = { };int num_engines =0 ;if (ring ==ALL_ENGINES ) { -for_each_physical_engine (e, fd) { - names[num_engines] = e->name; - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; - } - - num_children *= num_engines; + Iengines =intel_init_engine_list (fd,0 ); + num_children *= Iengines.nengines; + num_engines =ARRAY_SIZE (Iengines.engines); }else {gem_require_ring (fd, ring); - names[num_engines] =NULL ; - engines[num_engines++] = ring; + Iengines.engines[num_engines++].flags = ring; }intel_detect_and_clear_missed_interrupts (fd);
@@ -115,7 +112,7 @@ sync_ring(int fd, unsigned ring, int num_children, int timeout)memset (&execbuf,0 ,sizeof (execbuf)); execbuf.buffers_ptr =to_user_pointer (&object); execbuf.buffer_count =1 ; - execbuf.flags = engines[child % num_engines]; + execbuf.flags = Iengines.engines[child % num_engines].flags;gem_execbuf (fd, &execbuf);gem_sync (fd, object.handle);
@@ -128,8 +125,8 @@ sync_ring(int fd, unsigned ring, int num_children, int timeout) }while (++cycles &1023 ); }while ((elapsed =gettime () - start) < timeout);igt_info ("%s%sompleted %ld cycles: %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" c" :"C" , + Iengines.engines[child % num_engines].name ?:"" , + Iengines.engines[child % num_engines].name ?" c" :"C" , cycles, elapsed*1e6 /cycles);gem_close (fd, object.handle);
@@ -139,7 +136,7 @@ sync_ring(int fd, unsigned ring, int num_children, int timeout) }static void -idle_ring (int fd,unsigned ring,int timeout) +idle_ring (int fd,unsigned int ring,int num_children,int timeout) {const uint32_t bbe =MI_BATCH_BUFFER_END ;struct drm_i915_gem_exec_object2 object;
@@ -180,26 +177,22 @@ idle_ring(int fd, unsigned ring, int timeout)static void wakeup_ring (int fd,unsigned ring,int timeout,int wlen) { -unsigned engines[16 ]; -const char *names[16 ]; +struct intel_engine_data Iengines = { };int num_engines =0 ;if (ring ==ALL_ENGINES ) { -for_each_physical_engine (e, fd) { -if (!gem_can_store_dword (fd,eb_ring (e))) + Iengines =intel_init_engine_list (fd,0 ); +for (unsigned int n =0 ; n < Iengines.nengines; n++) { +if (!gem_class_can_store_dword (fd, Iengines.engines->class))continue ; - names[num_engines] = e->name; - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; + num_engines = Iengines.nengines; }igt_require (num_engines); }else {gem_require_ring (fd, ring);igt_require (gem_can_store_dword (fd, ring)); - names[num_engines] =NULL ; - engines[num_engines++] = ring; + Iengines.engines[num_engines++].flags = ring; }intel_detect_and_clear_missed_interrupts (fd);
@@ -218,7 +211,7 @@ wakeup_ring(int fd, unsigned ring, int timeout, int wlen)memset (&execbuf,0 ,sizeof (execbuf)); execbuf.buffers_ptr =to_user_pointer (&object); execbuf.buffer_count =1 ; - execbuf.flags = engines[child % num_engines]; + execbuf.flags = Iengines.engines[child % num_engines].flags; spin = __igt_spin_new(fd, .engine = execbuf.flags,
@@ -252,8 +245,8 @@ wakeup_ring(int fd, unsigned ring, int timeout, int wlen) baseline = elapsed / cycles; }igt_info ("%s%saseline %ld cycles: %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" b" :"B" , + Iengines.engines[child % num_engines].name ?:"" , + Iengines.engines[child % num_engines].name ?" b" :"B" , cycles, elapsed*1e6 /cycles); end =gettime () + timeout;
@@ -279,8 +272,8 @@ wakeup_ring(int fd, unsigned ring, int timeout, int wlen) elapsed -= cycles * baseline;igt_info ("%s%sompleted %ld cycles: %.3f + %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" c" :"C" , + Iengines.engines[child % num_engines].name ?:"" , + Iengines.engines[child % num_engines].name ?" c" :"C" , cycles,1e6 *baseline, elapsed*1e6 /cycles);igt_spin_free (fd, spin);
@@ -290,28 +283,25 @@ wakeup_ring(int fd, unsigned ring, int timeout, int wlen)igt_assert_eq (intel_detect_and_clear_missed_interrupts (fd),0 ); } -static void active_ring (int fd,unsigned ring,int timeout) +static void active_ring (int fd,unsigned int ring, +int num_children,int timeout) { -unsigned engines[16 ]; -const char *names[16 ]; +struct intel_engine_data Iengines = { };int num_engines =0 ;if (ring ==ALL_ENGINES ) { -for_each_physical_engine (e, fd) { -if (!gem_can_store_dword (fd,eb_ring (e))) + Iengines =intel_init_engine_list (fd,0 ); +for (unsigned int n =0 ; n < Iengines.nengines; n++) { +if (!gem_class_can_store_dword (fd, Iengines.engines->class))continue ; - names[num_engines] = e->name; - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; + num_engines = Iengines.nengines; }igt_require (num_engines); }else {gem_require_ring (fd, ring);igt_require (gem_can_store_dword (fd, ring)); - names[num_engines] =NULL ; - engines[num_engines++] = ring; + Iengines.engines[num_engines++].flags = ring; }intel_detect_and_clear_missed_interrupts (fd);
@@ -321,11 +311,11 @@ static void active_ring(int fd, unsigned ring, int timeout)igt_spin_t *spin[2 ]; spin[0] = __igt_spin_new(fd, - .engine = ring, + .engine = Iengines.engines[child % num_engines].flags, .flags =IGT_SPIN_FAST ); spin[1] = __igt_spin_new(fd, - .engine = ring, + .engine = Iengines.engines[child % num_engines].flags, .flags =IGT_SPIN_FAST ); start =gettime ();
@@ -348,8 +338,8 @@ static void active_ring(int fd, unsigned ring, int timeout)igt_spin_free (fd, spin[0 ]);igt_info ("%s%sompleted %ld cycles: %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" c" :"C" , + Iengines.engines[child % num_engines].name ?:"" , + Iengines.engines[child % num_engines].name ?" c" :"C" , cycles, (elapsed - start)*1e6 /cycles); }igt_waitchildren_timeout (2 *timeout,NULL );
@@ -359,26 +349,22 @@ static void active_ring(int fd, unsigned ring, int timeout)static void active_wakeup_ring (int fd,unsigned ring,int timeout,int wlen) { -unsigned engines[16 ]; -const char *names[16 ]; +struct intel_engine_data Iengines = { };int num_engines =0 ;if (ring ==ALL_ENGINES ) { -for_each_physical_engine (e, fd) { -if (!gem_can_store_dword (fd,eb_ring (e))) + Iengines =intel_init_engine_list (fd,0 ); +for (unsigned int n =0 ; n < Iengines.nengines; n++) { +if (!gem_class_can_store_dword (fd, Iengines.engines->class))continue ; - names[num_engines] = e->name; - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; + num_engines = Iengines.nengines; }igt_require (num_engines); }else {gem_require_ring (fd, ring);igt_require (gem_can_store_dword (fd, ring)); - names[num_engines] =NULL ; - engines[num_engines++] = ring; + Iengines.engines[num_engines++].flags = ring; }intel_detect_and_clear_missed_interrupts (fd);
@@ -397,7 +383,7 @@ active_wakeup_ring(int fd, unsigned ring, int timeout, int wlen)memset (&execbuf,0 ,sizeof (execbuf)); execbuf.buffers_ptr =to_user_pointer (&object); execbuf.buffer_count =1 ; - execbuf.flags = engines[child % num_engines]; + execbuf.flags = Iengines.engines[child % num_engines].flags; spin[0] = __igt_spin_new(fd, .engine = execbuf.flags,
@@ -444,8 +430,8 @@ active_wakeup_ring(int fd, unsigned ring, int timeout, int wlen) baseline = elapsed / cycles; }igt_info ("%s%saseline %ld cycles: %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" b" :"B" , + Iengines.engines[child % num_engines].name ?:"" , + Iengines.engines[child % num_engines].name ?" b" :"B" , cycles, elapsed*1e6 /cycles);igt_spin_reset (spin[0 ]);
@@ -478,8 +464,8 @@ active_wakeup_ring(int fd, unsigned ring, int timeout, int wlen) elapsed -= cycles * baseline;igt_info ("%s%sompleted %ld cycles: %.3f + %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" c" :"C" , + Iengines.engines[child % num_engines].name ?:"" , + Iengines.engines[child % num_engines].name ?" c" :"C" , cycles,1e6 *baseline, elapsed*1e6 /cycles);igt_spin_free (fd, spin[1 ]);
@@ -493,28 +479,23 @@ active_wakeup_ring(int fd, unsigned ring, int timeout, int wlen)static void store_ring (int fd,unsigned ring,int num_children,int timeout) { +struct intel_engine_data Iengines = { };const int gen =intel_gen (intel_get_drm_devid (fd)); -unsigned engines[16 ]; -const char *names[16 ];int num_engines =0 ;if (ring ==ALL_ENGINES ) { -for_each_physical_engine (e, fd) { -if (!gem_can_store_dword (fd,eb_ring (e))) + Iengines =intel_init_engine_list (fd,0 ); +for (unsigned int n =0 ; n < Iengines.nengines; n++) { +if (!gem_class_can_store_dword (fd, Iengines.engines->class))continue ; - names[num_engines] = e->name; - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; + num_engines = Iengines.nengines; } - - num_children *= num_engines; + num_children *= num_engines; }else {gem_require_ring (fd, ring);igt_require (gem_can_store_dword (fd, ring)); - names[num_engines] =NULL ; - engines[num_engines++] = ring; + Iengines.engines[num_engines++].flags = ring; }intel_detect_and_clear_missed_interrupts (fd);
@@ -529,7 +510,7 @@ store_ring(int fd, unsigned ring, int num_children, int timeout)memset (&execbuf,0 ,sizeof (execbuf)); execbuf.buffers_ptr =to_user_pointer (object); - execbuf.flags = engines[child % num_engines]; + execbuf.flags = Iengines.engines[child % num_engines].flags; execbuf.flags |=LOCAL_I915_EXEC_NO_RELOC ; execbuf.flags |=LOCAL_I915_EXEC_HANDLE_LUT ;if (gen <6 )
@@ -594,8 +575,8 @@ store_ring(int fd, unsigned ring, int num_children, int timeout) }while (++cycles &1023 ); }while ((elapsed =gettime () - start) < timeout);igt_info ("%s%sompleted %ld cycles: %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" c" :"C" , + Iengines.engines[child % num_engines].name ?:"" , + Iengines.engines[child % num_engines].name ?" c" :"C" , cycles, elapsed*1e6 /cycles);gem_close (fd, object[1 ].handle);
@@ -608,30 +589,25 @@ store_ring(int fd, unsigned ring, int num_children, int timeout)static void switch_ring (int fd,unsigned ring,int num_children,int timeout) { +struct intel_engine_data Iengines = { };const int gen =intel_gen (intel_get_drm_devid (fd)); -unsigned engines[16 ]; -const char *names[16 ];int num_engines =0 ;gem_require_contexts (fd);if (ring ==ALL_ENGINES ) { -for_each_physical_engine (e, fd) { -if (!gem_can_store_dword (fd,eb_ring (e))) + Iengines =intel_init_engine_list (fd,0 ); +for (unsigned int n =0 ; n < Iengines.nengines; n++) { +if (!gem_class_can_store_dword (fd, Iengines.engines->class))continue ; - names[num_engines] = e->name; - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; + num_engines = Iengines.nengines; } - num_children *= num_engines; }else {gem_require_ring (fd, ring);igt_require (gem_can_store_dword (fd, ring)); - names[num_engines] =NULL ; - engines[num_engines++] = ring; + Iengines.engines[num_engines++].flags = ring; }intel_detect_and_clear_missed_interrupts (fd);
@@ -652,7 +628,7 @@ switch_ring(int fd, unsigned ring, int num_children, int timeout)memset (&c->execbuf,0 ,sizeof (c->execbuf)); c->execbuf.buffers_ptr =to_user_pointer (c->object); - c->execbuf.flags = engines[child % num_engines]; + c->execbuf.flags = Iengines.engines[child % num_engines].flags; c->execbuf.flags |=LOCAL_I915_EXEC_NO_RELOC ; c->execbuf.flags |=LOCAL_I915_EXEC_HANDLE_LUT ;if (gen <6 )
@@ -747,8 +723,8 @@ switch_ring(int fd, unsigned ring, int num_children, int timeout) elapsed /= cycles;igt_info ("%s%sompleted %ld cycles: %.3f us, baseline %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" c" :"C" , + Iengines.engines[child % num_engines].name ?:"" , + Iengines.engines[child % num_engines].name ?" c" :"C" , cycles, elapsed*1e6 , baseline*1e6 );for (int i =0 ; i <ARRAY_SIZE (contexts); i++) {
@@ -931,10 +907,11 @@ __store_many(int fd, unsigned ring, int timeout, unsigned long *cycles) }static void -store_many (int fd,unsigned ring,int timeout) +store_many (int fd,unsigned int ring,int num_children,int timeout) { +const struct intel_execution_engine2 *e2;unsigned long *shared; -const char *names[16 ]; +const char *names[EXECBUF_MAX_ENGINES ];int n =0 ; shared =mmap (NULL ,4096 ,PROT_WRITE ,MAP_SHARED |MAP_ANON ,-1 ,0 );
@@ -943,21 +920,20 @@ store_many(int fd, unsigned ring, int timeout)intel_detect_and_clear_missed_interrupts (fd);if (ring ==ALL_ENGINES ) { -for_each_physical_engine (e, fd) { -if (!gem_can_store_dword (fd,eb_ring (e))) +__for_each_physical_engine (fd, e2) { +if (!gem_class_can_store_dword (fd, e2->class))continue ; igt_fork(child, 1)__store_many (fd, -eb_ring (e), + e2->flags, timeout, &shared[n]); - names[n++] = e->name; + names[n++] =strdup (e2->name); }igt_waitchildren (); }else { -gem_require_ring (fd, ring);igt_require (gem_can_store_dword (fd, ring));__store_many (fd, ring, timeout, &shared[n]); names[n++] =NULL ;
@@ -965,7 +941,7 @@ store_many(int fd, unsigned ring, int timeout)for (int i =0 ; i < n; i++) {igt_info ("%s%sompleted %ld cycles\n" , - names[i] ?:"" , names[i] ?" c" :"C" , shared[i]); + names[i] ?:"" , names[i] ?" c" :"C" , shared[i]); }igt_assert_eq (intel_detect_and_clear_missed_interrupts (fd),0 );munmap (shared,4096 );
@@ -974,14 +950,14 @@ store_many(int fd, unsigned ring, int timeout)static void sync_all (int fd,int num_children,int timeout) { -unsigned engines[16 ]; +struct intel_engine_data Iengines = { }; +unsigned int engines[EXECBUF_MAX_ENGINES ];int num_engines =0 ; -for_each_physical_engine (e, fd) { - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; - } + Iengines =intel_init_engine_list (fd,0 ); +for (unsigned int n =0 ; n < Iengines.nengines; n++) + engines[num_engines++] = Iengines.engines[n].flags; +igt_require (num_engines);intel_detect_and_clear_missed_interrupts (fd);
@@ -1025,17 +1001,18 @@ sync_all(int fd, int num_children, int timeout)static void store_all (int fd,int num_children,int timeout) { +struct intel_engine_data Iengines = { };const int gen =intel_gen (intel_get_drm_devid (fd)); -unsigned engines[16 ]; +unsigned int engines[EXECBUF_MAX_ENGINES ];int num_engines =0 ; -for_each_physical_engine (e, fd) { -if (!gem_can_store_dword (fd,eb_ring (e))) + Iengines =intel_init_engine_list (fd,0 ); + +for (unsigned int n =0 ; n < Iengines.nengines; n++) { +if (!gem_class_can_store_dword (fd, Iengines.engines->class))continue ; - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; + engines[num_engines++] = Iengines.engines[n].flags; }igt_require (num_engines);
@@ -1132,24 +1109,17 @@ store_all(int fd, int num_children, int timeout)static void preempt (int fd,unsigned ring,int num_children,int timeout) { -unsigned engines[16 ]; -const char *names[16 ]; +struct intel_engine_data Iengines = { };int num_engines =0 ;uint32_t ctx[2 ];if (ring ==ALL_ENGINES ) { -for_each_physical_engine (e, fd) { - names[num_engines] = e->name; - engines[num_engines++] =eb_ring (e); -if (num_engines ==ARRAY_SIZE (engines)) -break ; - } - + Iengines =intel_init_engine_list (fd,0 ); + num_engines = Iengines.nengines; num_children *= num_engines; }else {gem_require_ring (fd, ring); - names[num_engines] =NULL ; - engines[num_engines++] = ring; + Iengines.engines[num_engines++].flags = ring; } ctx[0 ] =gem_context_create (fd);
@@ -1173,7 +1143,7 @@ preempt(int fd, unsigned ring, int num_children, int timeout)memset (&execbuf,0 ,sizeof (execbuf)); execbuf.buffers_ptr =to_user_pointer (&object); execbuf.buffer_count =1 ; - execbuf.flags = engines[child % num_engines]; + execbuf.flags = Iengines.engines[child % num_engines].flags; execbuf.rsvd1 = ctx[1 ];gem_execbuf (fd, &execbuf);gem_sync (fd, object.handle);
@@ -1194,8 +1164,8 @@ preempt(int fd, unsigned ring, int num_children, int timeout)igt_spin_free (fd, spin); }while ((elapsed =gettime () - start) < timeout);igt_info ("%s%sompleted %ld cycles: %.3f us\n" , - names[child % num_engines] ?:"" , - names[child % num_engines] ?" c" :"C" , + Iengines.engines[child % num_children].name ?:"" , + Iengines.engines[child % num_children].name ?" c" :"C" , cycles, elapsed*1e6 /cycles);gem_close (fd, object.handle);
@@ -1209,10 +1179,45 @@ preempt(int fd, unsigned ring, int num_children, int timeout) igt_main { -const struct intel_execution_engine *e;const int ncpus =sysconf (_SC_NPROCESSORS_ONLN);int fd =-1 ; +struct { +const char *name; +void (*func)(int fd,unsigned int engine, +int num_children,int timeout); +int num_children; +int timeout; + } *test, allengine[] = { + {"basic-each" , sync_ring,1 ,2 }, + {"basic-store-each" , store_ring,1 ,2 }, + {"basic-many-each" , store_many,0 ,2 }, + {"switch-each" , switch_ring,1 ,20 }, + {"forked-switch-each" , switch_ring, ncpus,20 }, + {"forked-each" , sync_ring, ncpus,20 }, + {"forked-store-each" , store_ring, ncpus,20 }, + {"active-each" , active_ring,0 ,20 }, + {"wakeup-each" , wakeup_ring,20 ,1 }, + {"active-wakeup-each" , active_wakeup_ring,20 ,1 }, + {"double-wakeup-each" , wakeup_ring,20 ,2 }, + {NULL ,NULL }, + }, tests[] = { + {"default" , sync_ring,1 ,20 }, + {"idle" , idle_ring,0 ,20 }, + {"active" , active_ring,0 ,20 }, + {"wakeup" , wakeup_ring,20 ,1 }, + {"active-wakeup" , active_wakeup_ring,20 ,1 }, + {"double-wakeup" , wakeup_ring,20 ,2 }, + {"store" , store_ring,1 ,20 }, + {"switch" , switch_ring,1 ,20 }, + {"forked-switch" , switch_ring, ncpus,20 }, + {"many" , store_many,0 ,20 }, + {"forked" , sync_ring, ncpus,20 }, + {"forked-store" , store_ring, ncpus,20 }, + {NULL ,NULL }, + }; + + igt_fixture { fd =drm_open_driver (DRIVER_INTEL );igt_require_gem (fd);
@@ -1222,55 +1227,22 @@ igt_mainigt_fork_hang_detector (fd); } -for (e = intel_execution_engines; e->name; e++) { - igt_subtest_f("%s", e->name) -sync_ring (fd,eb_ring (e),1 ,20 ); - igt_subtest_f("idle-%s", e->name) -idle_ring (fd,eb_ring (e),20 ); - igt_subtest_f("active-%s", e->name) -active_ring (fd,eb_ring (e),20 ); - igt_subtest_f("wakeup-%s", e->name) -wakeup_ring (fd,eb_ring (e),20 ,1 ); - igt_subtest_f("active-wakeup-%s", e->name) -active_wakeup_ring (fd,eb_ring (e),20 ,1 ); - igt_subtest_f("double-wakeup-%s", e->name) -wakeup_ring (fd,eb_ring (e),20 ,2 ); - igt_subtest_f("store-%s", e->name) -store_ring (fd,eb_ring (e),1 ,20 ); - igt_subtest_f("switch-%s", e->name) -switch_ring (fd,eb_ring (e),1 ,20 ); - igt_subtest_f("forked-switch-%s", e->name) -switch_ring (fd,eb_ring (e), ncpus,20 ); - igt_subtest_f("many-%s", e->name) -store_many (fd,eb_ring (e),20 ); - igt_subtest_f("forked-%s", e->name) -sync_ring (fd,eb_ring (e), ncpus,20 ); - igt_subtest_f("forked-store-%s", e->name) -store_ring (fd,eb_ring (e), ncpus,20 ); - } +/* legacy of selecting engines. */ - igt_subtest("basic-each") -sync_ring (fd,ALL_ENGINES ,1 ,2 ); - igt_subtest("basic-store-each") -store_ring (fd,ALL_ENGINES ,1 ,2 ); - igt_subtest("basic-many-each") -store_many (fd,ALL_ENGINES ,2 ); - igt_subtest("switch-each") -switch_ring (fd,ALL_ENGINES ,1 ,20 ); - igt_subtest("forked-switch-each") -switch_ring (fd,ALL_ENGINES , ncpus,20 ); - igt_subtest("forked-each") -sync_ring (fd,ALL_ENGINES , ncpus,20 ); - igt_subtest("forked-store-each") -store_ring (fd,ALL_ENGINES , ncpus,20 ); - igt_subtest("active-each") -active_ring (fd,ALL_ENGINES ,20 ); - igt_subtest("wakeup-each") -wakeup_ring (fd,ALL_ENGINES ,20 ,1 ); - igt_subtest("active-wakeup-each") -active_wakeup_ring (fd,ALL_ENGINES ,20 ,1 ); - igt_subtest("double-wakeup-each") -wakeup_ring (fd,ALL_ENGINES ,20 ,2 ); + igt_subtest_group { +for (test = tests; test->name; test++) { +igt_subtest_with_dynamic_f ("legacy-%s" , + test->name) { +for_each_physical_engine (e, fd) { + igt_dynamic_f("%s", e->name) { + test->func (fd,eb_ring (e), + test->num_children, + test->timeout); + } + } + } + } + } igt_subtest("basic-all")sync_all (fd,1 ,2 );
@@ -1286,7 +1258,39 @@ igt_main igt_subtest("forked-store-all")store_all (fd, ncpus,20 ); + +/* All Engines */ + igt_subtest_group { +for (test = allengine; test->name; test++) { + igt_subtest_f("%s", test->name) { + test->func (fd,ALL_ENGINES , + test->num_children, + test->timeout); + } + } + } + +/* New way of selecting engines. */ + igt_subtest_group { +const struct intel_execution_engine2 *e; + +for (test = tests; test->name; test++) { + igt_subtest_with_dynamic_f("%s", test->name) { +__for_each_physical_engine (fd, e) { + igt_dynamic_f("%s", e->name) { + test->func (fd, e->flags, + test->num_children, + test->timeout); + } + } + } + } + } + + igt_subtest_group { +const struct intel_execution_engine2 *e; + igt_fixture {gem_require_contexts (fd);igt_require (gem_scheduler_has_ctx_priority (fd));
@@ -1295,10 +1299,12 @@ igt_main igt_subtest("preempt-all")preempt (fd,ALL_ENGINES ,1 ,20 ); - -for (e = intel_execution_engines; e->name; e++) { - igt_subtest_f("preempt-%s", e->name) -preempt (fd,eb_ring (e), ncpus,20 ); + igt_subtest_with_dynamic("preempt") { +__for_each_physical_engine (fd, e) { +/* Requires master for STORE_DWORD on gen4/5 */ + igt_dynamic_f("%s", e->name) +preempt (fd, e->flags, ncpus,20 ); + } } }
Signature · 6 lines
2.25.1 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✗ GitLab.Pipeline: warning for tests/i915/gem_sync.c :Added __for_each_physical_engine to utilize all available (rev9)
== Series Details ==
== Series Details ==
Series: tests/i915/gem_sync.c :Added __for_each_physical_engine to utilize all available (rev9)
URL : https://patchwork.freedesktop.org/series/75536/
State : warning
== Summary ==
Did not get list of undocumented tests for this run, something is wrong!
Other than that, pipeline status: FAILED.
see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/136733 for the overview.
build:tests-fedora-clang has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/2414024):
Iengines.engines[child % num_engines].name ? " c" : "C", ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ~
../lib/igt_core.h:1193:62: note: expanded from macro 'igt_info'
#define igt_info(f...) igt_log(IGT_LOG_DOMAIN, IGT_LOG_INFO, f)
^
../tests/i915/gem_sync.c:1168:44: error: address of array 'Iengines.engines[child % num_children].name' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
Iengines.engines[child % num_children].name ? " c" : "C",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ~
../lib/igt_core.h:1193:62: note: expanded from macro 'igt_info'
#define igt_info(f...) igt_log(IGT_LOG_DOMAIN, IGT_LOG_INFO, f)
^ 9 errors generated.
ninja: build stopped: subcommand failed. section_end:1587662204:build_script section_start:1587662204:after_script section_end:1587662206:after_script section_start:1587662206:upload_artifacts_on_failure section_end:1587662208:upload_artifacts_on_failure
ERROR: Job failed: exit code 1
== Logs ==
For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/136733
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_sync.c :Added __for_each_physical_engine to utilize all available (rev9)
In reply to Arjun Melkaveri== Series Details ==
== Series Details ==
Series: tests/i915/gem_sync.c :Added __for_each_physical_engine to utilize all available (rev9)
URL : https://patchwork.freedesktop.org/series/75536/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8353 -> IGTPW_4503
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/index.html
Known issues
------------
Here are the changes found in IGTPW_4503 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_pm_rpm@module-reload:
- fi-skl-6700k2: [PASS][1] -> [INCOMPLETE][2] ([i915#151])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/fi-skl-6700k2/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/fi-skl-6700k2/igt@[email protected]
* igt@i915_selftest@live@execlists:
- fi-icl-y: [PASS][3] -> [DMESG-FAIL][4] ([i915#1314])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/fi-icl-y/igt@i915_selftest@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/fi-icl-y/igt@i915_selftest@[email protected]
* igt@i915_selftest@live@gt_contexts:
- fi-bwr-2160: [PASS][5] -> [INCOMPLETE][6] ([i915#1726] / [i915#489])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/fi-bwr-2160/igt@i915_selftest@live@gt_contexts.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/fi-bwr-2160/igt@i915_selftest@live@gt_contexts.html
[i915#1314]: https://gitlab.freedesktop.org/drm/intel/issues/1314
[i915#151]: https://gitlab.freedesktop.org/drm/intel/issues/151
[i915#1726]: https://gitlab.freedesktop.org/drm/intel/issues/1726
[i915#489]: https://gitlab.freedesktop.org/drm/intel/issues/489
Participating hosts (49 -> 43)
------------------------------
Missing (6): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5608 -> IGTPW_4503
CI-20190529: 20190529
CI_DRM_8353: ce2d0a17f95f9c6cdfed244b19da590d714d87ae @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4503: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/index.html
IGT_5608: e7bcaf1dd251d454706c7cd64282f531aec50183 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+++ 24 lines
--- 90 lines
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/index.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.IGT: success for tests/i915/gem_sync.c :Added __for_each_physical_engine to utilize all available (rev9)
In reply to Arjun Melkaveri== Series Details ==
== Series Details ==
Series: tests/i915/gem_sync.c :Added __for_each_physical_engine to utilize all available (rev9)
URL : https://patchwork.freedesktop.org/series/75536/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8353_full -> IGTPW_4503_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/index.html
Known issues
------------
Here are the changes found in IGTPW_4503_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_sync@basic-store-each:
- shard-snb: [PASS][1] -> [INCOMPLETE][2] ([i915#82]) +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-snb1/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-snb5/igt@[email protected]
* igt@i915_pm_rpm@system-suspend:
- shard-kbl: [PASS][3] -> [INCOMPLETE][4] ([i915#151] / [i915#155])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-kbl3/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-kbl6/igt@[email protected]
* igt@kms_big_fb@linear-32bpp-rotate-0:
- shard-kbl: [PASS][5] -> [FAIL][6] ([i915#1119] / [i915#93] / [i915#95])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-kbl4/igt@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-kbl6/igt@[email protected]
* igt@kms_big_fb@linear-32bpp-rotate-180:
- shard-apl: [PASS][7] -> [FAIL][8] ([i915#1119] / [i915#95]) +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl1/igt@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl1/igt@[email protected]
* igt@kms_cursor_crc@pipe-a-cursor-256x256-random:
- shard-kbl: [PASS][9] -> [FAIL][10] ([i915#54] / [i915#93] / [i915#95]) +1 similar issue
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-kbl3/igt@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-kbl7/igt@[email protected]
- shard-apl: [PASS][11] -> [FAIL][12] ([i915#54] / [i915#95])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl3/igt@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl8/igt@[email protected]
* igt@kms_cursor_crc@pipe-c-cursor-256x85-sliding:
- shard-apl: [PASS][13] -> [FAIL][14] ([i915#54])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl8/igt@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl1/igt@[email protected]
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk: [PASS][15] -> [FAIL][16] ([i915#72])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-glk9/igt@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-glk5/igt@[email protected]
* igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled:
- shard-glk: [PASS][17] -> [FAIL][18] ([i915#177] / [i915#52] / [i915#54])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-glk1/igt@[email protected]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-glk2/igt@[email protected]
* igt@kms_draw_crc@draw-method-rgb565-pwrite-ytiled:
- shard-glk: [PASS][19] -> [FAIL][20] ([i915#52] / [i915#54]) +3 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-glk7/igt@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-glk7/igt@[email protected]
* igt@kms_flip_tiling@flip-changes-tiling-yf:
- shard-kbl: [PASS][21] -> [FAIL][22] ([i915#699] / [i915#93] / [i915#95])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-kbl4/igt@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-kbl3/igt@[email protected]
- shard-apl: [PASS][23] -> [FAIL][24] ([i915#95])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl1/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl3/igt@[email protected]
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-apl: [PASS][25] -> [DMESG-WARN][26] ([i915#180]) +2 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl2/igt@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl1/igt@[email protected]
* igt@kms_psr@no_drrs:
- shard-iclb: [PASS][27] -> [FAIL][28] ([i915#173])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-iclb2/igt@kms_psr@no_drrs.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-iclb1/igt@kms_psr@no_drrs.html
* igt@kms_psr@psr2_sprite_blt:
- shard-iclb: [PASS][29] -> [SKIP][30] ([fdo#109441]) +2 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-iclb7/igt@kms_psr@psr2_sprite_blt.html
* igt@kms_vblank@pipe-c-ts-continuation-suspend:
- shard-tglb: [PASS][31] -> [INCOMPLETE][32] ([i915#1602] / [i915#456])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-tglb5/igt@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-tglb6/igt@[email protected]
#### Possible fixes ####
* igt@i915_suspend@forcewake:
- shard-kbl: [INCOMPLETE][33] ([i915#155]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-kbl1/igt@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-kbl2/igt@[email protected]
* igt@kms_cursor_crc@pipe-a-cursor-128x128-offscreen:
- shard-apl: [FAIL][35] ([i915#54] / [i915#95]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl3/igt@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl3/igt@[email protected]
* igt@kms_cursor_crc@pipe-a-cursor-64x64-offscreen:
- shard-kbl: [FAIL][37] ([i915#54] / [i915#93] / [i915#95]) -> [PASS][38] +1 similar issue
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-kbl7/igt@[email protected]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-kbl1/igt@[email protected]
* igt@kms_cursor_edge_walk@pipe-a-256x256-left-edge:
- shard-glk: [FAIL][39] ([i915#118] / [i915#70] / [i915#95]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-glk9/igt@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-glk1/igt@[email protected]
* igt@kms_draw_crc@draw-method-rgb565-mmap-wc-xtiled:
- shard-glk: [FAIL][41] ([i915#52] / [i915#54]) -> [PASS][42] +4 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-glk8/igt@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-glk5/igt@[email protected]
* {igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp1}:
- shard-apl: [FAIL][43] ([i915#46]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl4/igt@kms_flip@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl1/igt@kms_flip@[email protected]
* {igt@kms_flip@flip-vs-suspend-interruptible@c-dp1}:
- shard-apl: [DMESG-WARN][45] ([i915#180]) -> [PASS][46] +3 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl1/igt@kms_flip@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl3/igt@kms_flip@[email protected]
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-apl: [FAIL][47] ([i915#49] / [i915#95]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-apl8/igt@[email protected]
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-apl8/igt@[email protected]
- shard-kbl: [FAIL][49] ([i915#49]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-kbl2/igt@[email protected]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-kbl1/igt@[email protected]
* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [SKIP][51] ([fdo#109441]) -> [PASS][52] +2 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-iclb3/igt@kms_psr@psr2_primary_page_flip.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-kbl: [DMESG-WARN][53] ([i915#180]) -> [PASS][54] +2 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-kbl1/igt@[email protected]
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-kbl7/igt@[email protected]
* {igt@perf@polling-parameterized}:
- shard-hsw: [FAIL][55] ([i915#1542]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-hsw1/igt@[email protected]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-hsw7/igt@[email protected]
#### Warnings ####
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-iclb: [SKIP][57] ([i915#658]) -> [SKIP][58] ([i915#588])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-iclb3/igt@[email protected]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-iclb2/igt@[email protected]
* igt@i915_pm_dc@dc6-dpms:
- shard-tglb: [SKIP][59] ([i915#468]) -> [FAIL][60] ([i915#454])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-tglb2/igt@[email protected]
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-tglb7/igt@[email protected]
* igt@i915_pm_dc@dc6-psr:
- shard-tglb: [FAIL][61] ([i915#454]) -> [SKIP][62] ([i915#468])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-tglb5/igt@[email protected]
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-tglb2/igt@[email protected]
* igt@i915_pm_rpm@system-suspend:
- shard-snb: [INCOMPLETE][63] ([i915#82]) -> [SKIP][64] ([fdo#109271])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8353/shard-snb1/igt@[email protected]
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/shard-snb2/igt@[email protected]
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[i915#1119]: https://gitlab.freedesktop.org/drm/intel/issues/1119
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#151]: https://gitlab.freedesktop.org/drm/intel/issues/151
[i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
[i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
[i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
[i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
[i915#177]: https://gitlab.freedesktop.org/drm/intel/issues/177
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
[i915#46]: https://gitlab.freedesktop.org/drm/intel/issues/46
[i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
[i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
[i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#588]: https://gitlab.freedesktop.org/drm/intel/issues/588
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#699]: https://gitlab.freedesktop.org/drm/intel/issues/699
[i915#70]: https://gitlab.freedesktop.org/drm/intel/issues/70
[i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
[i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
Participating hosts (10 -> 8)
------------------------------
Missing (2): pig-skl-6260u pig-glk-j5005
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5608 -> IGTPW_4503
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_8353: ce2d0a17f95f9c6cdfed244b19da590d714d87ae @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4503: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4503/index.html
IGT_5608: e7bcaf1dd251d454706c7cd64282f531aec50183 @ 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_4503/index.html
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Quoting Arjun Melkaveri (2020-04-23 17:55:20)
tests/i915/gem_sync.c idle_ring(int fd, unsigned ring, int timeout) · line 186
Quoted 3 lines
tests/i915/gem_sync.c +3
-0+ Iengines =intel_init_engine_list (fd,0 ); +for (unsigned int n =0 ; n < Iengines.nengines; n++) { +if (!gem_class_can_store_dword (fd, Iengines.engines->class))
This bug was repeated a few times. Hopefully I fixed it all up and pushed.
-Chris
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev