All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test
@ 2023-05-31 13:49 Anna Karas
  2023-05-31 14:25 ` Manszewski, Christoph
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Anna Karas @ 2023-05-31 13:49 UTC (permalink / raw)
  To: igt-dev; +Cc: Sai Gowtham Ch, Chris Wilson

Port i915_module_error test to XE. This test checks if we can access
debugfs/sysfs after a module load error, in this case a guc load error,
for capturing the requisite debug info.

Signed-off-by: Anna Karas <anna.karas@intel.com>
---
 tests/meson.build          |   1 +
 tests/xe/xe_module_error.c | 145 +++++++++++++++++++++++++++++++++++++
 2 files changed, 146 insertions(+)
 create mode 100644 tests/xe/xe_module_error.c

diff --git a/tests/meson.build b/tests/meson.build
index f71be1db..533c96e8 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -261,6 +261,7 @@ xe_progs = [
 	'xe_intel_bb',
 	'xe_mmap',
 	'xe_mmio',
+        'xe_module_error',
 	'xe_module_load',
 	'xe_noexec_ping_pong',
 	'xe_pm',
diff --git a/tests/xe/xe_module_error.c b/tests/xe/xe_module_error.c
new file mode 100644
index 00000000..a17d85ca
--- /dev/null
+++ b/tests/xe/xe_module_error.c
@@ -0,0 +1,145 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include <dirent.h>
+
+#include "igt.h"
+#include "igt_kmod.h"
+#include "igt_debugfs.h"
+#include "igt_sysfs.h"
+#include "xe_drm.h"
+
+#include "xe/xe_spin.h"
+
+/**
+ * TEST: Check if we can access sysfs/debugfs after a module load error
+ * Category: Software building block
+ * Sub-category: debugfs
+ * Test category: functionality test
+ * Run type: BAT
+ */
+
+/**
+ * SUBTEST: sysfs
+ * Description: Read all entries from sysfs path
+ * Run type: FULL
+ */
+
+/**
+ * SUBTEST: debugfs
+ * Description: Read all entries from debugfs path
+ * Run type: FULL
+ */
+static void read_sysfs_entries(int path, int indent)
+{
+	char tabs[] = "\t\t\t\t\t\t\t\t";
+	struct dirent *dirent;
+	DIR *dir;
+
+	igt_assert(indent < sizeof(tabs) - 1);
+	tabs[indent] = '\0';
+
+	dir = fdopendir(path);
+	if (!dir)
+		return;
+
+	while ((dirent = readdir(dir))) {
+		if (!strcmp(dirent->d_name, ".") ||
+		    !strcmp(dirent->d_name, ".."))
+			continue;
+
+		if (dirent->d_type == DT_DIR) {
+			int sub;
+
+			sub = openat(path, dirent->d_name, O_RDONLY | O_DIRECTORY);
+			if (sub < 0)
+				continue;
+
+			igt_kmsg(KMSG_DEBUG "Reading directory \"%s\"\n", dirent->d_name);
+			igt_debug("%sEntering subdir %s\n", tabs, dirent->d_name);
+			read_sysfs_entries(sub, indent + 1);
+			close(sub);
+		} else if (dirent->d_type == DT_REG) {
+			char buf[512];
+			int sub;
+			ssize_t ret;
+
+			igt_kmsg(KMSG_DEBUG "Reading file \"%s\"\n", dirent->d_name);
+			igt_debug("%sReading file \"%s\"\n", tabs, dirent->d_name);
+			igt_set_timeout(igt_run_in_simulation() ? 30 : 5,
+					"reading sysfs entry");
+
+			sub = openat(path, dirent->d_name, O_RDONLY | O_NONBLOCK);
+			if (sub == -1) {
+				igt_debug("%sCould not open file \"%s\" with error: %m\n",
+					  tabs, dirent->d_name);
+				continue;
+			}
+
+			do {
+				ret = read(sub, buf, sizeof(buf));
+			} while (ret == sizeof(buf));
+
+			if (ret == -1)
+				igt_debug("%sCould not read file \"%s\" with error: %m\n",
+					  tabs, dirent->d_name);
+
+			igt_reset_timeout();
+			close(sub);
+		}
+	}
+
+	closedir(dir);
+}
+
+static void abort_if_loaded(const char *module_name)
+{
+	int err;
+
+	err = igt_kmod_unload(module_name, 0);
+	if (err == 0 || err == -ENOENT) /* -ENOENT == unloaded already */
+		return;
+
+	igt_abort_on_f(err,
+		       "Failed to unload '%s' err:%d, leaving dangerous modparams intact!\n",
+		       module_name, err);
+}
+
+static void unload(int sig)
+{
+	igt_xe_driver_unload();
+	abort_if_loaded("xe");
+}
+
+igt_main
+{
+	int fd;
+
+	igt_fixture {
+		igt_xe_driver_unload();
+		igt_xe_driver_load("guc_firmware_path=/dev/null inject_probe_failure=-1 force_probe=*");
+		igt_install_exit_handler(unload);
+
+		fd = drm_open_driver(DRIVER_XE);
+		xe_device_get(fd);
+	}
+
+	igt_subtest("sysfs") {
+		igt_fork(child, 1)
+			read_sysfs_entries(igt_sysfs_open(fd), 0);
+		igt_waitchildren();
+	}
+
+	igt_subtest("debugfs") {
+		igt_fork(child, 1)
+			read_sysfs_entries(igt_debugfs_dir(fd), 0);
+		igt_waitchildren();
+	}
+
+	igt_fixture {
+		xe_device_put(fd);
+		close(fd);
+	}
+}
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test
  2023-05-31 13:49 [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test Anna Karas
@ 2023-05-31 14:25 ` Manszewski, Christoph
  2023-06-01  7:53   ` Karas, Anna
  2023-05-31 15:02 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2023-06-02  1:17 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2 siblings, 1 reply; 7+ messages in thread
From: Manszewski, Christoph @ 2023-05-31 14:25 UTC (permalink / raw)
  To: Anna Karas, igt-dev; +Cc: Sai Gowtham Ch, Chris Wilson

Hi Anna,

On 31.05.2023 15:49, Anna Karas wrote:
> Port i915_module_error test to XE. This test checks if we can access
> debugfs/sysfs after a module load error, in this case a guc load error,
> for capturing the requisite debug info.
> 
> Signed-off-by: Anna Karas <anna.karas@intel.com>

Since this code is almost entirely copied, I think it would be good 
practice to credit the original author by adding a 'Authored-by' or 
'Signed-off-by' line.

Christoph


> ---
>   tests/meson.build          |   1 +
>   tests/xe/xe_module_error.c | 145 +++++++++++++++++++++++++++++++++++++
>   2 files changed, 146 insertions(+)
>   create mode 100644 tests/xe/xe_module_error.c
> 
> diff --git a/tests/meson.build b/tests/meson.build
> index f71be1db..533c96e8 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -261,6 +261,7 @@ xe_progs = [
>   	'xe_intel_bb',
>   	'xe_mmap',
>   	'xe_mmio',
> +        'xe_module_error',
>   	'xe_module_load',
>   	'xe_noexec_ping_pong',
>   	'xe_pm',
> diff --git a/tests/xe/xe_module_error.c b/tests/xe/xe_module_error.c
> new file mode 100644
> index 00000000..a17d85ca
> --- /dev/null
> +++ b/tests/xe/xe_module_error.c
> @@ -0,0 +1,145 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#include <dirent.h>
> +
> +#include "igt.h"
> +#include "igt_kmod.h"
> +#include "igt_debugfs.h"
> +#include "igt_sysfs.h"
> +#include "xe_drm.h"
> +
> +#include "xe/xe_spin.h"
> +
> +/**
> + * TEST: Check if we can access sysfs/debugfs after a module load error
> + * Category: Software building block
> + * Sub-category: debugfs
> + * Test category: functionality test
> + * Run type: BAT
> + */
> +
> +/**
> + * SUBTEST: sysfs
> + * Description: Read all entries from sysfs path
> + * Run type: FULL
> + */
> +
> +/**
> + * SUBTEST: debugfs
> + * Description: Read all entries from debugfs path
> + * Run type: FULL
> + */
> +static void read_sysfs_entries(int path, int indent)
> +{
> +	char tabs[] = "\t\t\t\t\t\t\t\t";
> +	struct dirent *dirent;
> +	DIR *dir;
> +
> +	igt_assert(indent < sizeof(tabs) - 1);
> +	tabs[indent] = '\0';
> +
> +	dir = fdopendir(path);
> +	if (!dir)
> +		return;
> +
> +	while ((dirent = readdir(dir))) {
> +		if (!strcmp(dirent->d_name, ".") ||
> +		    !strcmp(dirent->d_name, ".."))
> +			continue;
> +
> +		if (dirent->d_type == DT_DIR) {
> +			int sub;
> +
> +			sub = openat(path, dirent->d_name, O_RDONLY | O_DIRECTORY);
> +			if (sub < 0)
> +				continue;
> +
> +			igt_kmsg(KMSG_DEBUG "Reading directory \"%s\"\n", dirent->d_name);
> +			igt_debug("%sEntering subdir %s\n", tabs, dirent->d_name);
> +			read_sysfs_entries(sub, indent + 1);
> +			close(sub);
> +		} else if (dirent->d_type == DT_REG) {
> +			char buf[512];
> +			int sub;
> +			ssize_t ret;
> +
> +			igt_kmsg(KMSG_DEBUG "Reading file \"%s\"\n", dirent->d_name);
> +			igt_debug("%sReading file \"%s\"\n", tabs, dirent->d_name);
> +			igt_set_timeout(igt_run_in_simulation() ? 30 : 5,
> +					"reading sysfs entry");
> +
> +			sub = openat(path, dirent->d_name, O_RDONLY | O_NONBLOCK);
> +			if (sub == -1) {
> +				igt_debug("%sCould not open file \"%s\" with error: %m\n",
> +					  tabs, dirent->d_name);
> +				continue;
> +			}
> +
> +			do {
> +				ret = read(sub, buf, sizeof(buf));
> +			} while (ret == sizeof(buf));
> +
> +			if (ret == -1)
> +				igt_debug("%sCould not read file \"%s\" with error: %m\n",
> +					  tabs, dirent->d_name);
> +
> +			igt_reset_timeout();
> +			close(sub);
> +		}
> +	}
> +
> +	closedir(dir);
> +}
> +
> +static void abort_if_loaded(const char *module_name)
> +{
> +	int err;
> +
> +	err = igt_kmod_unload(module_name, 0);
> +	if (err == 0 || err == -ENOENT) /* -ENOENT == unloaded already */
> +		return;
> +
> +	igt_abort_on_f(err,
> +		       "Failed to unload '%s' err:%d, leaving dangerous modparams intact!\n",
> +		       module_name, err);
> +}
> +
> +static void unload(int sig)
> +{
> +	igt_xe_driver_unload();
> +	abort_if_loaded("xe");
> +}
> +
> +igt_main
> +{
> +	int fd;
> +
> +	igt_fixture {
> +		igt_xe_driver_unload();
> +		igt_xe_driver_load("guc_firmware_path=/dev/null inject_probe_failure=-1 force_probe=*");
> +		igt_install_exit_handler(unload);
> +
> +		fd = drm_open_driver(DRIVER_XE);
> +		xe_device_get(fd);
> +	}
> +
> +	igt_subtest("sysfs") {
> +		igt_fork(child, 1)
> +			read_sysfs_entries(igt_sysfs_open(fd), 0);
> +		igt_waitchildren();
> +	}
> +
> +	igt_subtest("debugfs") {
> +		igt_fork(child, 1)
> +			read_sysfs_entries(igt_debugfs_dir(fd), 0);
> +		igt_waitchildren();
> +	}
> +
> +	igt_fixture {
> +		xe_device_put(fd);
> +		close(fd);
> +	}
> +}

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for tests/xe: Add xe_module_error test
  2023-05-31 13:49 [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test Anna Karas
  2023-05-31 14:25 ` Manszewski, Christoph
@ 2023-05-31 15:02 ` Patchwork
  2023-06-02  1:17 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2023-05-31 15:02 UTC (permalink / raw)
  To: Anna Karas; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 6290 bytes --]

== Series Details ==

Series: tests/xe: Add xe_module_error test
URL   : https://patchwork.freedesktop.org/series/118650/
State : success

== Summary ==

CI Bug Log - changes from IGT_7314 -> IGTPW_9081
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/index.html

Participating hosts (36 -> 37)
------------------------------

  Additional (1): fi-kbl-soraka 

Known issues
------------

  Here are the changes found in IGTPW_9081 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#2190])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#4613]) +3 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html

  * igt@i915_selftest@live@gt_pm:
    - fi-kbl-soraka:      NOTRUN -> [DMESG-FAIL][3] ([i915#1886] / [i915#7913])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@reset:
    - bat-rpls-2:         [PASS][4] -> [ABORT][5] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#7981] / [i915#8347])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/bat-rpls-2/igt@i915_selftest@live@reset.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/bat-rpls-2/igt@i915_selftest@live@reset.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][6] ([fdo#109271]) +14 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/fi-kbl-soraka/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-dg2-11:         NOTRUN -> [SKIP][7] ([i915#1845] / [i915#5354]) +2 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1:
    - bat-dg2-8:          [PASS][8] -> [FAIL][9] ([i915#7932]) +1 similar issue
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#4579])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/fi-kbl-soraka/igt@kms_setmode@basic-clone-single-crtc.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-hsw-4770:        [SKIP][11] ([fdo#109271]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@i915_pm_rpm@basic-rte:
    - fi-hsw-4770:        [FAIL][13] ([i915#7364]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html

  * igt@i915_selftest@live@migrate:
    - bat-adlp-9:         [DMESG-FAIL][15] ([i915#7699] / [i915#7913]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/bat-adlp-9/igt@i915_selftest@live@migrate.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/bat-adlp-9/igt@i915_selftest@live@migrate.html
    - {bat-mtlp-8}:       [DMESG-FAIL][17] ([i915#7699]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/bat-mtlp-8/igt@i915_selftest@live@migrate.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/bat-mtlp-8/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@workarounds:
    - bat-rpls-1:         [DMESG-WARN][19] ([i915#7852]) -> [PASS][20] +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/bat-rpls-1/igt@i915_selftest@live@workarounds.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/bat-rpls-1/igt@i915_selftest@live@workarounds.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#7364]: https://gitlab.freedesktop.org/drm/intel/issues/7364
  [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
  [i915#7852]: https://gitlab.freedesktop.org/drm/intel/issues/7852
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
  [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981
  [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7314 -> IGTPW_9081

  CI-20190529: 20190529
  CI_DRM_13206: 1f26581192d798031ff95fcbce2c2fe4ac953c65 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_9081: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/index.html
  IGT_7314: ab70dfcdecf93a17fcaddb774855f726325fa0dd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git


Testlist changes
----------------

+igt@xe_module_error@debugfs
+igt@xe_module_error@sysfs

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/index.html

[-- Attachment #2: Type: text/html, Size: 7658 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test
  2023-05-31 14:25 ` Manszewski, Christoph
