* [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load
@ 2018-10-17 12:15 Arkadiusz Hiler
2018-10-17 12:15 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_load: Add 'load' subtest Arkadiusz Hiler
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Arkadiusz Hiler @ 2018-10-17 12:15 UTC (permalink / raw)
To: igt-dev; +Cc: Petri Latvala, Martin Peres
The test is i915 specific, so let's be clear on that. There is also more
subtests coming that are not just reloading.
Cc: Martin Peres <martin.peres@linux.intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tests/Makefile.sources | 2 +-
tests/{drv_module_reload.c => i915_load.c} | 0
tests/intel-ci/blacklist.txt | 2 +-
tests/intel-ci/fast-feedback.testlist | 6 +++---
tests/meson.build | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)
rename tests/{drv_module_reload.c => i915_load.c} (100%)
diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index cdf5a7e1..a1fa6e98 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -22,6 +22,7 @@ AMDGPU_TESTS = \
$(NULL)
TESTS_progs = \
+ i915_load \
core_auth \
core_get_client_auth \
core_getclient \
@@ -36,7 +37,6 @@ TESTS_progs = \
drv_getparams_basic \
drv_hangman \
drv_missed_irq \
- drv_module_reload \
drv_selftest \
drv_suspend \
gem_bad_reloc \
diff --git a/tests/drv_module_reload.c b/tests/i915_load.c
similarity index 100%
rename from tests/drv_module_reload.c
rename to tests/i915_load.c
diff --git a/tests/intel-ci/blacklist.txt b/tests/intel-ci/blacklist.txt
index 88b2fe31..129ea3f2 100644
--- a/tests/intel-ci/blacklist.txt
+++ b/tests/intel-ci/blacklist.txt
@@ -12,7 +12,7 @@ igt@drm_mm(@.*)?
# self-contained tests, leading to random
# failures in tests run afterwards.
###############################################
-igt@drv_module_reload(@.*)?
+igt@i915_load(@.*)?
igt@pm_rpm@module-reload
###############################################
# GEM
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index c625904d..5dfa4eb7 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -269,7 +269,7 @@ igt@vgem_basic@sysfs
# driver in a broken state that is not otherwise noticed in that test.
igt@vgem_basic@unload
-igt@drv_module_reload@basic-reload
-igt@drv_module_reload@basic-no-display
-igt@drv_module_reload@basic-reload-inject
+igt@i915_load@basic-reload
+igt@i915_load@basic-no-display
+igt@i915_load@basic-reload-inject
igt@pm_rpm@module-reload
diff --git a/tests/meson.build b/tests/meson.build
index d74eb109..41cc18c8 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,4 +1,5 @@
test_progs = [
+ 'i915_load',
'core_auth',
'core_get_client_auth',
'core_getclient',
@@ -13,7 +14,6 @@ test_progs = [
'drv_getparams_basic',
'drv_hangman',
'drv_missed_irq',
- 'drv_module_reload',
'drv_selftest',
'drv_suspend',
'gem_bad_reloc',
--
2.17.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t 2/3] tests/i915_load: Add 'load' subtest
2018-10-17 12:15 [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Arkadiusz Hiler
@ 2018-10-17 12:15 ` Arkadiusz Hiler
2018-10-17 12:31 ` Chris Wilson
2018-10-17 12:15 ` [igt-dev] [PATCH i-g-t 3/3] intel-ci: Prepend fast-feedback with i915_load@load Arkadiusz Hiler
` (3 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Arkadiusz Hiler @ 2018-10-17 12:15 UTC (permalink / raw)
To: igt-dev; +Cc: Petri Latvala
This subtest is meant to be run as a first thing on your system, making
it a catch-all for all the issues we can hit during the HW init, so the
runner can do its magic by looking for dragons in the dmesg and
overriding the final result if any were spotted.
To have full "normal boot" experience it also probes all the connectors.
The subtest warns if the driver is already loaded, so we know that
there's something off with the environment configuration.
It's already blacklisted for Intel's CI, along the other
module-wrangling subtests.
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tests/i915_load.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/tests/i915_load.c b/tests/i915_load.c
index cf4aea80..4f61d280 100644
--- a/tests/i915_load.c
+++ b/tests/i915_load.c
@@ -35,6 +35,7 @@
#include <signal.h>
#include <sys/ioctl.h>
#include <fcntl.h>
+#include <xf86drmMode.h>
#define LOCAL_I915_EXEC_BSD_SHIFT (13)
@@ -324,8 +325,46 @@ hda_dynamic_debug(bool enable)
fclose(fp);
}
+static void
+reprobe_connectors(int fd)
+{
+ int i;
+ drmModeConnectorPtr conn;
+
+ drmModeResPtr res = drmModeGetResources(fd);
+ if (!res)
+ return;
+
+ for (i = 0; i < res->count_connectors; ++i) {
+ /* drmModeGetConnector forces probe */
+ conn = drmModeGetConnector(fd, res->connectors[i]);
+ igt_assert(conn);
+ drmModeFreeConnector(conn);
+ }
+
+ drmModeFreeResources(res);
+}
+
igt_main
{
+ igt_subtest("load") {
+ int fd, load_error;
+ bool i915_already_loaded;
+
+ i915_already_loaded = igt_kmod_is_loaded("i915");
+ igt_warn_on(i915_already_loaded);
+
+ if (!i915_already_loaded) {
+ load_error = igt_i915_driver_load(NULL);
+ igt_assert_eq(load_error, 0);
+ }
+
+ fd = __drm_open_driver(DRIVER_INTEL);
+ igt_assert(fd > 0);
+ reprobe_connectors(fd);
+ close(fd);
+ }
+
igt_subtest("basic-reload") {
int load_error;
--
2.17.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [igt-dev] [PATCH i-g-t 3/3] intel-ci: Prepend fast-feedback with i915_load@load
2018-10-17 12:15 [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Arkadiusz Hiler
2018-10-17 12:15 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_load: Add 'load' subtest Arkadiusz Hiler
@ 2018-10-17 12:15 ` Arkadiusz Hiler
2018-10-17 12:34 ` [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Chris Wilson
` (2 subsequent siblings)
4 siblings, 0 replies; 11+ messages in thread
From: Arkadiusz Hiler @ 2018-10-17 12:15 UTC (permalink / raw)
To: igt-dev; +Cc: Tomi Sarvela, Petri Latvala
Make the i915-loading subtest first thing in fast-feedback.testlist,
so we have a nice catch-all for all the issues luring in dmesg related
to hw initialization.
This required i915 module to be blacklisted in order to work.
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tests/intel-ci/fast-feedback.testlist | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 5dfa4eb7..2296436c 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,5 +1,10 @@
# Keep alphabetically sorted by default
+# Special catch-all tests for driver loading.
+# CI targets should be started with i915 blacklisted,
+# so the module won't be loaded before we start executing.
+igt@i915_load@load
+
igt@core_auth@basic-auth
igt@core_prop_blob@basic
igt@debugfs_test@read_all_entries
--
2.17.2
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/3] tests/i915_load: Add 'load' subtest
2018-10-17 12:15 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_load: Add 'load' subtest Arkadiusz Hiler
@ 2018-10-17 12:31 ` Chris Wilson
2018-10-18 13:28 ` Arkadiusz Hiler
0 siblings, 1 reply; 11+ messages in thread
From: Chris Wilson @ 2018-10-17 12:31 UTC (permalink / raw)
To: Arkadiusz Hiler, igt-dev; +Cc: Petri Latvala
Quoting Arkadiusz Hiler (2018-10-17 13:15:44)
> This subtest is meant to be run as a first thing on your system, making
> it a catch-all for all the issues we can hit during the HW init, so the
> runner can do its magic by looking for dragons in the dmesg and
> overriding the final result if any were spotted.
>
> To have full "normal boot" experience it also probes all the connectors.
>
> The subtest warns if the driver is already loaded, so we know that
> there's something off with the environment configuration.
>
> It's already blacklisted for Intel's CI, along the other
> module-wrangling subtests.
>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
> tests/i915_load.c | 39 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
>
> diff --git a/tests/i915_load.c b/tests/i915_load.c
> index cf4aea80..4f61d280 100644
> --- a/tests/i915_load.c
> +++ b/tests/i915_load.c
> @@ -35,6 +35,7 @@
> #include <signal.h>
> #include <sys/ioctl.h>
> #include <fcntl.h>
> +#include <xf86drmMode.h>
>
>
> #define LOCAL_I915_EXEC_BSD_SHIFT (13)
> @@ -324,8 +325,46 @@ hda_dynamic_debug(bool enable)
> fclose(fp);
> }
>
> +static void
> +reprobe_connectors(int fd)
> +{
> + int i;
> + drmModeConnectorPtr conn;
> +
> + drmModeResPtr res = drmModeGetResources(fd);
> + if (!res)
> + return;
You can be really cheeky and do this entirely from the stack.
> + for (i = 0; i < res->count_connectors; ++i) {
> + /* drmModeGetConnector forces probe */
> + conn = drmModeGetConnector(fd, res->connectors[i]);
> + igt_assert(conn);
And doing so would allow you to inspect the error directly; as this
assert can mean many, many things. It could even be legitimate for DP-MST.
> + drmModeFreeConnector(conn);
> + }
> +
> + drmModeFreeResources(res);
> +}
> +
> igt_main
> {
> + igt_subtest("load") {
load? This is more of a "probe", I would say.
> + int fd, load_error;
> + bool i915_already_loaded;
> +
> + i915_already_loaded = igt_kmod_is_loaded("i915");
> + igt_warn_on(i915_already_loaded);
Warn? You didn't unload so randomly warning based on run order.
> + if (!i915_already_loaded) {
> + load_error = igt_i915_driver_load(NULL);
> + igt_assert_eq(load_error, 0);
> + }
> +
> + fd = __drm_open_driver(DRIVER_INTEL);
__drm_open_driver -> performs a default modprobe of the driver.
> + igt_assert(fd > 0);
> + reprobe_connectors(fd);
> + close(fd);
> + }
> +
> igt_subtest("basic-reload") {
> int load_error;
>
> --
> 2.17.2
>
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load
2018-10-17 12:15 [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Arkadiusz Hiler
2018-10-17 12:15 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_load: Add 'load' subtest Arkadiusz Hiler
2018-10-17 12:15 ` [igt-dev] [PATCH i-g-t 3/3] intel-ci: Prepend fast-feedback with i915_load@load Arkadiusz Hiler
@ 2018-10-17 12:34 ` Chris Wilson
2018-10-17 15:30 ` Arkadiusz Hiler
2018-10-17 14:26 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] " Patchwork
2018-10-17 17:40 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
4 siblings, 1 reply; 11+ messages in thread
From: Chris Wilson @ 2018-10-17 12:34 UTC (permalink / raw)
To: Arkadiusz Hiler, igt-dev; +Cc: Petri Latvala, Martin Peres
Quoting Arkadiusz Hiler (2018-10-17 13:15:43)
> The test is i915 specific, so let's be clear on that. There is also more
> subtests coming that are not just reloading.
It's still focussed on module_load, so I would want to keep module in
there so it's clearly nothing to do with runtime loads (workloads).
And adding a 'i915' is a good time to start a i915/
> Cc: Martin Peres <martin.peres@linux.intel.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
> tests/Makefile.sources | 2 +-
> tests/{drv_module_reload.c => i915_load.c} | 0
> tests/intel-ci/blacklist.txt | 2 +-
> tests/intel-ci/fast-feedback.testlist | 6 +++---
> tests/meson.build | 2 +-
> 5 files changed, 6 insertions(+), 6 deletions(-)
> rename tests/{drv_module_reload.c => i915_load.c} (100%)
>
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index cdf5a7e1..a1fa6e98 100644
> --- a/tests/Makefile.sources
> +++ b/tests/Makefile.sources
> @@ -22,6 +22,7 @@ AMDGPU_TESTS = \
> $(NULL)
>
> TESTS_progs = \
> + i915_load \
'i' is after 'c'
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] tests: Rename drv_module_reload to i915_load
2018-10-17 12:15 [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Arkadiusz Hiler
` (2 preceding siblings ...)
2018-10-17 12:34 ` [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Chris Wilson
@ 2018-10-17 14:26 ` Patchwork
2018-10-17 17:40 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2018-10-17 14:26 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/3] tests: Rename drv_module_reload to i915_load
URL : https://patchwork.freedesktop.org/series/51117/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_4994 -> IGTPW_1958 =
== Summary - SUCCESS ==
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/51117/revisions/1/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_1958:
=== IGT changes ===
==== Possible regressions ====
{igt@i915_load@load}:
fi-bsw-kefka: NOTRUN -> WARN
fi-snb-2520m: NOTRUN -> WARN
fi-elk-e7500: NOTRUN -> WARN
fi-hsw-4770r: NOTRUN -> WARN
fi-icl-u2: NOTRUN -> WARN
fi-ilk-650: NOTRUN -> WARN
fi-bxt-j4205: NOTRUN -> WARN
fi-skl-6700hq: NOTRUN -> WARN
fi-cfl-s3: NOTRUN -> WARN
fi-cfl-8109u: NOTRUN -> WARN
fi-kbl-7500u: NOTRUN -> WARN
fi-icl-u: NOTRUN -> WARN
fi-skl-6600u: NOTRUN -> WARN
fi-glk-j4005: NOTRUN -> WARN
fi-apl-guc: NOTRUN -> WARN
fi-cfl-8700k: NOTRUN -> WARN
fi-skl-iommu: NOTRUN -> WARN
fi-hsw-peppy: NOTRUN -> WARN
fi-blb-e6850: NOTRUN -> WARN
fi-ivb-3770: NOTRUN -> WARN
fi-skl-6700k2: NOTRUN -> WARN
fi-bsw-n3050: NOTRUN -> WARN
fi-cnl-u: NOTRUN -> WARN
fi-kbl-7567u: NOTRUN -> WARN
fi-skl-guc: NOTRUN -> WARN
fi-whl-u: NOTRUN -> WARN
fi-cfl-guc: NOTRUN -> WARN
fi-hsw-4770: NOTRUN -> WARN
fi-kbl-7560u: NOTRUN -> WARN
fi-bxt-dsi: NOTRUN -> WARN
fi-skl-gvtdvm: NOTRUN -> WARN
fi-kbl-8809g: NOTRUN -> WARN
fi-skl-6260u: NOTRUN -> WARN
fi-kbl-r: NOTRUN -> WARN
fi-byt-j1900: NOTRUN -> WARN
fi-kbl-x1275: NOTRUN -> WARN
fi-byt-clapper: NOTRUN -> WARN
fi-kbl-guc: NOTRUN -> WARN
fi-pnv-d510: NOTRUN -> WARN
fi-skl-6770hq: NOTRUN -> WARN
fi-bdw-5557u: NOTRUN -> WARN
fi-bwr-2160: NOTRUN -> WARN
== Known issues ==
Here are the changes found in IGTPW_1958 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@kms_flip@basic-flip-vs-dpms:
fi-skl-6700hq: PASS -> DMESG-WARN (fdo#105998)
igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
fi-byt-clapper: PASS -> INCOMPLETE (fdo#102657)
==== Possible fixes ====
igt@gem_exec_suspend@basic-s3:
fi-cfl-8109u: INCOMPLETE (fdo#108126, fdo#107187) -> PASS
igt@kms_frontbuffer_tracking@basic:
fi-icl-u2: FAIL (fdo#103167) -> PASS
igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
fi-byt-clapper: FAIL (fdo#107362) -> PASS
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
fdo#102657 https://bugs.freedesktop.org/show_bug.cgi?id=102657
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#105998 https://bugs.freedesktop.org/show_bug.cgi?id=105998
fdo#107187 https://bugs.freedesktop.org/show_bug.cgi?id=107187
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#108126 https://bugs.freedesktop.org/show_bug.cgi?id=108126
== Participating hosts (46 -> 42) ==
Additional (1): fi-icl-u
Missing (5): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan
== Build changes ==
* IGT: IGT_4682 -> IGTPW_1958
CI_DRM_4994: a587d260a1db3d6660c4148a5b3055f525bc7938 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1958: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1958/
IGT_4682: 0ac43db33e116b546e5704fe0b4dde21f391e09c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@i915_load@basic-no-display
+igt@i915_load@basic-reload
+igt@i915_load@basic-reload-inject
+igt@i915_load@load
-igt@drv_module_reload@basic-no-display
-igt@drv_module_reload@basic-reload
-igt@drv_module_reload@basic-reload-inject
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1958/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load
2018-10-17 12:34 ` [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Chris Wilson
@ 2018-10-17 15:30 ` Arkadiusz Hiler
2018-10-17 15:50 ` Chris Wilson
0 siblings, 1 reply; 11+ messages in thread
From: Arkadiusz Hiler @ 2018-10-17 15:30 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev, Tomi Sarvela, Petri Latvala, Martin Peres
On Wed, Oct 17, 2018 at 01:34:00PM +0100, Chris Wilson wrote:
> Quoting Arkadiusz Hiler (2018-10-17 13:15:43)
> > The test is i915 specific, so let's be clear on that. There is also more
> > subtests coming that are not just reloading.
>
> It's still focussed on module_load, so I would want to keep module in
> there so it's clearly nothing to do with runtime loads (workloads).
k
> And adding a 'i915' is a good time to start a i915/
I guess it still makes sense to have the binaries in a single directory,
both in build dir and libexec, just prefixed with the folder name.
With meson that's quite easy:
--------------------------------------------------
diff --git a/tests/meson.build b/tests/meson.build
index 41cc18c8..d4442ffc 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,5 +1,4 @@
test_progs = [
- 'i915_load_module',
'core_auth',
'core_get_client_auth',
'core_getclient',
@@ -215,6 +214,10 @@ test_progs = [
'vgem_slow',
]
+i915_progs = [
+ 'load_module',
+]
+
test_deps = [ igt_deps ]
if libdrm_nouveau.found()
@@ -250,6 +253,14 @@ foreach prog : test_progs
install : true)
endforeach
+foreach prog : i915_progs
+ test_executables += executable('i915_' + prog, join_paths('i915', prog + '.c'),
+ dependencies : test_deps,
+ install_dir : libexecdir,
+ install_rpath : libexecdir_rpathdir,
+ install : true)
+endforeach
+
test_executables += executable('gem_eio', 'gem_eio.c',
dependencies : test_deps + [ realtime ],
install_dir : libexecdir,
--------------------------------------------------
We need to figure how to do something similar with autotools.
... unless there is a different preference, that also won't make
Martin/Tomi miserable.
> > Cc: Martin Peres <martin.peres@linux.intel.com>
> > Cc: Petri Latvala <petri.latvala@intel.com>
> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > ---
> > tests/Makefile.sources | 2 +-
> > tests/{drv_module_reload.c => i915_load.c} | 0
> > tests/intel-ci/blacklist.txt | 2 +-
> > tests/intel-ci/fast-feedback.testlist | 6 +++---
> > tests/meson.build | 2 +-
> > 5 files changed, 6 insertions(+), 6 deletions(-)
> > rename tests/{drv_module_reload.c => i915_load.c} (100%)
> >
> > diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> > index cdf5a7e1..a1fa6e98 100644
> > --- a/tests/Makefile.sources
> > +++ b/tests/Makefile.sources
> > @@ -22,6 +22,7 @@ AMDGPU_TESTS = \
> > $(NULL)
> >
> > TESTS_progs = \
> > + i915_load \
>
> 'i' is after 'c'
> -Chris
I am constantly bad with alphabet, but wow...
I think this time it was my brain ignoring the letter and treating this
as a numeral.
-Arek
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load
2018-10-17 15:30 ` Arkadiusz Hiler
@ 2018-10-17 15:50 ` Chris Wilson
2018-10-17 16:06 ` Arkadiusz Hiler
0 siblings, 1 reply; 11+ messages in thread
From: Chris Wilson @ 2018-10-17 15:50 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev, Tomi Sarvela, Petri Latvala, Martin Peres
Quoting Arkadiusz Hiler (2018-10-17 16:30:13)
> On Wed, Oct 17, 2018 at 01:34:00PM +0100, Chris Wilson wrote:
> > Quoting Arkadiusz Hiler (2018-10-17 13:15:43)
> > > The test is i915 specific, so let's be clear on that. There is also more
> > > subtests coming that are not just reloading.
> >
> > It's still focussed on module_load, so I would want to keep module in
> > there so it's clearly nothing to do with runtime loads (workloads).
>
> k
>
> > And adding a 'i915' is a good time to start a i915/
>
> I guess it still makes sense to have the binaries in a single directory,
> both in build dir and libexec, just prefixed with the folder name.
>
> With meson that's quite easy:
Seems overkill for 'i915/i915_module_load', and maybe not all i915/
tests will themselves start with i915_? Just that i915/ is the
collection of i915 specific tests (like gem_, drv_hangman).
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load
2018-10-17 15:50 ` Chris Wilson
@ 2018-10-17 16:06 ` Arkadiusz Hiler
0 siblings, 0 replies; 11+ messages in thread
From: Arkadiusz Hiler @ 2018-10-17 16:06 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev, Tomi Sarvela, Petri Latvala, Martin Peres
On Wed, Oct 17, 2018 at 04:50:46PM +0100, Chris Wilson wrote:
> Quoting Arkadiusz Hiler (2018-10-17 16:30:13)
> > On Wed, Oct 17, 2018 at 01:34:00PM +0100, Chris Wilson wrote:
> > > Quoting Arkadiusz Hiler (2018-10-17 13:15:43)
> > > > The test is i915 specific, so let's be clear on that. There is also more
> > > > subtests coming that are not just reloading.
> > >
> > > It's still focussed on module_load, so I would want to keep module in
> > > there so it's clearly nothing to do with runtime loads (workloads).
> >
> > k
> >
> > > And adding a 'i915' is a good time to start a i915/
> >
> > I guess it still makes sense to have the binaries in a single directory,
> > both in build dir and libexec, just prefixed with the folder name.
> >
> > With meson that's quite easy:
>
> Seems overkill for 'i915/i915_module_load', and maybe not all i915/
> tests will themselves start with i915_? Just that i915/ is the
> collection of i915 specific tests (like gem_, drv_hangman).
> -Chris
i915/i915_ is an overkill, that why I haven't done that in example.
The file is i915/module_load.c and results in i915_module_load binary.
We should s/drv_// && mv $f i915/.
GEM can be easily handled. Just add a new lists and different prefixing
logic. e.g.:
-------------------------------------------------------------------------------
foreach prog : i915_progs
test_executables += executable('i915_' + prog, join_paths('i915', prog + '.c'),
dependencies : test_deps,
install_dir : libexecdir,
install_rpath : libexecdir_rpathdir,
install : true)
endforeach
foreach prog : gem_progs
test_executables += executable(prog, join_paths('i915', prog + '.c'),
dependencies : test_deps,
install_dir : libexecdir,
install_rpath : libexecdir_rpathdir,
install : true)
endforeach
-------------------------------------------------------------------------------
-Arek
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/3] tests: Rename drv_module_reload to i915_load
2018-10-17 12:15 [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Arkadiusz Hiler
` (3 preceding siblings ...)
2018-10-17 14:26 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] " Patchwork
@ 2018-10-17 17:40 ` Patchwork
4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2018-10-17 17:40 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: igt-dev
== Series Details ==
Series: series starting with [i-g-t,1/3] tests: Rename drv_module_reload to i915_load
URL : https://patchwork.freedesktop.org/series/51117/
State : failure
== Summary ==
= CI Bug Log - changes from IGT_4682_full -> IGTPW_1958_full =
== Summary - FAILURE ==
Serious unknown changes coming with IGTPW_1958_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_1958_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://patchwork.freedesktop.org/api/1.0/series/51117/revisions/1/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_1958_full:
=== IGT changes ===
==== Possible regressions ====
igt@kms_frontbuffer_tracking@fbc-suspend:
shard-kbl: PASS -> DMESG-WARN
==== Warnings ====
igt@kms_plane@plane-position-hole-dpms-pipe-a-planes:
shard-snb: SKIP -> PASS +5
igt@pm_rc6_residency@rc6-accuracy:
shard-kbl: PASS -> SKIP
== Known issues ==
Here are the changes found in IGTPW_1958_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_exec_schedule@pi-ringfull-bsd:
shard-glk: NOTRUN -> FAIL (fdo#103158) +2
igt@kms_available_modes_crc@available_mode_test_crc:
shard-glk: NOTRUN -> FAIL (fdo#106641)
shard-snb: PASS -> FAIL (fdo#106641)
igt@kms_busy@extended-modeset-hang-newfb-render-b:
shard-hsw: NOTRUN -> DMESG-WARN (fdo#107956) +4
igt@kms_busy@extended-modeset-hang-newfb-render-c:
shard-kbl: PASS -> DMESG-WARN (fdo#107956)
igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
shard-snb: NOTRUN -> DMESG-WARN (fdo#107956) +3
igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-e:
shard-snb: SKIP -> INCOMPLETE (fdo#105411)
igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
shard-hsw: PASS -> DMESG-WARN (fdo#107956)
igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
shard-glk: NOTRUN -> DMESG-WARN (fdo#107956) +4
igt@kms_cursor_crc@cursor-128x128-random:
shard-apl: PASS -> FAIL (fdo#103232) +2
igt@kms_cursor_crc@cursor-128x42-random:
shard-glk: PASS -> FAIL (fdo#103232) +3
igt@kms_cursor_crc@cursor-256x256-sliding:
shard-kbl: PASS -> FAIL (fdo#103232) +1
igt@kms_cursor_legacy@cursora-vs-flipa-atomic-transitions-varying-size:
shard-glk: NOTRUN -> DMESG-WARN (fdo#105763, fdo#106538) +1
igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
shard-glk: PASS -> DMESG-WARN (fdo#105763, fdo#106538) +2
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
shard-apl: PASS -> FAIL (fdo#103167) +2
shard-glk: NOTRUN -> FAIL (fdo#103167) +1
igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
shard-glk: PASS -> FAIL (fdo#103167) +4
igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary:
shard-glk: NOTRUN -> DMESG-FAIL (fdo#103167, fdo#106538)
igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
shard-glk: NOTRUN -> FAIL (fdo#108146)
igt@kms_plane_alpha_blend@pipe-c-alpha-transparant-fb:
shard-glk: NOTRUN -> FAIL (fdo#108145) +4
igt@kms_setmode@basic:
shard-apl: PASS -> FAIL (fdo#99912)
shard-hsw: NOTRUN -> FAIL (fdo#99912)
==== Possible fixes ====
igt@kms_available_modes_crc@available_mode_test_crc:
shard-apl: FAIL (fdo#106641) -> PASS
igt@kms_busy@extended-modeset-hang-newfb-render-a:
shard-snb: DMESG-WARN (fdo#107956) -> PASS
igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
shard-glk: FAIL (fdo#108145) -> PASS
igt@kms_cursor_crc@cursor-128x128-onscreen:
shard-kbl: FAIL (fdo#103232) -> PASS +1
shard-apl: FAIL (fdo#103232) -> PASS +4
igt@kms_cursor_crc@cursor-128x128-suspend:
shard-kbl: FAIL (fdo#103232, fdo#103191) -> PASS
igt@kms_cursor_crc@cursor-256x256-dpms:
shard-glk: FAIL (fdo#103232) -> PASS +1
igt@kms_cursor_crc@cursor-256x256-suspend:
shard-apl: FAIL (fdo#103232, fdo#103191) -> PASS
igt@kms_flip@flip-vs-expired-vblank:
shard-glk: FAIL (fdo#105363, fdo#102887) -> PASS
igt@kms_flip@flip-vs-expired-vblank-interruptible:
shard-kbl: FAIL (fdo#105363, fdo#102887) -> PASS
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
shard-apl: FAIL (fdo#103167) -> PASS +4
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
shard-kbl: FAIL (fdo#103167) -> PASS +1
igt@kms_frontbuffer_tracking@fbc-1p-rte:
shard-apl: FAIL (fdo#105682, fdo#103167) -> PASS
igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
shard-glk: FAIL (fdo#103167) -> PASS +3
igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
shard-apl: FAIL (fdo#103166) -> PASS +1
shard-glk: FAIL (fdo#103166) -> PASS
shard-kbl: FAIL (fdo#103166) -> PASS
igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
shard-apl: DMESG-FAIL (fdo#103166, fdo#105602, fdo#103558) -> PASS +1
igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
shard-apl: DMESG-WARN (fdo#105602, fdo#103558) -> PASS +15
igt@kms_setmode@basic:
shard-kbl: FAIL (fdo#99912) -> PASS
igt@perf_pmu@semaphore-wait-vecs0:
shard-snb: INCOMPLETE (fdo#105411) -> SKIP
==== Warnings ====
igt@kms_plane@pixel-format-pipe-c-planes:
shard-apl: DMESG-FAIL (fdo#103166, fdo#105602, fdo#103558) -> FAIL (fdo#103166)
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158
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#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682
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#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
== Participating hosts (6 -> 5) ==
Missing (1): shard-skl
== Build changes ==
* IGT: IGT_4682 -> IGTPW_1958
* Linux: CI_DRM_4990 -> CI_DRM_4994
CI_DRM_4990: 0bd34d92e9a27784cb988a300619f497ca0e99ec @ git://anongit.freedesktop.org/gfx-ci/linux
CI_DRM_4994: a587d260a1db3d6660c4148a5b3055f525bc7938 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1958: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1958/
IGT_4682: 0ac43db33e116b546e5704fe0b4dde21f391e09c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1958/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/3] tests/i915_load: Add 'load' subtest
2018-10-17 12:31 ` Chris Wilson
@ 2018-10-18 13:28 ` Arkadiusz Hiler
0 siblings, 0 replies; 11+ messages in thread
From: Arkadiusz Hiler @ 2018-10-18 13:28 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev, Petri Latvala
On Wed, Oct 17, 2018 at 01:31:56PM +0100, Chris Wilson wrote:
> Quoting Arkadiusz Hiler (2018-10-17 13:15:44)
> > This subtest is meant to be run as a first thing on your system, making
> > it a catch-all for all the issues we can hit during the HW init, so the
> > runner can do its magic by looking for dragons in the dmesg and
> > overriding the final result if any were spotted.
> >
> > To have full "normal boot" experience it also probes all the connectors.
> >
> > The subtest warns if the driver is already loaded, so we know that
> > there's something off with the environment configuration.
> >
> > It's already blacklisted for Intel's CI, along the other
> > module-wrangling subtests.
> >
> > Cc: Petri Latvala <petri.latvala@intel.com>
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > ---
> > tests/i915_load.c | 39 +++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 39 insertions(+)
> >
> > diff --git a/tests/i915_load.c b/tests/i915_load.c
> > index cf4aea80..4f61d280 100644
> > --- a/tests/i915_load.c
> > +++ b/tests/i915_load.c
> > @@ -35,6 +35,7 @@
> > #include <signal.h>
> > #include <sys/ioctl.h>
> > #include <fcntl.h>
> > +#include <xf86drmMode.h>
> >
> >
> > #define LOCAL_I915_EXEC_BSD_SHIFT (13)
> > @@ -324,8 +325,46 @@ hda_dynamic_debug(bool enable)
> > fclose(fp);
> > }
> >
> > +static void
> > +reprobe_connectors(int fd)
> > +{
> > + int i;
> > + drmModeConnectorPtr conn;
> > +
> > + drmModeResPtr res = drmModeGetResources(fd);
> > + if (!res)
> > + return;
>
> You can be really cheeky and do this entirely from the stack.
Care to elaborate?
> > + for (i = 0; i < res->count_connectors; ++i) {
> > + /* drmModeGetConnector forces probe */
> > + conn = drmModeGetConnector(fd, res->connectors[i]);
> > + igt_assert(conn);
>
> And doing so would allow you to inspect the error directly; as this
> assert can mean many, many things. It could even be legitimate for DP-MST.
Fair point.
> > + drmModeFreeConnector(conn);
> > + }
> > +
> > + drmModeFreeResources(res);
> > +}
> > +
> > igt_main
> > {
> > + igt_subtest("load") {
>
> load? This is more of a "probe", I would say.
It loads the module and probes the connectors, but I think that "load"
is more descriptive of the intention here.
> > + int fd, load_error;
> > + bool i915_already_loaded;
> > +
> > + i915_already_loaded = igt_kmod_is_loaded("i915");
> > + igt_warn_on(i915_already_loaded);
>
> Warn? You didn't unload so randomly warning based on run order.
Not randomly, always in the same scenarios. I think the warn is
descriptive enough.
Warning here will also notify us about any issues with the testing
configuration - if we run the test when we are not supposed to, or if we
modprobe i915 (e.g. due to broken blacklisting), rendering the test
useless.
We can go with a better name here than "load", to be even clearer.
-Arek
> > + if (!i915_already_loaded) {
> > + load_error = igt_i915_driver_load(NULL);
> > + igt_assert_eq(load_error, 0);
> > + }
> > +
> > + fd = __drm_open_driver(DRIVER_INTEL);
>
> __drm_open_driver -> performs a default modprobe of the driver.
>
> > + igt_assert(fd > 0);
> > + reprobe_connectors(fd);
> > + close(fd);
> > + }
> > +
> > igt_subtest("basic-reload") {
> > int load_error;
> >
> > --
> > 2.17.2
> >
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2018-10-18 13:28 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-17 12:15 [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Arkadiusz Hiler
2018-10-17 12:15 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_load: Add 'load' subtest Arkadiusz Hiler
2018-10-17 12:31 ` Chris Wilson
2018-10-18 13:28 ` Arkadiusz Hiler
2018-10-17 12:15 ` [igt-dev] [PATCH i-g-t 3/3] intel-ci: Prepend fast-feedback with i915_load@load Arkadiusz Hiler
2018-10-17 12:34 ` [igt-dev] [PATCH i-g-t 1/3] tests: Rename drv_module_reload to i915_load Chris Wilson
2018-10-17 15:30 ` Arkadiusz Hiler
2018-10-17 15:50 ` Chris Wilson
2018-10-17 16:06 ` Arkadiusz Hiler
2018-10-17 14:26 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] " Patchwork
2018-10-17 17:40 ` [igt-dev] ✗ Fi.CI.IGT: failure " 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.