tests/gem_shrink: Background, direct and OOM shrinker plus userptr tests
From: Tvrtko Ursulin <[email protected]>
...
--- tests/i915/gem_shrink.c | 213 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+)
tests/i915/gem_shrink.c +213 -0
@@ -26,6 +26,9 @@* * Exercise the shrinker by overallocating GEM objects */ +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> #include "igt.h" #include "igt_gt.h"
@@ -366,6 +369,210 @@ static void reclaim(unsigned engine, int timeout)close (fd); } +static unsigned long get_meminfo (const char *info,const char *tag) +{ +const char *str; +unsigned long val; + + str =strstr (info, tag); +if (str &&sscanf (str +strlen (tag)," %lu" , &val) ==1 ) +return val >>10 ; + +igt_warn ("Unrecognised /proc/meminfo field: '%s'\n" , tag); +return 0 ; +} + +static unsigned long get_avail_ram_mb (void ) +{ +int fd; +int ret; +char buf[4096 ]; +unsigned long ram; + + fd =open ("/proc/meminfo" ,O_RDONLY ); +igt_assert_fd (fd); + + ret =read (fd, buf,sizeof (buf)); +igt_assert (ret >=0 ); + +close (fd); + + ram =get_meminfo (buf,"MemAvailable:" ); + ram +=get_meminfo (buf,"Buffers:" ); + ram +=get_meminfo (buf,"Cached:" ); + ram +=get_meminfo (buf,"SwapCached:" ); + +return ram; +} + +struct test { +#define TEST_BO (1) +#define TEST_USERPTR (2) +unsigned int flags; +int fd; +}; + +static uint32_t __get_pages (int fd,unsigned long alloc) +{ +uint32_t handle =gem_create (fd, alloc); + +gem_set_domain (fd, handle,I915_GEM_DOMAIN_GTT ,0 ); +gem_madvise (fd, handle,I915_MADV_DONTNEED ); + +return handle; +} + +struct test_obj { +void *ptr; +uint32_t handle; +}; + +static void +__get_userptr (int fd,struct test_obj *obj,unsigned long sz) +{ +struct local_i915_gem_userptr userptr = { }; +void *ptr; + +igt_assert_eq (sz &4095 ,0 ); + + ptr =mmap (NULL , sz,PROT_WRITE ,MAP_PRIVATE |MAP_ANONYMOUS ,-1 ,0 ); +assert (ptr !=MAP_FAILED ); + + userptr.user_size = sz; + userptr.user_ptr =to_user_pointer (ptr); +do_ioctl (fd,LOCAL_IOCTL_I915_GEM_USERPTR , &userptr); + +gem_set_domain (fd, userptr.handle,I915_GEM_DOMAIN_GTT ,0 ); + + obj->ptr = ptr; + obj->handle = userptr.handle; +} + +#define PAGE_SIZE 4096 +static void *mempressure (void *arg) +{ +struct test_obj *list =NULL ; +struct test *test = arg; +const unsigned int sz_mb =2 ; +const unsigned int sz = sz_mb <<20 ; +unsigned int n =0 , max =0 ; +unsigned int blocks; + +while (true) { +unsigned long ram_mb =get_avail_ram_mb (); + +if (!list) { + blocks = ram_mb / sz_mb; + list =calloc (blocks,sizeof (*list)); +igt_assert (list); + }else if (ram_mb <256 ) { + blocks = max +1 ; + } + +if (list[n].ptr || list[n].handle) { +if (test->flags &TEST_BO ) +gem_close (test->fd, list[n].handle); +else +munmap (list[n].ptr, sz); + } + +if (test->flags &TEST_BO ) { + list[n].handle =__get_pages (test->fd, sz); + }else if (test->flags &TEST_USERPTR ) { +__get_userptr (test->fd, &list[n], sz); + }else { + list[n].ptr =mmap (NULL , sz,PROT_WRITE , +MAP_PRIVATE |MAP_ANONYMOUS ,-1 ,0 ); +assert (list[n].ptr !=MAP_FAILED ); + +madvise (list[n].ptr, sz,MADV_HUGEPAGE ); + +for (size_t page =0 ; page < sz; page +=PAGE_SIZE ) + *(volatile uint32_t *)((unsigned char *)list[n].ptr + page) =0 ; + } + +if (n > max) + max = n; + + n++; + +if (n >= blocks) + n =0 ; + } + +return NULL ; +} + +static void oom_adjust (const char *score) +{ +int fd; + + fd =open ("/proc/self/oom_score_adj" ,O_WRONLY ); +igt_assert_fd (fd); +igt_assert (write (fd, score,sizeof (score)) ==sizeof (score)); +close (fd); +} + +static void trigger_oom (void ) +{ +const char *cmd ="f" ; +int fd; + + fd =open ("/proc/sysrq-trigger" ,O_WRONLY ); +igt_assert_fd (fd); +igt_assert (write (fd, cmd,sizeof (cmd)) ==sizeof (cmd)); +close (fd); +} + +static void reclaim_oom (unsigned int flags) +{ +unsigned int count =0 ; + +igt_assert_eq (__builtin_popcount (flags),1 ); + +oom_adjust ("-1000" ); + +do { +struct igt_helper_process gem_child = { }; +struct igt_helper_process mem_child = { }; + +igt_debug ("Iteration %u...\n" , ++count); + + igt_fork_helper(&mem_child) { +struct test mem = { }; + +oom_adjust ("500" ); +mempressure (&mem); + } + + igt_fork_helper(&gem_child) { +struct test gem = { .flags = flags }; + +oom_adjust ("500" ); + + gem.fd =drm_open_driver (DRIVER_INTEL ); +igt_require_gem (gem.fd); + +mempressure (&gem); + +close (gem.fd); + } + +for (unsigned long ram_mb =0 ; + (ram_mb =get_avail_ram_mb ()) >512 ;) { +igt_debug ("[%u] %lu free mb\n" , count, ram_mb); +sleep (1 ); + } + +trigger_oom (); + +sleep (1 ); + +igt_stop_helper (&mem_child); +igt_stop_helper (&gem_child); + }while (count <300 ); +} + igt_main { const struct test {
@@ -432,6 +639,12 @@ igt_main igt_subtest("reclaim")reclaim (I915_EXEC_DEFAULT ,2 ); + igt_subtest("two-reclaims-and-oom") +reclaim_oom (TEST_BO ); + + igt_subtest("two-reclaims-and-oom-userptr") +reclaim_oom (TEST_USERPTR ); +for (const struct test *t = tests; t->name; t++) {for (const struct mode *m = modes; m->suffix; m++) {igt_subtest_f ("%s%s" , t->name, m->suffix)
Signature · 6 lines
2.19.1 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
PATCH v2 1/1 tests/gem_shrink: Background, direct and OOM shrinker plus userptr tests
From: Tvrtko Ursulin <[email protected]>
...
--- tests/i915/gem_shrink.c | 213 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+)
tests/i915/gem_shrink.c +213 -0
@@ -26,6 +26,9 @@* * Exercise the shrinker by overallocating GEM objects */ +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> #include "igt.h" #include "igt_gt.h"
@@ -366,6 +369,210 @@ static void reclaim(unsigned engine, int timeout)close (fd); } +static unsigned long get_meminfo (const char *info,const char *tag) +{ +const char *str; +unsigned long val; + + str =strstr (info, tag); +if (str &&sscanf (str +strlen (tag)," %lu" , &val) ==1 ) +return val >>10 ; + +igt_warn ("Unrecognised /proc/meminfo field: '%s'\n" , tag); +return 0 ; +} + +static unsigned long get_avail_ram_mb (void ) +{ +int fd; +int ret; +char buf[4096 ]; +unsigned long ram; + + fd =open ("/proc/meminfo" ,O_RDONLY ); +igt_assert_fd (fd); + + ret =read (fd, buf,sizeof (buf)); +igt_assert (ret >=0 ); + +close (fd); + + ram =get_meminfo (buf,"MemAvailable:" ); + ram +=get_meminfo (buf,"Buffers:" ); + ram +=get_meminfo (buf,"Cached:" ); + ram +=get_meminfo (buf,"SwapCached:" ); + +return ram; +} + +struct test { +#define TEST_BO (1) +#define TEST_USERPTR (2) +unsigned int flags; +int fd; +}; + +static uint32_t __get_pages (int fd,unsigned long alloc) +{ +uint32_t handle =gem_create (fd, alloc); + +gem_set_domain (fd, handle,I915_GEM_DOMAIN_GTT ,0 ); +gem_madvise (fd, handle,I915_MADV_DONTNEED ); + +return handle; +} + +struct test_obj { +void *ptr; +uint32_t handle; +}; + +static void +__get_userptr (int fd,struct test_obj *obj,unsigned long sz) +{ +struct local_i915_gem_userptr userptr = { }; +void *ptr; + +igt_assert_eq (sz &4095 ,0 ); + + ptr =mmap (NULL , sz,PROT_WRITE ,MAP_PRIVATE |MAP_ANONYMOUS ,-1 ,0 ); +assert (ptr !=MAP_FAILED ); + + userptr.user_size = sz; + userptr.user_ptr =to_user_pointer (ptr); +do_ioctl (fd,LOCAL_IOCTL_I915_GEM_USERPTR , &userptr); + +gem_set_domain (fd, userptr.handle,I915_GEM_DOMAIN_GTT ,0 ); + + obj->ptr = ptr; + obj->handle = userptr.handle; +} + +#define PAGE_SIZE 4096 +static void *mempressure (void *arg) +{ +struct test_obj *list =NULL ; +struct test *test = arg; +const unsigned int sz_mb =2 ; +const unsigned int sz = sz_mb <<20 ; +unsigned int n =0 , max =0 ; +unsigned int blocks; + +while (true) { +unsigned long ram_mb =get_avail_ram_mb (); + +if (!list) { + blocks = ram_mb / sz_mb; + list =calloc (blocks,sizeof (*list)); +igt_assert (list); + }else if (ram_mb <256 ) { + blocks = max +1 ; + } + +if (list[n].ptr || list[n].handle) { +if (test->flags &TEST_BO ) +gem_close (test->fd, list[n].handle); +else +munmap (list[n].ptr, sz); + } + +if (test->flags &TEST_BO ) { + list[n].handle =__get_pages (test->fd, sz); + }else if (test->flags &TEST_USERPTR ) { +__get_userptr (test->fd, &list[n], sz); + }else { + list[n].ptr =mmap (NULL , sz,PROT_WRITE , +MAP_PRIVATE |MAP_ANONYMOUS ,-1 ,0 ); +assert (list[n].ptr !=MAP_FAILED ); + +madvise (list[n].ptr, sz,MADV_HUGEPAGE ); + +for (size_t page =0 ; page < sz; page +=PAGE_SIZE ) + *(volatile uint32_t *)((unsigned char *)list[n].ptr + page) =0 ; + } + +if (n > max) + max = n; + + n++; + +if (n >= blocks) + n =0 ; + } + +return NULL ; +} + +static void oom_adjust (const char *score) +{ +int fd; + + fd =open ("/proc/self/oom_score_adj" ,O_WRONLY ); +igt_assert_fd (fd); +igt_assert (write (fd, score,sizeof (score)) ==sizeof (score)); +close (fd); +} + +static void trigger_oom (void ) +{ +const char *cmd ="f" ; +int fd; + + fd =open ("/proc/sysrq-trigger" ,O_WRONLY ); +igt_assert_fd (fd); +igt_assert (write (fd, cmd,sizeof (cmd)) ==sizeof (cmd)); +close (fd); +} + +static void reclaim_oom (unsigned int flags) +{ +unsigned int count =0 ; + +igt_assert_eq (__builtin_popcount (flags),1 ); + +oom_adjust ("-1000" ); + +do { +struct igt_helper_process gem_child = { }; +struct igt_helper_process mem_child = { }; + +igt_debug ("Iteration %u...\n" , ++count); + + igt_fork_helper(&mem_child) { +struct test mem = { }; + +oom_adjust ("500" ); +mempressure (&mem); + } + + igt_fork_helper(&gem_child) { +struct test gem = { .flags = flags }; + +oom_adjust ("500" ); + + gem.fd =drm_open_driver (DRIVER_INTEL ); +igt_require_gem (gem.fd); + +mempressure (&gem); + +close (gem.fd); + } + +for (unsigned long ram_mb =0 ; + (ram_mb =get_avail_ram_mb ()) >512 ;) { +igt_debug ("[%u] %lu free mb\n" , count, ram_mb); +sleep (1 ); + } + +trigger_oom (); + +sleep (1 ); + +igt_stop_helper (&mem_child); +igt_stop_helper (&gem_child); + }while (count <5 ); +} + igt_main { const struct test {
@@ -432,6 +639,12 @@ igt_main igt_subtest("reclaim")reclaim (I915_EXEC_DEFAULT ,2 ); + igt_subtest("two-reclaims-and-oom") +reclaim_oom (TEST_BO ); + + igt_subtest("two-reclaims-and-oom-userptr") +reclaim_oom (TEST_USERPTR ); +for (const struct test *t = tests; t->name; t++) {for (const struct mode *m = modes; m->suffix; m++) {igt_subtest_f ("%s%s" , t->name, m->suffix)
Signature · 6 lines
2.19.1 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for tests/gem_shrink: Background, direct and OOM shrinker plus userptr tests (rev2)
In reply to Tvrtko Ursulin== Series Details ==
== Series Details ==
Series: tests/gem_shrink: Background, direct and OOM shrinker plus userptr tests (rev2)
URL : https://patchwork.freedesktop.org/series/53647/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_5274 -> IGTPW_2127
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/53647/revisions/2/mbox/
Known issues
------------
Here are the changes found in IGTPW_2127 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live_contexts:
- {fi-icl-u3}: NOTRUN -> INCOMPLETE [fdo#108315]
* igt@i915_selftest@live_workarounds:
- {fi-icl-u3}: NOTRUN -> DMESG-FAIL [fdo#108954]
* igt@kms_chamelium@common-hpd-after-suspend:
- {fi-kbl-7567u}: NOTRUN -> DMESG-WARN [fdo#108473]
* igt@kms_chamelium@dp-crc-fast:
- {fi-kbl-7500u}: NOTRUN -> FAIL [fdo#103841] +8
* {igt@runner@aborted}:
- {fi-icl-u3}: NOTRUN -> FAIL [fdo#108866]
- {fi-icl-y}: NOTRUN -> FAIL [fdo#108070]
#### Possible fixes ####
* igt@i915_selftest@live_execlists:
- fi-apl-guc: INCOMPLETE [fdo#103927] / [fdo#108622] -> PASS
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103841]: https://bugs.freedesktop.org/show_bug.cgi?id=103841
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#108070]: https://bugs.freedesktop.org/show_bug.cgi?id=108070
[fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315
[fdo#108473]: https://bugs.freedesktop.org/show_bug.cgi?id=108473
[fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
[fdo#108866]: https://bugs.freedesktop.org/show_bug.cgi?id=108866
[fdo#108954]: https://bugs.freedesktop.org/show_bug.cgi?id=108954
Participating hosts (26 -> 44)
------------------------------
Additional (21): fi-skl-6770hq fi-bdw-gvtdvm fi-skl-6260u fi-icl-u3 fi-icl-y fi-skl-6600u fi-snb-2600 fi-hsw-4770r fi-bdw-5557u fi-glk-dsi fi-kbl-7500u fi-ivb-3520m fi-kbl-r fi-kbl-7567u fi-skl-guc fi-cfl-8700k fi-glk-j4005 fi-cfl-guc fi-kbl-guc fi-cfl-8109u fi-skl-iommu
Missing (3): fi-byt-squawks fi-bsw-cyan fi-pnv-d510
Build changes
-------------
* IGT: IGT_4743 -> IGTPW_2127
CI_DRM_5274: 3117375b77ec896e358afaff7c307bfad01d0de7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2127: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2127/
IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@gem_shrink@two-reclaims-and-oom
+igt@gem_shrink@two-reclaims-and-oom-userptr
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2127/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.IGT: success for tests/gem_shrink: Background, direct and OOM shrinker plus userptr tests (rev2)
In reply to Tvrtko Ursulin== Series Details ==
== Series Details ==
Series: tests/gem_shrink: Background, direct and OOM shrinker plus userptr tests (rev2)
URL : https://patchwork.freedesktop.org/series/53647/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_5274_full -> IGTPW_2127_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/53647/revisions/2/mbox/
Known issues
------------
Here are the changes found in IGTPW_2127_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_fence@basic-await-default:
- shard-hsw: PASS -> FAIL [fdo#108888]
* igt@kms_color@pipe-a-degamma:
- shard-apl: PASS -> FAIL [fdo#104782] / [fdo#108145]
* igt@kms_color@pipe-b-ctm-max:
- shard-apl: PASS -> FAIL [fdo#108147] +1
* igt@kms_color@pipe-c-ctm-max:
- shard-kbl: PASS -> FAIL [fdo#108147]
* igt@kms_cursor_crc@cursor-256x256-suspend:
- shard-kbl: PASS -> FAIL [fdo#103191] / [fdo#103232]
* igt@kms_cursor_crc@cursor-64x21-random:
- shard-apl: PASS -> FAIL [fdo#103232] +6
* igt@kms_cursor_crc@cursor-64x21-sliding:
- shard-kbl: PASS -> FAIL [fdo#103232] +1
* igt@kms_cursor_crc@cursor-64x64-sliding:
- shard-glk: PASS -> FAIL [fdo#103232] +2
* igt@kms_cursor_crc@cursor-64x64-suspend:
- shard-apl: PASS -> FAIL [fdo#103191] / [fdo#103232] +1
* igt@kms_flip@flip-vs-expired-vblank:
- shard-glk: PASS -> FAIL [fdo#102887] / [fdo#105363]
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
- shard-apl: PASS -> FAIL [fdo#103167] +2
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-kbl: PASS -> FAIL [fdo#103167]
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
- shard-glk: PASS -> FAIL [fdo#103167] +9
* {igt@kms_plane@pixel-format-pipe-c-planes-source-clamping}:
- shard-glk: PASS -> FAIL [fdo#108948]
* igt@kms_plane@plane-position-covered-pipe-a-planes:
- shard-apl: PASS -> FAIL [fdo#103166]
* igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
- shard-apl: PASS -> FAIL [fdo#108145]
* igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
- shard-glk: PASS -> FAIL [fdo#108145] +2
* igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
- shard-glk: PASS -> FAIL [fdo#103166] +6
* igt@pm_rpm@system-suspend:
- shard-kbl: PASS -> INCOMPLETE [fdo#103665] / [fdo#107807]
* igt@sw_sync@sync_busy_fork:
- shard-glk: PASS -> INCOMPLETE [fdo#103359] / [k.org#198133]
#### Possible fixes ####
* igt@kms_available_modes_crc@available_mode_test_crc:
- shard-apl: FAIL [fdo#106641] -> PASS
* igt@kms_color@pipe-c-legacy-gamma:
- shard-apl: FAIL [fdo#104782] -> PASS
* igt@kms_cursor_crc@cursor-128x42-sliding:
- shard-kbl: FAIL [fdo#103232] -> PASS
- shard-apl: FAIL [fdo#103232] -> PASS +2
- shard-glk: FAIL [fdo#103232] -> PASS * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
- shard-apl: FAIL [fdo#103167] -> PASS
* {igt@kms_plane@pixel-format-pipe-b-planes-source-clamping}:
- shard-apl: FAIL [fdo#108948] -> PASS
* igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
- shard-glk: FAIL [fdo#103166] -> PASS +1
- shard-kbl: FAIL [fdo#103166] -> PASS
* igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
- shard-apl: FAIL [fdo#103166] -> PASS +2
* {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- shard-kbl: DMESG-FAIL [fdo#108950] -> PASS
#### Warnings ####
* {igt@kms_rotation_crc@multiplane-rotation-cropping-top}:
- shard-glk: DMESG-FAIL [fdo#105763] / [fdo#106538] -> DMESG-WARN [fdo#105763] / [fdo#106538]
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
[fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
[fdo#106641]: https://bugs.freedesktop.org/show_bug.cgi?id=106641
[fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
[fdo#108888]: https://bugs.freedesktop.org/show_bug.cgi?id=108888
[fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
[fdo#108950]: https://bugs.freedesktop.org/show_bug.cgi?id=108950
[k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
Participating hosts (7 -> 5)
------------------------------
Missing (2): shard-skl shard-iclb
Build changes
-------------
* IGT: IGT_4743 -> IGTPW_2127
* Piglit: piglit_4509 -> None
CI_DRM_5274: 3117375b77ec896e358afaff7c307bfad01d0de7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2127: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2127/
IGT_4743: edb2db2cf2b6665d7ba3fa9117263302f6307a4f @ 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_2127/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev