* [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
@ 2017-09-25 20:48 Chris Wilson
2017-09-25 20:56 ` Chris Wilson
` (9 more replies)
0 siblings, 10 replies; 16+ messages in thread
From: Chris Wilson @ 2017-09-25 20:48 UTC (permalink / raw)
To: intel-gfx
Michal wants to limit machines that can do preemption, which means that
we no longer can assume that if we have a scheduler for execbuf, that
implies we have preemption.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
tests/gem_exec_schedule.c | 35 +++++++++++++++++++++++++++--------
1 file changed, 27 insertions(+), 8 deletions(-)
diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c
index 0b1925f1..377f8a88 100644
--- a/tests/gem_exec_schedule.c
+++ b/tests/gem_exec_schedule.c
@@ -33,6 +33,7 @@
#include "igt_sysfs.h"
#define LOCAL_PARAM_HAS_SCHEDULER 41
+#define LOCAL_PARAM_HAS_PREEMPTION 50
#define LOCAL_CONTEXT_PARAM_PRIORITY 6
#define LO 0
@@ -878,6 +879,18 @@ static bool has_scheduler(int fd)
return has > 0;
}
+static bool has_preemption(int fd)
+{
+ drm_i915_getparam_t gp;
+ int has = -1;
+
+ gp.param = LOCAL_PARAM_HAS_PREEMPTION;
+ gp.value = &has;
+ drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
+
+ return has > 0;
+}
+
#define HAVE_EXECLISTS 0x1
#define HAVE_GUC 0x2
static unsigned print_welcome(int fd)
@@ -969,17 +982,23 @@ igt_main
igt_subtest_f("promotion-%s", e->name)
promotion(fd, e->exec_id | e->flags);
- igt_subtest_f("preempt-%s", e->name)
- preempt(fd, e->exec_id | e->flags, 0);
+ igt_subtest_group {
+ igt_fixture {
+ igt_require(has_preemption(fd));
+ }
+
+ igt_subtest_f("preempt-%s", e->name)
+ preempt(fd, e->exec_id | e->flags, 0);
- igt_subtest_f("preempt-contexts-%s", e->name)
- preempt(fd, e->exec_id | e->flags, NEW_CTX);
+ igt_subtest_f("preempt-contexts-%s", e->name)
+ preempt(fd, e->exec_id | e->flags, NEW_CTX);
- igt_subtest_f("preempt-other-%s", e->name)
- preempt_other(fd, e->exec_id | e->flags);
+ igt_subtest_f("preempt-other-%s", e->name)
+ preempt_other(fd, e->exec_id | e->flags);
- igt_subtest_f("preempt-self-%s", e->name)
- preempt_self(fd, e->exec_id | e->flags);
+ igt_subtest_f("preempt-self-%s", e->name)
+ preempt_self(fd, e->exec_id | e->flags);
+ }
igt_subtest_f("deep-%s", e->name)
deep(fd, e->exec_id | e->flags);
--
2.14.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
@ 2017-09-25 20:56 ` Chris Wilson
2017-09-25 21:25 ` ✓ Fi.CI.BAT: success for " Patchwork
` (8 subsequent siblings)
9 siblings, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2017-09-25 20:56 UTC (permalink / raw)
To: intel-gfx
Quoting Chris Wilson (2017-09-25 21:48:35)
> Michal wants to limit machines that can do preemption, which means that
> we no longer can assume that if we have a scheduler for execbuf, that
> implies we have preemption.
The alternative to a separate param is to use capability bits in
HAS_SCHEDULER. Liking it more...
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
2017-09-25 20:56 ` Chris Wilson
@ 2017-09-25 21:25 ` Patchwork
2017-09-26 3:22 ` ✓ Fi.CI.IGT: " Patchwork
` (7 subsequent siblings)
9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2017-09-25 21:25 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
URL : https://patchwork.freedesktop.org/series/30860/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
c117213c06d0f47937c1f225ebead5e1fe8c7a0e igt/gem_exec_whisper: Smoketest context priorities
with latest DRM-Tip kernel build CI_DRM_3131
f4eb3c100b0b drm-tip: 2017y-09m-25d-19h-36m-33s UTC integration manifest
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-c:
incomplete -> PASS (fi-kbl-r)
Test drv_module_reload:
Subgroup basic-reload:
pass -> DMESG-WARN (fi-glk-1) fdo#102777 +1
fdo#102777 https://bugs.freedesktop.org/show_bug.cgi?id=102777
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s
fi-bdw-gvtdvm total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:475s
fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:422s
fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:537s
fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:279s
fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:510s
fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:496s
fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:498s
fi-cfl-s total:289 pass:223 dwarn:34 dfail:0 fail:0 skip:32 time:547s
fi-cnl-y total:289 pass:256 dwarn:0 dfail:0 fail:6 skip:27 time:674s
fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:420s
fi-glk-1 total:289 pass:259 dwarn:1 dfail:0 fail:0 skip:29 time:562s
fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:426s
fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:404s
fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:431s
fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:487s
fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:470s
fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:473s
fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:581s
fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:591s
fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:551s
fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:452s
fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:751s
fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:487s
fi-skl-gvtdvm total:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:479s
fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:574s
fi-snb-2600 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:417s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_251/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Fi.CI.IGT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
2017-09-25 20:56 ` Chris Wilson
2017-09-25 21:25 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2017-09-26 3:22 ` Patchwork
2017-09-26 9:32 ` [PATCH igt] " Chris Wilson
` (6 subsequent siblings)
9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2017-09-26 3:22 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
URL : https://patchwork.freedesktop.org/series/30860/
State : success
== Summary ==
Test prime_mmap:
Subgroup test_userptr:
dmesg-warn -> PASS (shard-hsw) fdo#102939
Test gem_eio:
Subgroup throttle:
pass -> DMESG-WARN (shard-hsw) fdo#102886 +2
Test prime_self_import:
Subgroup reimport-vs-gem_close-race:
fail -> PASS (shard-hsw) fdo#102655
Test perf:
Subgroup polling:
pass -> FAIL (shard-hsw) fdo#102252
fdo#102939 https://bugs.freedesktop.org/show_bug.cgi?id=102939
fdo#102886 https://bugs.freedesktop.org/show_bug.cgi?id=102886
fdo#102655 https://bugs.freedesktop.org/show_bug.cgi?id=102655
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
shard-hsw total:2429 pass:1326 dwarn:3 dfail:0 fail:17 skip:1083 time:9939s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_251/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
` (2 preceding siblings ...)
2017-09-26 3:22 ` ✓ Fi.CI.IGT: " Patchwork
@ 2017-09-26 9:32 ` Chris Wilson
2017-09-26 9:41 ` Chris Wilson
2017-09-26 12:14 ` Joonas Lahtinen
2017-09-26 18:32 ` ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev2) Patchwork
` (5 subsequent siblings)
9 siblings, 2 replies; 16+ messages in thread
From: Chris Wilson @ 2017-09-26 9:32 UTC (permalink / raw)
To: intel-gfx
Michal wants to limit machines that can do preemption, which means that
we no longer can assume that if we have a scheduler for execbuf, that
implies we have preemption.
v2: Try a capability mask instead
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
tests/gem_exec_schedule.c | 45 ++++++++++++++++++++++++++++-----------------
1 file changed, 28 insertions(+), 17 deletions(-)
diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c
index 0b1925f1..85c69703 100644
--- a/tests/gem_exec_schedule.c
+++ b/tests/gem_exec_schedule.c
@@ -33,6 +33,8 @@
#include "igt_sysfs.h"
#define LOCAL_PARAM_HAS_SCHEDULER 41
+#define HAS_SCHEDULER (1u << 0)
+#define HAS_PREEMPTION (1u << 2)
#define LOCAL_CONTEXT_PARAM_PRIORITY 6
#define LO 0
@@ -866,16 +868,16 @@ static void test_pi_ringfull(int fd, unsigned int engine)
munmap(result, 4096);
}
-static bool has_scheduler(int fd)
+static unsigned int has_scheduler(int fd)
{
drm_i915_getparam_t gp;
- int has = -1;
+ unsigned int caps = 0;
gp.param = LOCAL_PARAM_HAS_SCHEDULER;
- gp.value = &has;
+ gp.value = ∩︀
drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
- return has > 0;
+ return caps;
}
#define HAVE_EXECLISTS 0x1
@@ -916,14 +918,16 @@ out:
igt_main
{
const struct intel_execution_engine *e;
- unsigned int caps = 0;
+ unsigned int exec_caps = 0;
+ unsigned int sched_caps = 0;
int fd = -1;
igt_skip_on_simulation();
igt_fixture {
fd = drm_open_driver_master(DRIVER_INTEL);
- caps = print_welcome(fd);
+ exec_caps = print_welcome(fd);
+ sched_caps = has_scheduler(fd);
igt_require_gem(fd);
gem_require_mmap_wc(fd);
igt_fork_hang_detector(fd);
@@ -945,7 +949,7 @@ igt_main
igt_subtest_group {
igt_fixture {
- igt_require(has_scheduler(fd));
+ igt_require(sched_caps & HAS_SCHEDULER);
ctx_has_priority(fd);
}
@@ -969,17 +973,23 @@ igt_main
igt_subtest_f("promotion-%s", e->name)
promotion(fd, e->exec_id | e->flags);
- igt_subtest_f("preempt-%s", e->name)
- preempt(fd, e->exec_id | e->flags, 0);
+ igt_subtest_group {
+ igt_fixture {
+ igt_require(sched_caps & HAS_PREEMPTION);
+ }
- igt_subtest_f("preempt-contexts-%s", e->name)
- preempt(fd, e->exec_id | e->flags, NEW_CTX);
+ igt_subtest_f("preempt-%s", e->name)
+ preempt(fd, e->exec_id | e->flags, 0);
- igt_subtest_f("preempt-other-%s", e->name)
- preempt_other(fd, e->exec_id | e->flags);
+ igt_subtest_f("preempt-contexts-%s", e->name)
+ preempt(fd, e->exec_id | e->flags, NEW_CTX);
- igt_subtest_f("preempt-self-%s", e->name)
- preempt_self(fd, e->exec_id | e->flags);
+ igt_subtest_f("preempt-other-%s", e->name)
+ preempt_other(fd, e->exec_id | e->flags);
+
+ igt_subtest_f("preempt-self-%s", e->name)
+ preempt_self(fd, e->exec_id | e->flags);
+ }
igt_subtest_f("deep-%s", e->name)
deep(fd, e->exec_id | e->flags);
@@ -995,17 +1005,18 @@ igt_main
igt_subtest_group {
igt_fixture {
- igt_require(has_scheduler(fd));
+ igt_require(sched_caps & HAS_SCHEDULER);
ctx_has_priority(fd);
/* need separate rings */
- igt_require(caps & HAVE_EXECLISTS);
+ igt_require(exec_caps & HAVE_EXECLISTS);
}
for (e = intel_execution_engines; e->name; e++) {
igt_subtest_group {
igt_fixture {
gem_require_ring(fd, e->exec_id | e->flags);
+ igt_require(sched_caps & HAS_PREEMPTION);
}
igt_subtest_f("pi-ringfull-%s", e->name)
--
2.14.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-26 9:32 ` [PATCH igt] " Chris Wilson
@ 2017-09-26 9:41 ` Chris Wilson
2017-09-26 12:14 ` Joonas Lahtinen
1 sibling, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2017-09-26 9:41 UTC (permalink / raw)
To: intel-gfx
Quoting Chris Wilson (2017-09-26 10:32:40)
> Michal wants to limit machines that can do preemption, which means that
> we no longer can assume that if we have a scheduler for execbuf, that
> implies we have preemption.
>
> v2: Try a capability mask instead
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> tests/gem_exec_schedule.c | 45 ++++++++++++++++++++++++++++-----------------
> 1 file changed, 28 insertions(+), 17 deletions(-)
>
> diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c
> index 0b1925f1..85c69703 100644
> --- a/tests/gem_exec_schedule.c
> +++ b/tests/gem_exec_schedule.c
> @@ -33,6 +33,8 @@
> #include "igt_sysfs.h"
>
> #define LOCAL_PARAM_HAS_SCHEDULER 41
> +#define HAS_SCHEDULER (1u << 0)
> +#define HAS_PREEMPTION (1u << 2)
Silly conversion from 0x2.
-Chris
> #d
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-26 9:32 ` [PATCH igt] " Chris Wilson
2017-09-26 9:41 ` Chris Wilson
@ 2017-09-26 12:14 ` Joonas Lahtinen
2017-09-26 12:21 ` Chris Wilson
2017-09-27 12:24 ` Chris Wilson
1 sibling, 2 replies; 16+ messages in thread
From: Joonas Lahtinen @ 2017-09-26 12:14 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On Tue, 2017-09-26 at 10:32 +0100, Chris Wilson wrote:
> Michal wants to limit machines that can do preemption, which means that
> we no longer can assume that if we have a scheduler for execbuf, that
> implies we have preemption.
>
> v2: Try a capability mask instead
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> tests/gem_exec_schedule.c | 45 ++++++++++++++++++++++++++++-----------------
> 1 file changed, 28 insertions(+), 17 deletions(-)
>
> diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c
> index 0b1925f1..85c69703 100644
> --- a/tests/gem_exec_schedule.c
> +++ b/tests/gem_exec_schedule.c
> @@ -33,6 +33,8 @@
> #include "igt_sysfs.h"
>
> #define LOCAL_PARAM_HAS_SCHEDULER 41
> +#define HAS_SCHEDULER (1u << 0)
> +#define HAS_PREEMPTION (1u << 2)
How about some BIT()? I think wehave it in IGT, at least I wrote
patches for it.
Looks good to me, can you reference the latest Mesa patches in here and
the kernel counterpart (reference the kernel counterpart here too).
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-26 12:14 ` Joonas Lahtinen
@ 2017-09-26 12:21 ` Chris Wilson
2017-09-27 12:24 ` Chris Wilson
1 sibling, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2017-09-26 12:21 UTC (permalink / raw)
To: Joonas Lahtinen, intel-gfx
Quoting Joonas Lahtinen (2017-09-26 13:14:39)
> On Tue, 2017-09-26 at 10:32 +0100, Chris Wilson wrote:
> > Michal wants to limit machines that can do preemption, which means that
> > we no longer can assume that if we have a scheduler for execbuf, that
> > implies we have preemption.
> >
> > v2: Try a capability mask instead
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > ---
> > tests/gem_exec_schedule.c | 45 ++++++++++++++++++++++++++++-----------------
> > 1 file changed, 28 insertions(+), 17 deletions(-)
> >
> > diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c
> > index 0b1925f1..85c69703 100644
> > --- a/tests/gem_exec_schedule.c
> > +++ b/tests/gem_exec_schedule.c
> > @@ -33,6 +33,8 @@
> > #include "igt_sysfs.h"
> >
> > #define LOCAL_PARAM_HAS_SCHEDULER 41
> > +#define HAS_SCHEDULER (1u << 0)
> > +#define HAS_PREEMPTION (1u << 2)
>
> How about some BIT()? I think wehave it in IGT, at least I wrote
> patches for it.
BIT is still localised...
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev2)
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
` (3 preceding siblings ...)
2017-09-26 9:32 ` [PATCH igt] " Chris Wilson
@ 2017-09-26 18:32 ` Patchwork
2017-09-27 3:36 ` ✗ Fi.CI.IGT: warning " Patchwork
` (4 subsequent siblings)
9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2017-09-26 18:32 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev2)
URL : https://patchwork.freedesktop.org/series/30860/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
2885b10f99b4beeb046e75af8b8488c229f629d3 igt/gem_exec_schedule: Ignore set-priority failures on old kernels
with latest DRM-Tip kernel build CI_DRM_3140
c4c623d58e38 drm-tip: 2017y-09m-26d-16h-37m-12s UTC integration manifest
Test pm_rpm:
Subgroup basic-rte:
dmesg-warn -> PASS (fi-cfl-s) fdo#102294
Test drv_module_reload:
Subgroup basic-no-display:
pass -> DMESG-WARN (fi-glk-1) fdo#102777
fdo#102294 https://bugs.freedesktop.org/show_bug.cgi?id=102294
fdo#102777 https://bugs.freedesktop.org/show_bug.cgi?id=102777
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:442s
fi-bdw-gvtdvm total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:469s
fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:419s
fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:519s
fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:279s
fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:503s
fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:504s
fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:503s
fi-cfl-s total:289 pass:223 dwarn:34 dfail:0 fail:0 skip:32 time:541s
fi-cnl-y total:289 pass:257 dwarn:0 dfail:0 fail:5 skip:27 time:671s
fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:410s
fi-glk-1 total:289 pass:259 dwarn:1 dfail:0 fail:0 skip:29 time:572s
fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:425s
fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:404s
fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:439s
fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:491s
fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:465s
fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:474s
fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:576s
fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:585s
fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:462s
fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:754s
fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:494s
fi-skl-gvtdvm total:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:474s
fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:574s
fi-snb-2600 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:417s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_253/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✗ Fi.CI.IGT: warning for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev2)
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
` (4 preceding siblings ...)
2017-09-26 18:32 ` ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev2) Patchwork
@ 2017-09-27 3:36 ` Patchwork
2017-09-27 18:47 ` [PATCH igt v3] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
` (3 subsequent siblings)
9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2017-09-27 3:36 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev2)
URL : https://patchwork.freedesktop.org/series/30860/
State : warning
== Summary ==
Test gem_eio:
Subgroup throttle:
pass -> DMESG-WARN (shard-hsw) fdo#102886
Test kms_cursor_legacy:
Subgroup flip-vs-cursor-legacy:
pass -> FAIL (shard-hsw) fdo#102670
Subgroup basic-busy-flip-before-cursor-atomic:
pass -> DMESG-WARN (shard-hsw)
Test kms_flip:
Subgroup plain-flip-ts-check-interruptible:
fail -> PASS (shard-hsw)
Subgroup flip-vs-expired-vblank:
fail -> PASS (shard-hsw) fdo#102367
Test kms_vblank:
Subgroup wait-busy:
pass -> DMESG-WARN (shard-hsw)
Test perf:
Subgroup polling:
pass -> FAIL (shard-hsw) fdo#102252
Test prime_mmap:
Subgroup test_userptr:
pass -> DMESG-WARN (shard-hsw) fdo#102939
fdo#102886 https://bugs.freedesktop.org/show_bug.cgi?id=102886
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#102367 https://bugs.freedesktop.org/show_bug.cgi?id=102367
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#102939 https://bugs.freedesktop.org/show_bug.cgi?id=102939
shard-hsw total:2429 pass:1329 dwarn:5 dfail:0 fail:12 skip:1083 time:9902s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_253/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-26 12:14 ` Joonas Lahtinen
2017-09-26 12:21 ` Chris Wilson
@ 2017-09-27 12:24 ` Chris Wilson
1 sibling, 0 replies; 16+ messages in thread
From: Chris Wilson @ 2017-09-27 12:24 UTC (permalink / raw)
To: Joonas Lahtinen, intel-gfx
Quoting Joonas Lahtinen (2017-09-26 13:14:39)
> On Tue, 2017-09-26 at 10:32 +0100, Chris Wilson wrote:
> > Michal wants to limit machines that can do preemption, which means that
> > we no longer can assume that if we have a scheduler for execbuf, that
> > implies we have preemption.
> >
> > v2: Try a capability mask instead
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > ---
> > tests/gem_exec_schedule.c | 45 ++++++++++++++++++++++++++++-----------------
> > 1 file changed, 28 insertions(+), 17 deletions(-)
> >
> > diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c
> > index 0b1925f1..85c69703 100644
> > --- a/tests/gem_exec_schedule.c
> > +++ b/tests/gem_exec_schedule.c
> > @@ -33,6 +33,8 @@
> > #include "igt_sysfs.h"
> >
> > #define LOCAL_PARAM_HAS_SCHEDULER 41
> > +#define HAS_SCHEDULER (1u << 0)
> > +#define HAS_PREEMPTION (1u << 2)
>
> How about some BIT()? I think wehave it in IGT, at least I wrote
> patches for it.
>
> Looks good to me, can you reference the latest Mesa patches in here and
> the kernel counterpart (reference the kernel counterpart here too).
Mesa doesn't care about this, no extension that I know declares
preemption. It is quite happy just to check whether or not it can change
the context priority, for the IMG_contxt_priority support.
The kennel patches depends upon having this inplace for CI to run the
tests on the series.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH igt v3] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
` (5 preceding siblings ...)
2017-09-27 3:36 ` ✗ Fi.CI.IGT: warning " Patchwork
@ 2017-09-27 18:47 ` Chris Wilson
2017-09-28 14:33 ` Joonas Lahtinen
2017-09-27 19:38 ` ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3) Patchwork
` (2 subsequent siblings)
9 siblings, 1 reply; 16+ messages in thread
From: Chris Wilson @ 2017-09-27 18:47 UTC (permalink / raw)
To: intel-gfx
Michal wants to limit machines that can do preemption, which means that
we no longer can assume that if we have a scheduler for execbuf, that
implies we have preemption.
v2: Try a capability mask instead
v3: Pretty print the caps.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
tests/gem_exec_schedule.c | 65 ++++++++++++++++++++++++++++++++++-------------
1 file changed, 48 insertions(+), 17 deletions(-)
diff --git a/tests/gem_exec_schedule.c b/tests/gem_exec_schedule.c
index 79738ee1..ec0fd9ef 100644
--- a/tests/gem_exec_schedule.c
+++ b/tests/gem_exec_schedule.c
@@ -32,7 +32,12 @@
#include "igt_rand.h"
#include "igt_sysfs.h"
+#define BIT(x) (1ul << (x))
+
#define LOCAL_PARAM_HAS_SCHEDULER 41
+#define HAS_SCHEDULER BIT(0)
+#define HAS_PRIORITY BIT(1)
+#define HAS_PREEMPTION BIT(2)
#define LOCAL_CONTEXT_PARAM_PRIORITY 6
#define LO 0
@@ -870,16 +875,33 @@ static void test_pi_ringfull(int fd, unsigned int engine)
munmap(result, 4096);
}
-static bool has_scheduler(int fd)
+static unsigned int has_scheduler(int fd)
{
drm_i915_getparam_t gp;
- int has = -1;
+ unsigned int caps = 0;
+ char buf[200];
+ size_t len = 0;
gp.param = LOCAL_PARAM_HAS_SCHEDULER;
- gp.value = &has;
+ gp.value = (int *)∩︀
drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
- return has > 0;
+ if (!caps)
+ return 0;
+
+ len = snprintf(buf, sizeof(buf), "Has kernel scheduler");
+ if (caps & HAS_PRIORITY)
+ len += snprintf(buf + len, sizeof(buf) - len,
+ "%s context priorities",
+ caps & (HAS_PRIORITY - 2) ? "," : " with");
+
+ if (caps & HAS_PREEMPTION)
+ len += snprintf(buf + len, sizeof(buf) - len,
+ "%s batchbuffer preemption",
+ caps & (HAS_PREEMPTION - 2) ? "," : " with");
+
+ igt_info("%s.\n", buf);
+ return caps;
}
#define HAVE_EXECLISTS 0x1
@@ -920,14 +942,16 @@ out:
igt_main
{
const struct intel_execution_engine *e;
- unsigned int caps = 0;
+ unsigned int exec_caps = 0;
+ unsigned int sched_caps = 0;
int fd = -1;
igt_skip_on_simulation();
igt_fixture {
fd = drm_open_driver_master(DRIVER_INTEL);
- caps = print_welcome(fd);
+ exec_caps = print_welcome(fd);
+ sched_caps = has_scheduler(fd);
igt_require_gem(fd);
gem_require_mmap_wc(fd);
igt_fork_hang_detector(fd);
@@ -949,7 +973,7 @@ igt_main
igt_subtest_group {
igt_fixture {
- igt_require(has_scheduler(fd));
+ igt_require(sched_caps & HAS_SCHEDULER);
ctx_has_priority(fd);
}
@@ -973,17 +997,23 @@ igt_main
igt_subtest_f("promotion-%s", e->name)
promotion(fd, e->exec_id | e->flags);
- igt_subtest_f("preempt-%s", e->name)
- preempt(fd, e->exec_id | e->flags, 0);
+ igt_subtest_group {
+ igt_fixture {
+ igt_require(sched_caps & HAS_PREEMPTION);
+ }
- igt_subtest_f("preempt-contexts-%s", e->name)
- preempt(fd, e->exec_id | e->flags, NEW_CTX);
+ igt_subtest_f("preempt-%s", e->name)
+ preempt(fd, e->exec_id | e->flags, 0);
- igt_subtest_f("preempt-other-%s", e->name)
- preempt_other(fd, e->exec_id | e->flags);
+ igt_subtest_f("preempt-contexts-%s", e->name)
+ preempt(fd, e->exec_id | e->flags, NEW_CTX);
- igt_subtest_f("preempt-self-%s", e->name)
- preempt_self(fd, e->exec_id | e->flags);
+ igt_subtest_f("preempt-other-%s", e->name)
+ preempt_other(fd, e->exec_id | e->flags);
+
+ igt_subtest_f("preempt-self-%s", e->name)
+ preempt_self(fd, e->exec_id | e->flags);
+ }
igt_subtest_f("deep-%s", e->name)
deep(fd, e->exec_id | e->flags);
@@ -999,17 +1029,18 @@ igt_main
igt_subtest_group {
igt_fixture {
- igt_require(has_scheduler(fd));
+ igt_require(sched_caps & HAS_SCHEDULER);
ctx_has_priority(fd);
/* need separate rings */
- igt_require(caps & HAVE_EXECLISTS);
+ igt_require(exec_caps & HAVE_EXECLISTS);
}
for (e = intel_execution_engines; e->name; e++) {
igt_subtest_group {
igt_fixture {
gem_require_ring(fd, e->exec_id | e->flags);
+ igt_require(sched_caps & HAS_PREEMPTION);
}
igt_subtest_f("pi-ringfull-%s", e->name)
--
2.14.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 16+ messages in thread
* ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3)
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
` (6 preceding siblings ...)
2017-09-27 18:47 ` [PATCH igt v3] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
@ 2017-09-27 19:38 ` Patchwork
2017-09-28 1:16 ` ✗ Fi.CI.IGT: warning " Patchwork
2017-09-28 16:01 ` ✓ Fi.CI.IGT: success " Patchwork
9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2017-09-27 19:38 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3)
URL : https://patchwork.freedesktop.org/series/30860/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
2885b10f99b4beeb046e75af8b8488c229f629d3 igt/gem_exec_schedule: Ignore set-priority failures on old kernels
with latest DRM-Tip kernel build CI_DRM_3146
aa884e1abdf2 drm-tip: 2017y-09m-27d-15h-39m-07s UTC integration manifest
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:445s
fi-bdw-gvtdvm total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:471s
fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:422s
fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:525s
fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:281s
fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:504s
fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:503s
fi-cfl-s total:289 pass:223 dwarn:34 dfail:0 fail:0 skip:32 time:541s
fi-cnl-y total:289 pass:258 dwarn:0 dfail:0 fail:4 skip:27 time:678s
fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:419s
fi-glk-1 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:574s
fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:427s
fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:402s
fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:441s
fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:493s
fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:474s
fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:472s
fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:577s
fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:593s
fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:543s
fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:460s
fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:750s
fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:504s
fi-skl-gvtdvm total:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:481s
fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:571s
fi-snb-2600 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:418s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_262/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✗ Fi.CI.IGT: warning for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3)
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
` (7 preceding siblings ...)
2017-09-27 19:38 ` ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3) Patchwork
@ 2017-09-28 1:16 ` Patchwork
2017-09-28 16:01 ` ✓ Fi.CI.IGT: success " Patchwork
9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2017-09-28 1:16 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3)
URL : https://patchwork.freedesktop.org/series/30860/
State : warning
== Summary ==
Test gem_exec_schedule:
Subgroup preempt-contexts-bsd:
pass -> SKIP (shard-hsw)
Subgroup deep-vebox:
pass -> SKIP (shard-hsw)
Subgroup deep-bsd2:
pass -> SKIP (shard-hsw)
Subgroup in-order-bsd2:
pass -> SKIP (shard-hsw)
Subgroup promotion-bsd2:
pass -> SKIP (shard-hsw)
Subgroup preempt-blt:
pass -> SKIP (shard-hsw)
Subgroup wide-bsd2:
pass -> SKIP (shard-hsw)
Subgroup out-order-render:
pass -> SKIP (shard-hsw)
Subgroup fifo-bsd2:
pass -> SKIP (shard-hsw)
Subgroup deep-bsd:
pass -> SKIP (shard-hsw)
Subgroup promotion-render:
pass -> SKIP (shard-hsw)
Subgroup preempt-other-vebox:
pass -> SKIP (shard-hsw)
Subgroup preempt-bsd2:
pass -> SKIP (shard-hsw)
Subgroup wide-blt:
pass -> SKIP (shard-hsw)
Subgroup promotion-bsd:
pass -> SKIP (shard-hsw)
Subgroup reorder-wide-bsd1:
pass -> SKIP (shard-hsw)
Subgroup out-order-blt:
pass -> SKIP (shard-hsw)
Subgroup pi-ringfull-render:
pass -> SKIP (shard-hsw)
Subgroup preempt-self-render:
fail -> SKIP (shard-hsw)
Subgroup preempt-other-blt:
pass -> SKIP (shard-hsw)
Subgroup pi-ringfull-default:
pass -> SKIP (shard-hsw)
Subgroup preempt-self-blt:
pass -> SKIP (shard-hsw)
Subgroup preempt-contexts-bsd1:
pass -> SKIP (shard-hsw)
Subgroup deep-bsd1:
pass -> SKIP (shard-hsw)
Subgroup preempt-contexts-blt:
pass -> SKIP (shard-hsw)
Subgroup fifo-blt:
skip -> PASS (shard-hsw)
Subgroup preempt-contexts-render:
pass -> SKIP (shard-hsw)
Subgroup reorder-wide-render:
pass -> SKIP (shard-hsw)
Subgroup reorder-wide-bsd:
pass -> SKIP (shard-hsw)
Subgroup preempt-render:
pass -> SKIP (shard-hsw)
Subgroup preempt-self-bsd2:
pass -> SKIP (shard-hsw)
Subgroup deep-render:
pass -> SKIP (shard-hsw)
Subgroup pi-ringfull-bsd2:
pass -> SKIP (shard-hsw)
Subgroup in-order-bsd1:
pass -> SKIP (shard-hsw)
Subgroup preempt-other-bsd1:
pass -> SKIP (shard-hsw)
Subgroup fifo-bsd:
skip -> PASS (shard-hsw)
Subgroup deep-blt:
pass -> SKIP (shard-hsw)
Subgroup pi-ringfull-bsd1:
pass -> SKIP (shard-hsw)
Subgroup preempt-vebox:
pass -> SKIP (shard-hsw)
Test drv_suspend:
Subgroup sysfs-reader-hibernate:
skip -> FAIL (shard-hsw) k.org#196691 +5
Subgroup sysfs-reader:
skip -> PASS (shard-hsw)
Subgroup fence-restore-untiled:
skip -> PASS (shard-hsw)
Subgroup debugfs-reader:
skip -> PASS (shard-hsw)
Test kms_frontbuffer_tracking:
Subgroup fbc-1p-primscrn-indfb-pgflip-blt:
fail -> PASS (shard-hsw)
Subgroup psr-1p-offscren-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-shrfb-pgflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-cur-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-rgb565-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-cur-indfb-draw-render:
fail -> SKIP (shard-hsw)
Subgroup fbcpsr-tilingchange:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-indfb-fliptrack:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-cur-indfb-move:
pass -> SKIP (shard-hsw)
Subgroup psr-rgb101010-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-shrfb-scaledprimary:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-spr-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-cur-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-shrfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-spr-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt:
fail -> PASS (shard-hsw)
Subgroup psr-2p-scndscrn-cur-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-cur-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-cur-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-spr-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-spr-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbc-farfromfence:
skip -> PASS (shard-hsw)
Subgroup psr-2p-primscrn-spr-indfb-onoff:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-cur-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup psr-rgb101010-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-rgb101010-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-spr-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-rte:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-pri-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-shrfb-pgflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-shrfb-fliptrack:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-pri-shrfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-offscren-pri-indfb-draw-mmap-gtt:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-spr-indfb-onoff:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-pri-shrfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-spr-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-offscren-pri-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-spr-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-cur-indfb-draw-mmap-gtt:
fail -> SKIP (shard-hsw)
Subgroup fbcpsr-rgb565-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-shrfb-msflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-rgb565-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-shrfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-rte:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-pri-shrfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-pri-shrfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-pri-indfb-draw-mmap-cpu:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-shrfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-spr-indfb-move:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-spr-indfb-move:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-pri-shrfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-spr-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-rte:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-spr-indfb-draw-render:
skip -> PASS (shard-hsw)
Subgroup psr-1p-primscrn-pri-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-offscren-pri-indfb-draw-mmap-cpu:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-1p-primscrn-indfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-spr-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup psr-rgb101010-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-cur-indfb-onoff:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-pri-indfb-draw-blt:
skip -> PASS (shard-hsw)
Subgroup fbc-2p-primscrn-spr-indfb-onoff:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-spr-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-spr-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-indfb-scaledprimary:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-spr-indfb-fullscreen:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-spr-indfb-fullscreen:
skip -> PASS (shard-hsw)
Subgroup psr-1p-primscrn-spr-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-offscren-pri-indfb-draw-pwrite:
skip -> PASS (shard-hsw)
Subgroup fbc-1p-offscren-pri-shrfb-draw-mmap-cpu:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-pri-shrfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-cur-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-rgb565-draw-render:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-pri-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-shrfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-spr-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-indfb-pgflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-indfb-msflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-indfb-msflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-cur-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-indfb-fliptrack:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu:
skip -> PASS (shard-hsw)
Subgroup psr-1p-primscrn-indfb-pgflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-spr-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-pri-shrfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-indfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-spr-indfb-move:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-pri-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-spr-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-shrfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-pri-shrfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-rgb565-draw-blt:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
skip -> PASS (shard-hsw)
Subgroup psr-slowdraw:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-spr-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-cur-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-pri-shrfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-shrfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-indfb-pgflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-pri-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-indfb-plflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-rgb101010-draw-mmap-wc:
skip -> PASS (shard-hsw)
Subgroup fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-spr-indfb-fullscreen:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-pri-shrfb-draw-render:
skip -> PASS (shard-hsw)
Subgroup psr-1p-offscren-pri-shrfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-shrfb-plflip-blt:
skip -> PASS (shard-hsw)
Subgroup fbc-rgb565-draw-mmap-wc:
skip -> PASS (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-cur-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-offscren-pri-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-scndscrn-pri-shrfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-pri-shrfb-draw-pwrite:
skip -> PASS (shard-hsw)
Subgroup fbc-2p-primscrn-pri-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-cur-indfb-draw-render:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-1p-primscrn-cur-indfb-move:
pass -> SKIP (shard-hsw)
Subgroup psr-rgb565-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-spr-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-pri-indfb-draw-mmap-gtt:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-primscrn-shrfb-msflip-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-2p-primscrn-indfb-plflip-blt:
fail -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-spr-indfb-draw-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-cur-indfb-draw-mmap-cpu:
pass -> SKIP (shard-hsw)
Subgroup fbc-2p-scndscrn-pri-indfb-draw-pwrite:
pass -> SKIP (shard-hsw)
Subgroup fbcpsr-2p-scndscrn-indfb-msflip-blt:
pass -> SKIP (shard-hsw)
Subgroup fbc-1p-primscrn-cur-indfb-draw-pwrite:
skip -> PASS (shard-hsw)
Subgroup psr-2p-primscrn-shrfb-msflip-blt:
pass -> SKIP (shard-hsw)
Subgroup psr-1p-primscrn-pri-indfb-draw-mmap-wc:
pass -> SKIP
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_262/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH igt v3] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
2017-09-27 18:47 ` [PATCH igt v3] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
@ 2017-09-28 14:33 ` Joonas Lahtinen
0 siblings, 0 replies; 16+ messages in thread
From: Joonas Lahtinen @ 2017-09-28 14:33 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On Wed, 2017-09-27 at 19:47 +0100, Chris Wilson wrote:
> Michal wants to limit machines that can do preemption, which means that
> we no longer can assume that if we have a scheduler for execbuf, that
> implies we have preemption.
>
> v2: Try a capability mask instead
> v3: Pretty print the caps.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
<SNIP>
> +++ b/tests/gem_exec_schedule.c
> @@ -32,7 +32,12 @@
> #include "igt_rand.h"
> #include "igt_sysfs.h"
>
> +#define BIT(x) (1ul << (x))
> +
> #define LOCAL_PARAM_HAS_SCHEDULER 41
> +#define HAS_SCHEDULER BIT(0)
> +#define HAS_PRIORITY BIT(1)
> +#define HAS_PREEMPTION BIT(2)
This seems to be all spaces?
> +static unsigned int has_scheduler(int fd)
> {
> drm_i915_getparam_t gp;
> - int has = -1;
> + unsigned int caps = 0;
> + char buf[200];
> + size_t len = 0;
>
> gp.param = LOCAL_PARAM_HAS_SCHEDULER;
> - gp.value = &has;
> + gp.value = (int *)∩︀
> drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
>
> - return has > 0;
> + if (!caps)
> + return 0;
> +
> + len = snprintf(buf, sizeof(buf), "Has kernel scheduler");
> + if (caps & HAS_PRIORITY)
> + len += snprintf(buf + len, sizeof(buf) - len,
> + "%s context priorities",
> + caps & (HAS_PRIORITY - 2) ? "," : " with");
> +
> + if (caps & HAS_PREEMPTION)
> + len += snprintf(buf + len, sizeof(buf) - len,
> + "%s batchbuffer preemption",
> + caps & (HAS_PREEMPTION - 2) ? "," : " with");
The output is not going to be published in PEOPLE magazine, maybe we
can do a simpler indented "- with ..." prints :P
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Fi.CI.IGT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3)
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
` (8 preceding siblings ...)
2017-09-28 1:16 ` ✗ Fi.CI.IGT: warning " Patchwork
@ 2017-09-28 16:01 ` Patchwork
9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2017-09-28 16:01 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3)
URL : https://patchwork.freedesktop.org/series/30860/
State : success
== Summary ==
Test gem_eio:
Subgroup in-flight-contexts:
dmesg-warn -> PASS (shard-hsw) fdo#102886
Test kms_flip:
Subgroup flip-vs-wf_vblank-interruptible:
fail -> PASS (shard-hsw) fdo#100368
Test kms_setmode:
Subgroup basic:
fail -> PASS (shard-hsw) fdo#99912
Test prime_mmap:
Subgroup test_userptr:
pass -> DMESG-WARN (shard-hsw) fdo#102939
fdo#102886 https://bugs.freedesktop.org/show_bug.cgi?id=102886
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
fdo#102939 https://bugs.freedesktop.org/show_bug.cgi?id=102939
shard-hsw total:2381 pass:1305 dwarn:3 dfail:0 fail:10 skip:1063 time:9730s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_262/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2017-09-28 16:01 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-25 20:48 [PATCH igt] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
2017-09-25 20:56 ` Chris Wilson
2017-09-25 21:25 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-09-26 3:22 ` ✓ Fi.CI.IGT: " Patchwork
2017-09-26 9:32 ` [PATCH igt] " Chris Wilson
2017-09-26 9:41 ` Chris Wilson
2017-09-26 12:14 ` Joonas Lahtinen
2017-09-26 12:21 ` Chris Wilson
2017-09-27 12:24 ` Chris Wilson
2017-09-26 18:32 ` ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev2) Patchwork
2017-09-27 3:36 ` ✗ Fi.CI.IGT: warning " Patchwork
2017-09-27 18:47 ` [PATCH igt v3] igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION Chris Wilson
2017-09-28 14:33 ` Joonas Lahtinen
2017-09-27 19:38 ` ✓ Fi.CI.BAT: success for igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION (rev3) Patchwork
2017-09-28 1:16 ` ✗ Fi.CI.IGT: warning " Patchwork
2017-09-28 16:01 ` ✓ Fi.CI.IGT: success " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.