@ 2023-06-01  7:53   ` Karas, Anna
  2023-06-01  8:03     ` Ch, Sai Gowtham
  0 siblings, 1 reply; 7+ messages in thread
From: Karas, Anna @ 2023-06-01  7:53 UTC (permalink / raw)
  To: Manszewski, Christoph, igt-dev; +Cc: Sai Gowtham Ch, Chris Wilson

Hi Christoph,

On 31.05.2023 16:25, Manszewski, Christoph wrote:
> Hi Anna,
> 
> On 31.05.2023 15:49, Anna Karas wrote:
>> Port i915_module_error test to XE. This test checks if we can access
>> debugfs/sysfs after a module load error, in this case a guc load error,
>> for capturing the requisite debug info.
>>
>> Signed-off-by: Anna Karas <anna.karas@intel.com>
> 
> Since this code is almost entirely copied, I think it would be good 
> practice to credit the original author by adding a 'Authored-by' or 
> 'Signed-off-by' line.
> 
> Christoph
> 

I will add it to v2. Thanks!
> 
>> ---
>>   tests/meson.build          |   1 +
>>   tests/xe/xe_module_error.c | 145 +++++++++++++++++++++++++++++++++++++
>>   2 files changed, 146 insertions(+)
>>   create mode 100644 tests/xe/xe_module_error.c
>>
>> diff --git a/tests/meson.build b/tests/meson.build
>> index f71be1db..533c96e8 100644
>> --- a/tests/meson.build
>> +++ b/tests/meson.build
>> @@ -261,6 +261,7 @@ xe_progs = [
>>       'xe_intel_bb',
>>       'xe_mmap',
>>       'xe_mmio',
>> +        'xe_module_error',
>>       'xe_module_load',
>>       'xe_noexec_ping_pong',
>>       'xe_pm',
>> diff --git a/tests/xe/xe_module_error.c b/tests/xe/xe_module_error.c
>> new file mode 100644
>> index 00000000..a17d85ca
>> --- /dev/null
>> +++ b/tests/xe/xe_module_error.c
>> @@ -0,0 +1,145 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2023 Intel Corporation
>> + */
>> +
>> +#include <dirent.h>
>> +
>> +#include "igt.h"
>> +#include "igt_kmod.h"
>> +#include "igt_debugfs.h"
>> +#include "igt_sysfs.h"
>> +#include "xe_drm.h"
>> +
>> +#include "xe/xe_spin.h"
>> +
>> +/**
>> + * TEST: Check if we can access sysfs/debugfs after a module load error
>> + * Category: Software building block
>> + * Sub-category: debugfs
>> + * Test category: functionality test
>> + * Run type: BAT
>> + */
>> +
>> +/**
>> + * SUBTEST: sysfs
>> + * Description: Read all entries from sysfs path
>> + * Run type: FULL
>> + */
>> +
>> +/**
>> + * SUBTEST: debugfs
>> + * Description: Read all entries from debugfs path
>> + * Run type: FULL
>> + */
>> +static void read_sysfs_entries(int path, int indent)
>> +{
>> +    char tabs[] = "\t\t\t\t\t\t\t\t";
>> +    struct dirent *dirent;
>> +    DIR *dir;
>> +
>> +    igt_assert(indent < sizeof(tabs) - 1);
>> +    tabs[indent] = '\0';
>> +
>> +    dir = fdopendir(path);
>> +    if (!dir)
>> +        return;
>> +
>> +    while ((dirent = readdir(dir))) {
>> +        if (!strcmp(dirent->d_name, ".") ||
>> +            !strcmp(dirent->d_name, ".."))
>> +            continue;
>> +
>> +        if (dirent->d_type == DT_DIR) {
>> +            int sub;
>> +
>> +            sub = openat(path, dirent->d_name, O_RDONLY | O_DIRECTORY);
>> +            if (sub < 0)
>> +                continue;
>> +
>> +            igt_kmsg(KMSG_DEBUG "Reading directory \"%s\"\n", 
>> dirent->d_name);
>> +            igt_debug("%sEntering subdir %s\n", tabs, dirent->d_name);
>> +            read_sysfs_entries(sub, indent + 1);
>> +            close(sub);
>> +        } else if (dirent->d_type == DT_REG) {
>> +            char buf[512];
>> +            int sub;
>> +            ssize_t ret;
>> +
>> +            igt_kmsg(KMSG_DEBUG "Reading file \"%s\"\n", 
>> dirent->d_name);
>> +            igt_debug("%sReading file \"%s\"\n", tabs, dirent->d_name);
>> +            igt_set_timeout(igt_run_in_simulation() ? 30 : 5,
>> +                    "reading sysfs entry");
>> +
>> +            sub = openat(path, dirent->d_name, O_RDONLY | O_NONBLOCK);
>> +            if (sub == -1) {
>> +                igt_debug("%sCould not open file \"%s\" with error: 
>> %m\n",
>> +                      tabs, dirent->d_name);
>> +                continue;
>> +            }
>> +
>> +            do {
>> +                ret = read(sub, buf, sizeof(buf));
>> +            } while (ret == sizeof(buf));
>> +
>> +            if (ret == -1)
>> +                igt_debug("%sCould not read file \"%s\" with error: 
>> %m\n",
>> +                      tabs, dirent->d_name);
>> +
>> +            igt_reset_timeout();
>> +            close(sub);
>> +        }
>> +    }
>> +
>> +    closedir(dir);
>> +}
>> +
>> +static void abort_if_loaded(const char *module_name)
>> +{
>> +    int err;
>> +
>> +    err = igt_kmod_unload(module_name, 0);
>> +    if (err == 0 || err == -ENOENT) /* -ENOENT == unloaded already */
>> +        return;
>> +
>> +    igt_abort_on_f(err,
>> +               "Failed to unload '%s' err:%d, leaving dangerous 
>> modparams intact!\n",
>> +               module_name, err);
>> +}
>> +
>> +static void unload(int sig)
>> +{
>> +    igt_xe_driver_unload();
>> +    abort_if_loaded("xe");
>> +}
>> +
>> +igt_main
>> +{
>> +    int fd;
>> +
>> +    igt_fixture {
>> +        igt_xe_driver_unload();
>> +        igt_xe_driver_load("guc_firmware_path=/dev/null 
>> inject_probe_failure=-1 force_probe=*");
>> +        igt_install_exit_handler(unload);
>> +
>> +        fd = drm_open_driver(DRIVER_XE);
>> +        xe_device_get(fd);
>> +    }
>> +
>> +    igt_subtest("sysfs") {
>> +        igt_fork(child, 1)
>> +            read_sysfs_entries(igt_sysfs_open(fd), 0);
>> +        igt_waitchildren();
>> +    }
>> +
>> +    igt_subtest("debugfs") {
>> +        igt_fork(child, 1)
>> +            read_sysfs_entries(igt_debugfs_dir(fd), 0);
>> +        igt_waitchildren();
>> +    }
>> +
>> +    igt_fixture {
>> +        xe_device_put(fd);
>> +        close(fd);
>> +    }
>> +}

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test
  2023-06-01  7:53   ` Karas, Anna
@ 2023-06-01  8:03     ` Ch, Sai Gowtham
  2023-06-01 11:03       ` Kumar, Janga Rahul
  0 siblings, 1 reply; 7+ messages in thread
From: Ch, Sai Gowtham @ 2023-06-01  8:03 UTC (permalink / raw)
  To: Karas, Anna, Manszewski, Christoph, igt-dev; +Cc: Chris Wilson

Hi Anna

> -----Original Message-----
> From: Karas, Anna <anna.karas@intel.com>
> Sent: Thursday, June 1, 2023 1:24 PM
> To: Manszewski, Christoph <christoph.manszewski@intel.com>; igt-
> dev@lists.freedesktop.org
> Cc: Ch, Sai Gowtham <sai.gowtham.ch@intel.com>; Chris Wilson
> <chris.p.wilson@linux.intel.com>
> Subject: Re: [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test
> 
> Hi Christoph,
> 
> On 31.05.2023 16:25, Manszewski, Christoph wrote:
> > Hi Anna,
> >
> > On 31.05.2023 15:49, Anna Karas wrote:
> >> Port i915_module_error test to XE. This test checks if we can access
> >> debugfs/sysfs after a module load error, in this case a guc load
> >> error, for capturing the requisite debug info.
> >>
> >> Signed-off-by: Anna Karas <anna.karas@intel.com>
> >
> > Since this code is almost entirely copied, I think it would be good
> > practice to credit the original author by adding a 'Authored-by' or
> > 'Signed-off-by' line.
> >
> > Christoph
> >
> 
> I will add it to v2. Thanks!
> >
> >> ---
> >>   tests/meson.build          |   1 +
> >>   tests/xe/xe_module_error.c | 145
> >> +++++++++++++++++++++++++++++++++++++
> >>   2 files changed, 146 insertions(+)
> >>   create mode 100644 tests/xe/xe_module_error.c
> >>
> >> diff --git a/tests/meson.build b/tests/meson.build index
> >> f71be1db..533c96e8 100644
> >> --- a/tests/meson.build
> >> +++ b/tests/meson.build
> >> @@ -261,6 +261,7 @@ xe_progs = [
> >>       'xe_intel_bb',
> >>       'xe_mmap',
> >>       'xe_mmio',
> >> +        'xe_module_error',
Can you check if the spacing is correct here.

Rest of the test looks good to me, However just to check have you verified this test ?

----
Gowtham 
> >>       'xe_module_load',
> >>       'xe_noexec_ping_pong',
> >>       'xe_pm',
> >> diff --git a/tests/xe/xe_module_error.c b/tests/xe/xe_module_error.c
> >> new file mode 100644 index 00000000..a17d85ca
> >> --- /dev/null
> >> +++ b/tests/xe/xe_module_error.c
> >> @@ -0,0 +1,145 @@
> >> +// SPDX-License-Identifier: MIT
> >> +/*
> >> + * Copyright © 2023 Intel Corporation  */
> >> +
> >> +#include <dirent.h>
> >> +
> >> +#include "igt.h"
> >> +#include "igt_kmod.h"
> >> +#include "igt_debugfs.h"
> >> +#include "igt_sysfs.h"
> >> +#include "xe_drm.h"
> >> +
> >> +#include "xe/xe_spin.h"
> >> +
> >> +/**
> >> + * TEST: Check if we can access sysfs/debugfs after a module load
> >> +error
> >> + * Category: Software building block
> >> + * Sub-category: debugfs
> >> + * Test category: functionality test
> >> + * Run type: BAT
> >> + */
> >> +
> >> +/**
> >> + * SUBTEST: sysfs
> >> + * Description: Read all entries from sysfs path
> >> + * Run type: FULL
> >> + */
> >> +
> >> +/**
> >> + * SUBTEST: debugfs
> >> + * Description: Read all entries from debugfs path
> >> + * Run type: FULL
> >> + */
> >> +static void read_sysfs_entries(int path, int indent) {
> >> +    char tabs[] = "\t\t\t\t\t\t\t\t";
> >> +    struct dirent *dirent;
> >> +    DIR *dir;
> >> +
> >> +    igt_assert(indent < sizeof(tabs) - 1);
> >> +    tabs[indent] = '\0';
> >> +
> >> +    dir = fdopendir(path);
> >> +    if (!dir)
> >> +        return;
> >> +
> >> +    while ((dirent = readdir(dir))) {
> >> +        if (!strcmp(dirent->d_name, ".") ||
> >> +            !strcmp(dirent->d_name, ".."))
> >> +            continue;
> >> +
> >> +        if (dirent->d_type == DT_DIR) {
> >> +            int sub;
> >> +
> >> +            sub = openat(path, dirent->d_name, O_RDONLY |
> >> +O_DIRECTORY);
> >> +            if (sub < 0)
> >> +                continue;
> >> +
> >> +            igt_kmsg(KMSG_DEBUG "Reading directory \"%s\"\n",
> >> dirent->d_name);
> >> +            igt_debug("%sEntering subdir %s\n", tabs,
> >> +dirent->d_name);
> >> +            read_sysfs_entries(sub, indent + 1);
> >> +            close(sub);
> >> +        } else if (dirent->d_type == DT_REG) {
> >> +            char buf[512];
> >> +            int sub;
> >> +            ssize_t ret;
> >> +
> >> +            igt_kmsg(KMSG_DEBUG "Reading file \"%s\"\n",
> >> dirent->d_name);
> >> +            igt_debug("%sReading file \"%s\"\n", tabs,
> >> +dirent->d_name);
> >> +            igt_set_timeout(igt_run_in_simulation() ? 30 : 5,
> >> +                    "reading sysfs entry");
> >> +
> >> +            sub = openat(path, dirent->d_name, O_RDONLY |
> >> +O_NONBLOCK);
> >> +            if (sub == -1) {
> >> +                igt_debug("%sCould not open file \"%s\" with error:
> >> %m\n",
> >> +                      tabs, dirent->d_name);
> >> +                continue;
> >> +            }
> >> +
> >> +            do {
> >> +                ret = read(sub, buf, sizeof(buf));
> >> +            } while (ret == sizeof(buf));
> >> +
> >> +            if (ret == -1)
> >> +                igt_debug("%sCould not read file \"%s\" with error:
> >> %m\n",
> >> +                      tabs, dirent->d_name);
> >> +
> >> +            igt_reset_timeout();
> >> +            close(sub);
> >> +        }
> >> +    }
> >> +
> >> +    closedir(dir);
> >> +}
> >> +
> >> +static void abort_if_loaded(const char *module_name) {
> >> +    int err;
> >> +
> >> +    err = igt_kmod_unload(module_name, 0);
> >> +    if (err == 0 || err == -ENOENT) /* -ENOENT == unloaded already
> >> +*/
> >> +        return;
> >> +
> >> +    igt_abort_on_f(err,
> >> +               "Failed to unload '%s' err:%d, leaving dangerous
> >> modparams intact!\n",
> >> +               module_name, err);
> >> +}
> >> +
> >> +static void unload(int sig)
> >> +{
> >> +    igt_xe_driver_unload();
> >> +    abort_if_loaded("xe");
> >> +}
> >> +
> >> +igt_main
> >> +{
> >> +    int fd;
> >> +
> >> +    igt_fixture {
> >> +        igt_xe_driver_unload();
> >> +        igt_xe_driver_load("guc_firmware_path=/dev/null
> >> inject_probe_failure=-1 force_probe=*");
> >> +        igt_install_exit_handler(unload);
> >> +
> >> +        fd = drm_open_driver(DRIVER_XE);
> >> +        xe_device_get(fd);
> >> +    }
> >> +
> >> +    igt_subtest("sysfs") {
> >> +        igt_fork(child, 1)
> >> +            read_sysfs_entries(igt_sysfs_open(fd), 0);
> >> +        igt_waitchildren();
> >> +    }
> >> +
> >> +    igt_subtest("debugfs") {
> >> +        igt_fork(child, 1)
> >> +            read_sysfs_entries(igt_debugfs_dir(fd), 0);
> >> +        igt_waitchildren();
> >> +    }
> >> +
> >> +    igt_fixture {
> >> +        xe_device_put(fd);
> >> +        close(fd);
> >> +    }
> >> +}

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test
  2023-06-01  8:03     ` Ch, Sai Gowtham
@ 2023-06-01 11:03       ` Kumar, Janga Rahul
  0 siblings, 0 replies; 7+ messages in thread
From: Kumar, Janga Rahul @ 2023-06-01 11:03 UTC (permalink / raw)
  To: Ch, Sai Gowtham, Karas, Anna, Manszewski, Christoph, igt-dev; +Cc: Chris Wilson



> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Ch, Sai
> Gowtham
> Sent: 01 June 2023 13:34
> To: Karas, Anna <anna.karas@intel.com>; Manszewski, Christoph
> <christoph.manszewski@intel.com>; igt-dev@lists.freedesktop.org
> Cc: Chris Wilson <chris.p.wilson@linux.intel.com>
> Subject: Re: [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test
> 
> Hi Anna
> 
> > -----Original Message-----
> > From: Karas, Anna <anna.karas@intel.com>
> > Sent: Thursday, June 1, 2023 1:24 PM
> > To: Manszewski, Christoph <christoph.manszewski@intel.com>; igt-
> > dev@lists.freedesktop.org
> > Cc: Ch, Sai Gowtham <sai.gowtham.ch@intel.com>; Chris Wilson
> > <chris.p.wilson@linux.intel.com>
> > Subject: Re: [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error
> > test
> >
> > Hi Christoph,
> >
> > On 31.05.2023 16:25, Manszewski, Christoph wrote:
> > > Hi Anna,
> > >
> > > On 31.05.2023 15:49, Anna Karas wrote:
> > >> Port i915_module_error test to XE. This test checks if we can
> > >> access debugfs/sysfs after a module load error, in this case a guc
> > >> load error, for capturing the requisite debug info.
> > >>
> > >> Signed-off-by: Anna Karas <anna.karas@intel.com>
> > >
> > > Since this code is almost entirely copied, I think it would be good
> > > practice to credit the original author by adding a 'Authored-by' or
> > > 'Signed-off-by' line.
> > >
> > > Christoph
> > >
> >
> > I will add it to v2. Thanks!
> > >
> > >> ---
> > >>   tests/meson.build          |   1 +
> > >>   tests/xe/xe_module_error.c | 145
> > >> +++++++++++++++++++++++++++++++++++++
> > >>   2 files changed, 146 insertions(+)
> > >>   create mode 100644 tests/xe/xe_module_error.c
> > >>
> > >> diff --git a/tests/meson.build b/tests/meson.build index
> > >> f71be1db..533c96e8 100644
> > >> --- a/tests/meson.build
> > >> +++ b/tests/meson.build
> > >> @@ -261,6 +261,7 @@ xe_progs = [
> > >>       'xe_intel_bb',
> > >>       'xe_mmap',
> > >>       'xe_mmio',
> > >> +        'xe_module_error',
> Can you check if the spacing is correct here.
> 
> Rest of the test looks good to me, However just to check have you verified
> this test ?
> 
> ----
> Gowtham
> > >>       'xe_module_load',
> > >>       'xe_noexec_ping_pong',
> > >>       'xe_pm',
> > >> diff --git a/tests/xe/xe_module_error.c
> > >> b/tests/xe/xe_module_error.c new file mode 100644 index
> > >> 00000000..a17d85ca
> > >> --- /dev/null
> > >> +++ b/tests/xe/xe_module_error.c
> > >> @@ -0,0 +1,145 @@
> > >> +// SPDX-License-Identifier: MIT
> > >> +/*
> > >> + * Copyright © 2023 Intel Corporation  */
> > >> +
> > >> +#include <dirent.h>
> > >> +
> > >> +#include "igt.h"
> > >> +#include "igt_kmod.h"
> > >> +#include "igt_debugfs.h"
> > >> +#include "igt_sysfs.h"
> > >> +#include "xe_drm.h"
> > >> +
> > >> +#include "xe/xe_spin.h"
> > >> +
> > >> +/**
> > >> + * TEST: Check if we can access sysfs/debugfs after a module load
> > >> +error
> > >> + * Category: Software building block
> > >> + * Sub-category: debugfs
> > >> + * Test category: functionality test
> > >> + * Run type: BAT
> > >> + */
> > >> +
> > >> +/**
> > >> + * SUBTEST: sysfs
> > >> + * Description: Read all entries from sysfs path
> > >> + * Run type: FULL
> > >> + */
> > >> +
> > >> +/**
> > >> + * SUBTEST: debugfs
> > >> + * Description: Read all entries from debugfs path
> > >> + * Run type: FULL
> > >> + */
> > >> +static void read_sysfs_entries(int path, int indent) {
> > >> +    char tabs[] = "\t\t\t\t\t\t\t\t";
> > >> +    struct dirent *dirent;
> > >> +    DIR *dir;
> > >> +
> > >> +    igt_assert(indent < sizeof(tabs) - 1);
> > >> +    tabs[indent] = '\0';
> > >> +
> > >> +    dir = fdopendir(path);
> > >> +    if (!dir)
> > >> +        return;
> > >> +
> > >> +    while ((dirent = readdir(dir))) {
> > >> +        if (!strcmp(dirent->d_name, ".") ||
> > >> +            !strcmp(dirent->d_name, ".."))
> > >> +            continue;
> > >> +
> > >> +        if (dirent->d_type == DT_DIR) {
> > >> +            int sub;
> > >> +
> > >> +            sub = openat(path, dirent->d_name, O_RDONLY |
> > >> +O_DIRECTORY);
> > >> +            if (sub < 0)
> > >> +                continue;
> > >> +
> > >> +            igt_kmsg(KMSG_DEBUG "Reading directory \"%s\"\n",
> > >> dirent->d_name);
> > >> +            igt_debug("%sEntering subdir %s\n", tabs,
> > >> +dirent->d_name);
> > >> +            read_sysfs_entries(sub, indent + 1);
> > >> +            close(sub);
> > >> +        } else if (dirent->d_type == DT_REG) {
> > >> +            char buf[512];
> > >> +            int sub;
> > >> +            ssize_t ret;
> > >> +
> > >> +            igt_kmsg(KMSG_DEBUG "Reading file \"%s\"\n",
> > >> dirent->d_name);
> > >> +            igt_debug("%sReading file \"%s\"\n", tabs,
> > >> +dirent->d_name);
> > >> +            igt_set_timeout(igt_run_in_simulation() ? 30 : 5,
> > >> +                    "reading sysfs entry");
> > >> +
> > >> +            sub = openat(path, dirent->d_name, O_RDONLY |
> > >> +O_NONBLOCK);
> > >> +            if (sub == -1) {
> > >> +                igt_debug("%sCould not open file \"%s\" with error:
> > >> %m\n",
> > >> +                      tabs, dirent->d_name);
> > >> +                continue;
> > >> +            }
> > >> +
> > >> +            do {
> > >> +                ret = read(sub, buf, sizeof(buf));
> > >> +            } while (ret == sizeof(buf));
> > >> +
> > >> +            if (ret == -1)
> > >> +                igt_debug("%sCould not read file \"%s\" with error:
> > >> %m\n",
> > >> +                      tabs, dirent->d_name);
> > >> +
> > >> +            igt_reset_timeout();
> > >> +            close(sub);
> > >> +        }
> > >> +    }
> > >> +
> > >> +    closedir(dir);
> > >> +}
> > >> +
> > >> +static void abort_if_loaded(const char *module_name) {
> > >> +    int err;
> > >> +
> > >> +    err = igt_kmod_unload(module_name, 0);
> > >> +    if (err == 0 || err == -ENOENT) /* -ENOENT == unloaded already
> > >> +*/
> > >> +        return;
> > >> +
> > >> +    igt_abort_on_f(err,
> > >> +               "Failed to unload '%s' err:%d, leaving dangerous
> > >> modparams intact!\n",
> > >> +               module_name, err);
> > >> +}
> > >> +
> > >> +static void unload(int sig)
> > >> +{
> > >> +    igt_xe_driver_unload();
> > >> +    abort_if_loaded("xe");
> > >> +}
> > >> +
> > >> +igt_main
> > >> +{
> > >> +    int fd;
> > >> +
> > >> +    igt_fixture {
> > >> +        igt_xe_driver_unload();
> > >> +        igt_xe_driver_load("guc_firmware_path=/dev/null
> > >> inject_probe_failure=-1 force_probe=*");


@Karas, Anna,

This test will not work as guc_firmware_path and inject_probe_failure modparams are not valid for XE. 
You may have to check any alternate options to cause load error.

Thanks,
Rahul
> > >> +        igt_install_exit_handler(unload);
> > >> +
> > >> +        fd = drm_open_driver(DRIVER_XE);
> > >> +        xe_device_get(fd);
> > >> +    }
> > >> +
> > >> +    igt_subtest("sysfs") {
> > >> +        igt_fork(child, 1)
> > >> +            read_sysfs_entries(igt_sysfs_open(fd), 0);
> > >> +        igt_waitchildren();
> > >> +    }
> > >> +
> > >> +    igt_subtest("debugfs") {
> > >> +        igt_fork(child, 1)
> > >> +            read_sysfs_entries(igt_debugfs_dir(fd), 0);
> > >> +        igt_waitchildren();
> > >> +    }
> > >> +
> > >> +    igt_fixture {
> > >> +        xe_device_put(fd);
> > >> +        close(fd);
> > >> +    }
> > >> +}

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [igt-dev] ✗ Fi.CI.IGT: failure for tests/xe: Add xe_module_error test
  2023-05-31 13:49 [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test Anna Karas
  2023-05-31 14:25 ` Manszewski, Christoph
  2023-05-31 15:02 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2023-06-02  1:17 ` Patchwork
  2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2023-06-02  1:17 UTC (permalink / raw)
  To: Karas, Anna; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 17089 bytes --]

== Series Details ==

Series: tests/xe: Add xe_module_error test
URL   : https://patchwork.freedesktop.org/series/118650/
State : failure

== Summary ==

CI Bug Log - changes from IGT_7314_full -> IGTPW_9081_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_9081_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_9081_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/index.html

Participating hosts (8 -> 7)
------------------------------

  Missing    (1): shard-rkl0 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_9081_full:

### IGT changes ###

#### Possible regressions ####

  * igt@runner@aborted:
    - shard-snb:          NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-snb1/igt@runner@aborted.html

  
Known issues
------------

  Here are the changes found in IGTPW_9081_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [PASS][2] -> [FAIL][3] ([i915#2846])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-glk3/igt@gem_exec_fair@basic-deadline.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-glk8/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-glk:          [PASS][4] -> [FAIL][5] ([i915#2842])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-glk8/igt@gem_exec_fair@basic-pace@rcs0.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-glk5/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - shard-apl:          NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#4613])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl1/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-apl:          NOTRUN -> [WARN][7] ([i915#2658])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl3/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_userptr_blits@vma-merge:
    - shard-apl:          NOTRUN -> [FAIL][8] ([i915#3318])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl6/igt@gem_userptr_blits@vma-merge.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          [PASS][9] -> [INCOMPLETE][10] ([i915#7790])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-snb5/igt@i915_pm_rps@reset.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-snb5/igt@i915_pm_rps@reset.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - shard-apl:          NOTRUN -> [SKIP][11] ([fdo#109271]) +58 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl1/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_content_protection@lic@pipe-a-dp-1:
    - shard-apl:          NOTRUN -> [TIMEOUT][12] ([i915#7173])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl2/igt@kms_content_protection@lic@pipe-a-dp-1.html

  * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2:
    - shard-glk:          [PASS][13] -> [FAIL][14] ([i915#2122])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-glk4/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode:
    - shard-apl:          NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#4579]) +2 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-b-vga-1:
    - shard-snb:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#4579]) +14 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-snb7/igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-b-vga-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-0-25@pipe-a-hdmi-a-1:
    - shard-snb:          NOTRUN -> [SKIP][17] ([fdo#109271]) +46 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-snb1/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-0-25@pipe-a-hdmi-a-1.html

  * igt@kms_psr2_sf@overlay-plane-update-continuous-sf:
    - shard-apl:          NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#658])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl1/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - {shard-tglu}:       [ABORT][19] ([i915#7975] / [i915#8213]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-tglu-10/igt@gem_exec_suspend@basic-s4-devices@smem.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-tglu-7/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - {shard-dg1}:        [DMESG-WARN][21] ([i915#4936] / [i915#5493]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-dg1-19/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-dg1-15/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-apl:          [ABORT][23] ([i915#5566]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-apl7/igt@gen9_exec_parse@allowed-single.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl1/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-snb:          [ABORT][25] ([i915#4528]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-snb4/igt@i915_module_load@reload-with-fault-injection.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-snb7/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_rc6_residency@rc6-idle@bcs0:
    - {shard-dg1}:        [FAIL][27] ([i915#3591]) -> [PASS][28] +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-dg1-15/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-dg1-15/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-apl:          [FAIL][29] ([i915#2346]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@single-move@pipe-b:
    - {shard-dg1}:        [INCOMPLETE][31] ([i915#8011] / [i915#8347]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-dg1-19/igt@kms_cursor_legacy@single-move@pipe-b.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-dg1-18/igt@kms_cursor_legacy@single-move@pipe-b.html

  
#### Warnings ####

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [FAIL][33] ([i915#4275]) -> [SKIP][34] ([fdo#109271])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-apl6/igt@i915_pm_dc@dc9-dpms.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-apl2/igt@i915_pm_dc@dc9-dpms.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-glk:          [FAIL][35] -> [SKIP][36] ([fdo#109271])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7314/shard-glk4/igt@kms_hdmi_inject@inject-audio.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/shard-glk6/igt@kms_hdmi_inject@inject-audio.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2876]: https://gitlab.freedesktop.org/drm/intel/issues/2876
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4275]: https://gitlab.freedesktop.org/drm/intel/issues/4275
  [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
  [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#4936]: https://gitlab.freedesktop.org/drm/intel/issues/4936
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6755]: https://gitlab.freedesktop.org/drm/intel/issues/6755
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
  [i915#7392]: https://gitlab.freedesktop.org/drm/intel/issues/7392
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7921]: https://gitlab.freedesktop.org/drm/intel/issues/7921
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
  [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
  [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411
  [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
  [i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502
  [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7314 -> IGTPW_9081

  CI-20190529: 20190529
  CI_DRM_13206: 1f26581192d798031ff95fcbce2c2fe4ac953c65 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_9081: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/index.html
  IGT_7314: ab70dfcdecf93a17fcaddb774855f726325fa0dd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9081/index.html

[-- Attachment #2: Type: text/html, Size: 12145 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-06-02  1:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-31 13:49 [igt-dev] [PATCH i-g-t] tests/xe: Add xe_module_error test Anna Karas
2023-05-31 14:25 ` Manszewski, Christoph
2023-06-01  7:53   ` Karas, Anna
2023-06-01  8:03     ` Ch, Sai Gowtham
2023-06-01 11:03       ` Kumar, Janga Rahul
2023-05-31 15:02 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2023-06-02  1:17 ` [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.