* [PATCH i-g-t v1 0/2] Close any open drm device after engine initialization in GPUTOP
@ 2025-12-09 17:35 Soham Purkait
2025-12-09 17:35 ` [PATCH i-g-t v1 1/2] tools/gputop/xe_gputop: Close card_fd after engine population in xe_populate_engines() Soham Purkait
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Soham Purkait @ 2025-12-09 17:35 UTC (permalink / raw)
To: igt-dev, riana.tauro, badal.nilawar, kamil.konieczny
Cc: anshuman.gupta, soham.purkait, umesh.nerlige.ramappa
During the engine initialization for a specific device, igt helper
functions need card_fd to access each engine and respective configs which
is required in obtaining the busyness of the same through PMU.
But during KMS tests no other DRM client should run. So once the required
configs and engines are obtained, the card_fd should be closed as opened
card_fd in gputop makes appear itself as DRM client.
GPUTOP is also capable of running without superuser access through setting
CAP_PERFMON or an appropriate perf_event_paranoid setting, although in that
case GPU client busyness is not available as without being superuser, other
processes' fd could not be inspected.
Steps to enable GPUTOP to run without root (using CAP_PERFMON):
$ cd /path/to/igt-gpu-tools/
$ sudo setcap cap_perfmon=+ep $(pwd)/build/tools/gputop/gputop
$ sudo sh -c "echo $(pwd)/build/lib > /etc/ld.so.conf.d/lib-igt.conf"
$ sudo ldconfig
Steps to revert once done:
$ sudo setcap cap_perfmon=-ep $(pwd)/build/tools/gputop/gputop
$ sudo rm /etc/ld.so.conf.d/lib-igt.conf
$ sudo ldconfig
Steps to enable GPUTOP to run without root (using perf_event_paranoid):
# Save the current value
$ orig_val=$(sysctl -n kernel.perf_event_paranoid)
# Set the value to allow running GPUTOP without root privileges
$ sudo sysctl -w kernel.perf_event_paranoid=-1
Steps to revert once done:
$ sudo sysctl -w kernel.perf_event_paranoid=$orig_val
Soham Purkait (2):
tools/gputop/xe_gputop: Close card_fd after engine population in
xe_populate_engines()
tools/gputop/gputop: Enable support for multiple GPUs and instances
tools/{ => gputop}/gputop.c | 283 +++++++++++++++++++++++++++++++-----
tools/gputop/meson.build | 6 +
tools/gputop/xe_gputop.c | 7 +-
tools/meson.build | 6 +-
4 files changed, 255 insertions(+), 47 deletions(-)
rename tools/{ => gputop}/gputop.c (59%)
create mode 100644 tools/gputop/meson.build
--
2.34.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH i-g-t v1 1/2] tools/gputop/xe_gputop: Close card_fd after engine population in xe_populate_engines()
2025-12-09 17:35 [PATCH i-g-t v1 0/2] Close any open drm device after engine initialization in GPUTOP Soham Purkait
@ 2025-12-09 17:35 ` Soham Purkait
2025-12-09 17:35 ` [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances Soham Purkait
` (3 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Soham Purkait @ 2025-12-09 17:35 UTC (permalink / raw)
To: igt-dev, riana.tauro, badal.nilawar, kamil.konieczny
Cc: anshuman.gupta, soham.purkait, umesh.nerlige.ramappa
During the engine initialization for a specific device in GPUTOP,
IGT helper functions need card_fd to access each engine and
respective configs. These are required in obtaining the busyness
of the respective engines through PMU in GPUTOP. But for KMS tests
no other DRM client should run while it is running. So once the
required configs and engines are obtained, the card_fd is closed
as opened card_fd in xe_populate_engines() makes appear itself as
DRM client.
v1:
- Initialize pmu_device_obj to null.
Fixes: c8106465683f ("tools/gputop/xe_gputop: Add gputop support for xe specific devices")
Signed-off-by: Soham Purkait <soham.purkait@intel.com>
---
tools/gputop/xe_gputop.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/gputop/xe_gputop.c b/tools/gputop/xe_gputop.c
index bb2caa6ea..45cb5bf93 100644
--- a/tools/gputop/xe_gputop.c
+++ b/tools/gputop/xe_gputop.c
@@ -92,6 +92,7 @@ void xe_gputop_init(void *ptr, int index,
obj = ((struct xe_gputop *)ptr) + index;
obj->card = card;
+ obj->pmu_device_obj = NULL;
}
static int pmu_format_shift(int xe, const char *name)
@@ -197,6 +198,8 @@ void *xe_populate_engines(const void *obj, int index)
engines->num_engines++;
}
+ close(card_fd);
+
if (!ret) {
errno = ret;
return NULL;
@@ -263,11 +266,11 @@ int xe_pmu_init(const void *obj, int index)
fd = _open_pmu(type, &engines->num_counters, &engine->engine_active_ticks,
&engines->fd);
if (fd < 0)
- return -1;
+ return fd;
fd = _open_pmu(type, &engines->num_counters, &engine->engine_total_ticks,
&engines->fd);
if (fd < 0)
- return -1;
+ return fd;
}
return 0;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances
2025-12-09 17:35 [PATCH i-g-t v1 0/2] Close any open drm device after engine initialization in GPUTOP Soham Purkait
2025-12-09 17:35 ` [PATCH i-g-t v1 1/2] tools/gputop/xe_gputop: Close card_fd after engine population in xe_populate_engines() Soham Purkait
@ 2025-12-09 17:35 ` Soham Purkait
2025-12-12 21:41 ` Kamil Konieczny
2025-12-09 23:07 ` ✗ i915.CI.BAT: failure for Close any open drm device after engine initialization in GPUTOP (rev2) Patchwork
` (2 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Soham Purkait @ 2025-12-09 17:35 UTC (permalink / raw)
To: igt-dev, riana.tauro, badal.nilawar, kamil.konieczny
Cc: anshuman.gupta, soham.purkait, umesh.nerlige.ramappa
Introduce vendor-agnostic support for handling multiple GPUs and instances
in gputop. Improve the tool's adaptability to various GPU configurations.
v1:
- Refactor GPUTOP into a vendor-agnostic tool. (Lucas)
v2:
- Add device filter to populate the array of cards for
all supported drivers. (Zbigniew)
v3:
- Cosmetic changes. (Riana)
- Avoid three level indentation. (Riana)
v4:
- Add user message for running without root privileges. (Kamil)
v5:
- Add support for GPU client-only busyness on unsupported
drivers as a fallback mechanism. (Kamil)
Signed-off-by: Soham Purkait <soham.purkait@intel.com>
---
tools/{ => gputop}/gputop.c | 283 +++++++++++++++++++++++++++++++-----
tools/gputop/meson.build | 6 +
tools/meson.build | 6 +-
3 files changed, 250 insertions(+), 45 deletions(-)
rename tools/{ => gputop}/gputop.c (59%)
create mode 100644 tools/gputop/meson.build
diff --git a/tools/gputop.c b/tools/gputop/gputop.c
similarity index 59%
rename from tools/gputop.c
rename to tools/gputop/gputop.c
index f577a1750..e13f98b82 100644
--- a/tools/gputop.c
+++ b/tools/gputop/gputop.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT
/*
- * Copyright © 2023 Intel Corporation
+ * Copyright © 2023-2025 Intel Corporation
*/
#include <assert.h>
@@ -14,66 +14,148 @@
#include <math.h>
#include <poll.h>
#include <signal.h>
+#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <sys/types.h>
-#include <unistd.h>
#include <termios.h>
-#include <sys/sysmacros.h>
-#include <stdbool.h>
+#include <unistd.h>
#include "igt_core.h"
#include "igt_drm_clients.h"
#include "igt_drm_fdinfo.h"
+#include "igt_perf.h"
#include "igt_profiling.h"
-#include "drmtest.h"
+#include "xe_gputop.h"
+#include "xe/xe_query.h"
+
+/**
+ * Supported Drivers
+ *
+ * Adhere to the following requirements when implementing support for the
+ * new driver:
+ * @drivers: Update drivers[] with driver string.
+ * @sizeof_gputop_obj: Update this function as per new driver support included.
+ * @operations: Update the respective operations of the new driver:
+ * gputop_init,
+ * discover_engines,
+ * pmu_init,
+ * pmu_sample,
+ * print_engines,
+ * clean_up
+ * @per_driver_contexts: Update per_driver_contexts[] array of type "struct gputop_driver" with the
+ * initial values.
+ */
+static const char * const drivers[] = {
+ "xe",
+ /* Keep the last one as NULL */
+ NULL
+};
+
+static size_t sizeof_gputop_obj(int driver_num)
+{
+ switch (driver_num) {
+ case 0:
+ return sizeof(struct xe_gputop);
+ default:
+ fprintf(stderr,
+ "Driver number does not exist.\n");
+ exit(EXIT_FAILURE);
+ }
+}
+
+/**
+ * Supported operations on driver instances. Update the ops[] array for
+ * each individual driver specific function. Maintain the sequence as per
+ * drivers[] array.
+ */
+struct device_operations ops[] = {
+ {
+ xe_gputop_init,
+ xe_populate_engines,
+ xe_pmu_init,
+ xe_pmu_sample,
+ xe_print_engines,
+ xe_clean_up
+ }
+};
+
+/*
+ * per_driver_contexts[] array of type struct gputop_driver which keeps track of the devices
+ * and related info discovered per driver.
+ */
+struct gputop_driver per_driver_contexts[] = {
+ {false, 0, NULL}
+};
enum utilization_type {
UTILIZATION_TYPE_ENGINE_TIME,
UTILIZATION_TYPE_TOTAL_CYCLES,
};
-static const char *bars[] = { " ", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█" };
-
-#define ANSI_HEADER "\033[7m"
-#define ANSI_RESET "\033[0m"
-
-static void n_spaces(const unsigned int n)
+static void gputop_clean_up(void)
{
- unsigned int i;
-
- for (i = 0; i < n; i++)
- putchar(' ');
+ for (int i = 0; drivers[i]; i++) {
+ ops[i].clean_up(per_driver_contexts[i].instances, per_driver_contexts[i].len);
+ free(per_driver_contexts[i].instances);
+ per_driver_contexts[i].device_present = false;
+ per_driver_contexts[i].len = 0;
+ }
}
-static void print_percentage_bar(double percent, int max_len)
+static int find_driver(struct igt_device_card *card)
{
- int bar_len, i, len = max_len - 1;
- const int w = 8;
-
- len -= printf("|%5.1f%% ", percent);
-
- /* no space left for bars, do what we can */
- if (len < 0)
- len = 0;
-
- bar_len = ceil(w * percent * len / 100.0);
- if (bar_len > w * len)
- bar_len = w * len;
+ for (int i = 0; drivers[i]; i++) {
+ if (strcmp(drivers[i], card->driver) == 0)
+ return i;
+ }
+ return -1;
+}
- for (i = bar_len; i >= w; i -= w)
- printf("%s", bars[w]);
- if (i)
- printf("%s", bars[i]);
+static int populate_device_instances(const char *filter)
+{
+ struct igt_device_card *cards = NULL;
+ struct igt_device_card *card_inplace = NULL;
+ struct gputop_driver *driver_entry = NULL;
+ int driver_no;
+ int count, final_count = 0;
+
+ count = igt_device_card_match_all(filter, &cards);
+ for (int j = 0; j < count; j++) {
+ if (strcmp(cards[j].subsystem, "pci") != 0)
+ continue;
- len -= (bar_len + (w - 1)) / w;
- n_spaces(len);
+ driver_no = find_driver(&cards[j]);
+ if (driver_no < 0)
+ continue;
- putchar('|');
+ driver_entry = &per_driver_contexts[driver_no];
+ if (!driver_entry->device_present)
+ driver_entry->device_present = true;
+ driver_entry->len++;
+ driver_entry->instances = realloc(driver_entry->instances,
+ driver_entry->len * sizeof_gputop_obj(driver_no));
+ if (!driver_entry->instances) {
+ fprintf(stderr,
+ "Device instance realloc failed (%s)\n",
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+ card_inplace = (struct igt_device_card *)
+ calloc(1, sizeof(struct igt_device_card));
+ memcpy(card_inplace, &cards[j], sizeof(struct igt_device_card));
+ ops[driver_no].gputop_init(driver_entry->instances, (driver_entry->len - 1),
+ card_inplace);
+ final_count++;
+ }
+ if (count)
+ free(cards);
+ return final_count;
}
static int
@@ -333,6 +415,7 @@ static void clrscr(void)
struct gputop_args {
long n_iter;
unsigned long delay_usec;
+ char *device;
};
static void help(char *full_path)
@@ -350,16 +433,18 @@ static void help(char *full_path)
"\t-h, --help show this help\n"
"\t-d, --delay =SEC[.TENTHS] iterative delay as SECS [.TENTHS]\n"
"\t-n, --iterations =NUMBER number of executions\n"
+ "\t-D, --device Device filter\n"
, short_program_name);
}
static int parse_args(int argc, char * const argv[], struct gputop_args *args)
{
- static const char cmdopts_s[] = "hn:d:";
+ static const char cmdopts_s[] = "hn:d:D:";
static const struct option cmdopts[] = {
{"help", no_argument, 0, 'h'},
{"delay", required_argument, 0, 'd'},
{"iterations", required_argument, 0, 'n'},
+ {"device", required_argument, 0, 'D'},
{ }
};
@@ -367,6 +452,7 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
memset(args, 0, sizeof(*args));
args->n_iter = -1;
args->delay_usec = 2 * USEC_PER_SEC;
+ args->device = NULL;
for (;;) {
int c, idx = 0;
@@ -390,6 +476,9 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
return -1;
}
break;
+ case 'D':
+ args->device = optarg;
+ break;
case 'h':
help(argv[0]);
return 0;
@@ -417,9 +506,12 @@ int main(int argc, char **argv)
struct igt_profiled_device *profiled_devices = NULL;
struct igt_drm_clients *clients = NULL;
int con_w = -1, con_h = -1;
+ bool is_root;
int ret;
long n;
+ is_root = (geteuid() == 0);
+
ret = parse_args(argc, argv, &args);
if (ret < 0)
return EXIT_FAILURE;
@@ -429,6 +521,92 @@ int main(int argc, char **argv)
n = args.n_iter;
period_us = args.delay_usec;
+ if (!populate_device_instances(args.device ? args.device
+ : "device:subsystem=pci,card=all") &&
+ geteuid()) {
+ printf("\n" ANSI_HEADER "Run with root "
+ "privileges for GPU client "
+ "busyness.\n" ANSI_RESET "\n");
+ gputop_clean_up();
+ exit(1);
+ }
+
+ for (int i = 0; drivers[i]; i++) {
+ if (!per_driver_contexts[i].device_present)
+ continue;
+
+ for (int j = 0; j < per_driver_contexts[i].len; j++) {
+ if (!ops[i].init_engines(per_driver_contexts[i].instances, j)) {
+ fprintf(stderr,
+ "Failed to initialize engines! (%s)\n",
+ strerror(errno));
+ gputop_clean_up();
+ return EXIT_FAILURE;
+ }
+ ret = ops[i].pmu_init(per_driver_contexts[i].instances, j);
+
+ if (ret) {
+ if (errno == EACCES && !is_root) {
+ fprintf(stderr,
+ "\n"
+ "When running as a normal user, "
+ "CAP_PERFMON or perf_event_paranoid\n"
+ "is required to access performance "
+ "monitoring.\n"
+ "\n"
+ ANSI_HEADER "Through CAP_PERFMON "
+ "capability"
+ ANSI_RESET "\n"
+ "cd /path/to/igt-gpu-tools/\n"
+ "sudo setcap cap_perfmon=+ep $(pwd)/"
+ "build/tools/gputop/gputop\n"
+ "sudo sh -c \"echo $(pwd)/build/lib >"
+ " /etc/ld.so.conf.d/lib-igt.conf\"\n"
+ "sudo ldconfig\n"
+ ANSI_HEADER "Revert:" ANSI_RESET "\n"
+ "sudo setcap cap_perfmon=-ep $(pwd)/"
+ "build/tools/gputop/gputop\n"
+ "sudo rm /etc/ld.so.conf.d/lib-igt.conf\n"
+ "sudo ldconfig\n"
+ "\n"
+ ANSI_HEADER "Through perf_event_paranoid"
+ " (system-wide policy)"
+ ANSI_RESET "\n"
+ "# Save current value\n"
+ "orig_val=$(sysctl -n "
+ "kernel.perf_event_paranoid)\n"
+ "# Allow non-root perf usage\n"
+ "sudo sysctl -w kernel.perf_event_paranoid=-1\n"
+ ANSI_HEADER "Revert:" ANSI_RESET "\n"
+ "sudo sysctl -w kernel."
+ "perf_event_paranoid=$orig_val\n"
+ "\n"
+ "For details, see 'Perf events and "
+ "tool security':\n"
+ "https://www.kernel.org/doc/html/"
+ "latest/admin-guide/perf-security.html\n");
+ igt_devices_free();
+ gputop_clean_up();
+ return EXIT_SUCCESS;
+ } else {
+ fprintf(stderr,
+ "Failed to initialize PMU! (%s)\n",
+ strerror(errno));
+ igt_devices_free();
+ gputop_clean_up();
+ return EXIT_FAILURE;
+ }
+ }
+ }
+ }
+
+ for (int i = 0; drivers[i]; i++) {
+ for (int j = 0;
+ per_driver_contexts[i].device_present && j < per_driver_contexts[i].len;
+ j++)
+ ops[i].pmu_sample(per_driver_contexts[i].instances, j);
+ }
+
clients = igt_drm_clients_init(NULL);
if (!clients)
exit(1);
@@ -449,22 +627,47 @@ int main(int argc, char **argv)
while ((n != 0) && !stop_top) {
struct igt_drm_client *c, *prevc = NULL;
- int i, engine_w = 0, lines = 0;
+ int k, engine_w = 0, lines = 0;
igt_drm_clients_scan(clients, NULL, NULL, 0, NULL, 0);
+
+ for (int i = 0; drivers[i]; i++) {
+ for (int j = 0;
+ per_driver_contexts[i].device_present &&
+ j < per_driver_contexts[i].len;
+ j++)
+ ops[i].pmu_sample(per_driver_contexts[i].instances, j);
+ }
+
igt_drm_clients_sort(clients, client_cmp);
update_console_size(&con_w, &con_h);
clrscr();
+ for (int i = 0; drivers[i]; i++) {
+ for (int j = 0;
+ per_driver_contexts[i].device_present &&
+ j < per_driver_contexts[i].len;
+ j++) {
+ lines = ops[i].print_engines(per_driver_contexts[i].instances, j,
+ lines, con_w, con_h);
+ }
+ }
+
if (!clients->num_clients) {
- const char *msg = " (No GPU clients yet. Start workload to see stats)";
+ const char *msg;
+
+ if (is_root)
+ msg = " (No GPU clients yet. Start workload to see stats)";
+ else
+ msg = " (GPU client busyness is only available with root"
+ " privileges)";
printf(ANSI_HEADER "%-*s" ANSI_RESET "\n",
(int)(con_w - strlen(msg) - 1), msg);
}
- igt_for_each_drm_client(clients, c, i) {
+ igt_for_each_drm_client(clients, c, k) {
assert(c->status != IGT_DRM_CLIENT_PROBE);
if (c->status != IGT_DRM_CLIENT_ALIVE)
break; /* Active clients are first in the array. */
@@ -488,11 +691,11 @@ int main(int argc, char **argv)
}
igt_drm_clients_free(clients);
+ gputop_clean_up();
if (profiled_devices != NULL) {
igt_devices_configure_profiling(profiled_devices, false);
igt_devices_free_profiling(profiled_devices);
}
-
return 0;
}
diff --git a/tools/gputop/meson.build b/tools/gputop/meson.build
new file mode 100644
index 000000000..4766d8496
--- /dev/null
+++ b/tools/gputop/meson.build
@@ -0,0 +1,6 @@
+gputop_src = [ 'gputop.c', 'utils.c', 'xe_gputop.c']
+executable('gputop', sources : gputop_src,
+ install : true,
+ install_rpath : bindir_rpathdir,
+ dependencies : [igt_deps,lib_igt_perf,lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math],
+ install: true)
diff --git a/tools/meson.build b/tools/meson.build
index 8185ba160..99a732942 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -70,11 +70,6 @@ if libudev.found()
install : true)
endif
-executable('gputop', 'gputop.c',
- install : true,
- install_rpath : bindir_rpathdir,
- dependencies : [lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math])
-
intel_l3_parity_src = [ 'intel_l3_parity.c', 'intel_l3_udev_listener.c' ]
executable('intel_l3_parity', sources : intel_l3_parity_src,
dependencies : tool_deps,
@@ -123,3 +118,4 @@ endif
subdir('i915-perf')
subdir('xe-perf')
subdir('null_state_gen')
+subdir('gputop')
--
2.34.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* ✗ i915.CI.BAT: failure for Close any open drm device after engine initialization in GPUTOP (rev2)
2025-12-09 17:35 [PATCH i-g-t v1 0/2] Close any open drm device after engine initialization in GPUTOP Soham Purkait
2025-12-09 17:35 ` [PATCH i-g-t v1 1/2] tools/gputop/xe_gputop: Close card_fd after engine population in xe_populate_engines() Soham Purkait
2025-12-09 17:35 ` [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances Soham Purkait
@ 2025-12-09 23:07 ` Patchwork
2025-12-10 4:43 ` ✓ Xe.CI.BAT: success " Patchwork
2025-12-10 6:23 ` ✗ Xe.CI.Full: failure " Patchwork
4 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-12-09 23:07 UTC (permalink / raw)
To: Soham Purkait; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 60607 bytes --]
== Series Details ==
Series: Close any open drm device after engine initialization in GPUTOP (rev2)
URL : https://patchwork.freedesktop.org/series/158161/
State : failure
== Summary ==
CI Bug Log - changes from IGT_8662 -> IGTPW_14176
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_14176 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_14176, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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_14176/index.html
Participating hosts (18 -> 34)
------------------------------
Additional (19): bat-adlp-6 fi-skl-6600u bat-mtlp-9 bat-dg2-8 bat-dg2-9 bat-twl-1 bat-rplp-1 bat-arls-5 fi-bsw-nick bat-dg1-7 bat-arlh-3 bat-adlp-9 bat-dg1-6 bat-arls-6 bat-mtlp-8 bat-adlp-11 bat-jsl-5 fi-kbl-x1275 bat-dg2-14
Missing (3): bat-dg2-13 fi-tgl-1115g4 bat-adls-6
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_14176:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live@hugepages:
- bat-rplp-1: NOTRUN -> [ABORT][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@i915_selftest@live@hugepages.html
Known issues
------------
Here are the changes found in IGTPW_14176 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@fbdev@info:
- fi-kbl-x1275: NOTRUN -> [SKIP][2] ([i915#1849])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-kbl-x1275/igt@fbdev@info.html
- bat-adlp-11: NOTRUN -> [SKIP][3] ([i915#1849] / [i915#2582])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@fbdev@info.html
- bat-dg1-6: NOTRUN -> [SKIP][4] ([i915#1849] / [i915#2582])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@fbdev@info.html
- fi-bsw-nick: NOTRUN -> [SKIP][5] ([i915#1849])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-bsw-nick/igt@fbdev@info.html
* igt@fbdev@nullptr:
- bat-adlp-11: NOTRUN -> [SKIP][6] ([i915#2582]) +3 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@fbdev@nullptr.html
- bat-dg1-6: NOTRUN -> [SKIP][7] ([i915#2582]) +3 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@fbdev@nullptr.html
* igt@gem_huc_copy@huc-copy:
- bat-jsl-5: NOTRUN -> [SKIP][8] ([i915#2190])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@gem_huc_copy@huc-copy.html
- fi-skl-6600u: NOTRUN -> [SKIP][9] ([i915#2190])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-skl-6600u/igt@gem_huc_copy@huc-copy.html
- fi-kbl-x1275: NOTRUN -> [SKIP][10] ([i915#2190])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-kbl-x1275/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- bat-arlh-3: NOTRUN -> [SKIP][11] ([i915#11671]) +3 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@gem_lmem_swapping@basic.html
- bat-adlp-9: NOTRUN -> [SKIP][12] ([i915#4613]) +3 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@gem_lmem_swapping@basic.html
- bat-twl-1: NOTRUN -> [SKIP][13] ([i915#10213] / [i915#11671]) +3 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@gem_lmem_swapping@basic.html
- bat-jsl-5: NOTRUN -> [SKIP][14] ([i915#4613]) +3 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@gem_lmem_swapping@basic.html
* igt@gem_lmem_swapping@parallel-random-engines:
- fi-bsw-nick: NOTRUN -> [SKIP][15] +24 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-bsw-nick/igt@gem_lmem_swapping@parallel-random-engines.html
- bat-arls-5: NOTRUN -> [SKIP][16] ([i915#10213] / [i915#11671]) +3 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@gem_lmem_swapping@parallel-random-engines.html
- bat-rplp-1: NOTRUN -> [SKIP][17] ([i915#4613]) +3 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_lmem_swapping@random-engines:
- bat-adlp-6: NOTRUN -> [SKIP][18] ([i915#4613]) +3 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@gem_lmem_swapping@random-engines.html
- fi-skl-6600u: NOTRUN -> [SKIP][19] ([i915#4613]) +3 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-skl-6600u/igt@gem_lmem_swapping@random-engines.html
* igt@gem_lmem_swapping@verify-random:
- bat-mtlp-9: NOTRUN -> [SKIP][20] ([i915#4613]) +3 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@gem_lmem_swapping@verify-random.html
- bat-arls-6: NOTRUN -> [SKIP][21] ([i915#10213] / [i915#11671]) +3 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@gem_lmem_swapping@verify-random.html
- fi-kbl-x1275: NOTRUN -> [SKIP][22] ([i915#4613]) +3 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-kbl-x1275/igt@gem_lmem_swapping@verify-random.html
- bat-adlp-11: NOTRUN -> [SKIP][23] ([i915#4613]) +3 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@gem_lmem_swapping@verify-random.html
- bat-mtlp-8: NOTRUN -> [SKIP][24] ([i915#4613]) +3 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@gem_lmem_swapping@verify-random.html
* igt@gem_mmap@basic:
- bat-dg1-7: NOTRUN -> [SKIP][25] ([i915#4083])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@gem_mmap@basic.html
- bat-mtlp-9: NOTRUN -> [SKIP][26] ([i915#4083])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@gem_mmap@basic.html
- bat-dg2-9: NOTRUN -> [SKIP][27] ([i915#4083])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@gem_mmap@basic.html
- bat-mtlp-8: NOTRUN -> [SKIP][28] ([i915#4083])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@gem_mmap@basic.html
- bat-dg1-6: NOTRUN -> [SKIP][29] ([i915#4083])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@gem_mmap@basic.html
- bat-dg2-8: NOTRUN -> [SKIP][30] ([i915#4083])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@gem_mmap@basic.html
- bat-arls-6: NOTRUN -> [SKIP][31] ([i915#4083])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@gem_mmap@basic.html
- bat-arlh-3: NOTRUN -> [SKIP][32] ([i915#11343])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@gem_mmap@basic.html
- bat-dg2-14: NOTRUN -> [SKIP][33] ([i915#4083])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@gem_mmap@basic.html
- bat-arls-5: NOTRUN -> [SKIP][34] ([i915#4083])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@gem_mmap@basic.html
* igt@gem_mmap_gtt@basic:
- bat-mtlp-9: NOTRUN -> [SKIP][35] ([i915#4077]) +2 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@gem_mmap_gtt@basic.html
- bat-arls-6: NOTRUN -> [SKIP][36] ([i915#12637] / [i915#4077]) +2 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@gem_mmap_gtt@basic.html
- bat-dg2-9: NOTRUN -> [SKIP][37] ([i915#4077]) +2 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@gem_mmap_gtt@basic.html
- bat-mtlp-8: NOTRUN -> [SKIP][38] ([i915#4077]) +2 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@gem_mmap_gtt@basic.html
- bat-dg1-6: NOTRUN -> [SKIP][39] ([i915#4077]) +2 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@gem_mmap_gtt@basic.html
- bat-dg2-8: NOTRUN -> [SKIP][40] ([i915#4077]) +2 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@gem_mmap_gtt@basic.html
* igt@gem_render_tiled_blits@basic:
- bat-mtlp-9: NOTRUN -> [SKIP][41] ([i915#4079]) +1 other test skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@gem_render_tiled_blits@basic.html
- bat-arls-6: NOTRUN -> [SKIP][42] ([i915#10197] / [i915#10211] / [i915#4079])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@gem_render_tiled_blits@basic.html
- bat-dg1-6: NOTRUN -> [SKIP][43] ([i915#4079]) +1 other test skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@gem_render_tiled_blits@basic.html
- bat-dg2-14: NOTRUN -> [SKIP][44] ([i915#4079]) +1 other test skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@gem_render_tiled_blits@basic.html
- bat-arls-5: NOTRUN -> [SKIP][45] ([i915#10197] / [i915#10211] / [i915#4079])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@gem_render_tiled_blits@basic.html
- bat-arlh-3: NOTRUN -> [SKIP][46] ([i915#10211] / [i915#11725] / [i915#4079])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@gem_render_tiled_blits@basic.html
- bat-dg2-9: NOTRUN -> [SKIP][47] ([i915#4079]) +1 other test skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@gem_render_tiled_blits@basic.html
- bat-mtlp-8: NOTRUN -> [SKIP][48] ([i915#4079]) +1 other test skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html
* igt@gem_tiled_fence_blits@basic:
- bat-dg2-14: NOTRUN -> [SKIP][49] ([i915#4077]) +2 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@gem_tiled_fence_blits@basic.html
- bat-arls-5: NOTRUN -> [SKIP][50] ([i915#12637] / [i915#4077]) +2 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@gem_tiled_fence_blits@basic.html
- bat-dg1-7: NOTRUN -> [SKIP][51] ([i915#4077]) +2 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html
* igt@gem_tiled_pread_basic:
- bat-arls-5: NOTRUN -> [SKIP][52] ([i915#10206] / [i915#4079])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@gem_tiled_pread_basic.html
- bat-adlp-6: NOTRUN -> [SKIP][53] ([i915#3282])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@gem_tiled_pread_basic.html
- bat-arlh-3: NOTRUN -> [SKIP][54] ([i915#11724] / [i915#4079])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@gem_tiled_pread_basic.html
- bat-dg1-7: NOTRUN -> [SKIP][55] ([i915#4079]) +1 other test skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@gem_tiled_pread_basic.html
- bat-adlp-9: NOTRUN -> [SKIP][56] ([i915#3282])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@gem_tiled_pread_basic.html
- bat-twl-1: NOTRUN -> [SKIP][57] ([i915#11031])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@gem_tiled_pread_basic.html
- bat-dg2-8: NOTRUN -> [SKIP][58] ([i915#4079]) +1 other test skip
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@gem_tiled_pread_basic.html
- bat-rplp-1: NOTRUN -> [SKIP][59] ([i915#3282])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@gem_tiled_pread_basic.html
- bat-arls-6: NOTRUN -> [SKIP][60] ([i915#10206] / [i915#4079])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@gem_tiled_pread_basic.html
- bat-adlp-11: NOTRUN -> [SKIP][61] ([i915#3282])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@gem_tiled_pread_basic.html
* igt@i915_pm_rps@basic-api:
- bat-dg1-7: NOTRUN -> [SKIP][62] ([i915#11681] / [i915#6621])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@i915_pm_rps@basic-api.html
- bat-adlp-9: NOTRUN -> [SKIP][63] ([i915#6621])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@i915_pm_rps@basic-api.html
- bat-twl-1: NOTRUN -> [SKIP][64] ([i915#10209] / [i915#11681])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@i915_pm_rps@basic-api.html
- bat-dg2-14: NOTRUN -> [SKIP][65] ([i915#11681] / [i915#6621])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@i915_pm_rps@basic-api.html
- bat-arls-5: NOTRUN -> [SKIP][66] ([i915#10209] / [i915#11681])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@i915_pm_rps@basic-api.html
- bat-adlp-6: NOTRUN -> [SKIP][67] ([i915#6621])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@i915_pm_rps@basic-api.html
- bat-rplp-1: NOTRUN -> [SKIP][68] ([i915#6621])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@i915_pm_rps@basic-api.html
- bat-mtlp-9: NOTRUN -> [SKIP][69] ([i915#11681] / [i915#6621])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@i915_pm_rps@basic-api.html
- bat-dg2-9: NOTRUN -> [SKIP][70] ([i915#11681] / [i915#6621])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@i915_pm_rps@basic-api.html
- bat-adlp-11: NOTRUN -> [SKIP][71] ([i915#6621])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@i915_pm_rps@basic-api.html
- bat-mtlp-8: NOTRUN -> [SKIP][72] ([i915#11681] / [i915#6621])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@i915_pm_rps@basic-api.html
- bat-dg1-6: NOTRUN -> [SKIP][73] ([i915#11681] / [i915#6621])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@i915_pm_rps@basic-api.html
- bat-dg2-8: NOTRUN -> [SKIP][74] ([i915#11681] / [i915#6621])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@i915_pm_rps@basic-api.html
- bat-arls-6: NOTRUN -> [SKIP][75] ([i915#10209] / [i915#11681])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@i915_pm_rps@basic-api.html
- bat-arlh-3: NOTRUN -> [SKIP][76] ([i915#11681])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live:
- fi-kbl-x1275: NOTRUN -> [ABORT][77] ([i915#15399]) +1 other test abort
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-kbl-x1275/igt@i915_selftest@live.html
- bat-adlp-11: NOTRUN -> [ABORT][78] ([i915#14365] / [i915#15399])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@i915_selftest@live.html
- bat-mtlp-8: NOTRUN -> [ABORT][79] ([i915#15399]) +1 other test abort
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@i915_selftest@live.html
- bat-dg1-6: NOTRUN -> [ABORT][80] ([i915#15399]) +1 other test abort
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@i915_selftest@live.html
- bat-dg2-8: NOTRUN -> [ABORT][81] ([i915#15399]) +1 other test abort
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@i915_selftest@live.html
- bat-adlp-6: NOTRUN -> [ABORT][82] ([i915#14365] / [i915#15399])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@i915_selftest@live.html
- fi-skl-6600u: NOTRUN -> [ABORT][83] ([i915#15399]) +1 other test abort
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-skl-6600u/igt@i915_selftest@live.html
- bat-arlh-3: NOTRUN -> [ABORT][84] ([i915#15399]) +1 other test abort
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@i915_selftest@live.html
- bat-adlp-9: NOTRUN -> [ABORT][85] ([i915#14365] / [i915#15399])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@i915_selftest@live.html
- bat-twl-1: NOTRUN -> [ABORT][86] ([i915#14365] / [i915#15399])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@i915_selftest@live.html
- bat-rplp-1: NOTRUN -> [ABORT][87] ([i915#14365])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@i915_selftest@live.html
* igt@i915_selftest@live@hugepages:
- bat-adlp-9: NOTRUN -> [ABORT][88] ([i915#15399])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@i915_selftest@live@hugepages.html
- bat-twl-1: NOTRUN -> [ABORT][89] ([i915#15399])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@i915_selftest@live@hugepages.html
- bat-dg2-14: NOTRUN -> [ABORT][90] ([i915#15399]) +1 other test abort
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@i915_selftest@live@hugepages.html
- fi-bsw-nick: NOTRUN -> [ABORT][91] ([i915#15399]) +1 other test abort
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-bsw-nick/igt@i915_selftest@live@hugepages.html
- bat-arls-5: NOTRUN -> [ABORT][92] ([i915#15399]) +1 other test abort
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@i915_selftest@live@hugepages.html
- bat-adlp-6: NOTRUN -> [ABORT][93] ([i915#15399])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@i915_selftest@live@hugepages.html
- bat-dg1-7: NOTRUN -> [ABORT][94] ([i915#15399]) +1 other test abort
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@i915_selftest@live@hugepages.html
- bat-dg2-9: NOTRUN -> [ABORT][95] ([i915#15399]) +1 other test abort
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@i915_selftest@live@hugepages.html
- bat-adlp-11: NOTRUN -> [ABORT][96] ([i915#15399])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@i915_selftest@live@hugepages.html
- bat-jsl-5: NOTRUN -> [ABORT][97] ([i915#15399]) +1 other test abort
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@i915_selftest@live@hugepages.html
- bat-mtlp-9: NOTRUN -> [ABORT][98] ([i915#15399]) +1 other test abort
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@i915_selftest@live@hugepages.html
- bat-arls-6: NOTRUN -> [ABORT][99] ([i915#15399]) +1 other test abort
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@i915_selftest@live@hugepages.html
* igt@i915_selftest@live@workarounds:
- bat-mtlp-9: NOTRUN -> [DMESG-FAIL][100] ([i915#12061])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
- bat-dg2-9: NOTRUN -> [DMESG-FAIL][101] ([i915#12061])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@i915_selftest@live@workarounds.html
* igt@intel_hwmon@hwmon-read:
- bat-rplp-1: NOTRUN -> [SKIP][102] ([i915#7707]) +1 other test skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@intel_hwmon@hwmon-read.html
- bat-mtlp-9: NOTRUN -> [SKIP][103] ([i915#7707]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@intel_hwmon@hwmon-read.html
- bat-arls-6: NOTRUN -> [SKIP][104] ([i915#7707]) +1 other test skip
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@intel_hwmon@hwmon-read.html
- bat-adlp-11: NOTRUN -> [SKIP][105] ([i915#7707]) +1 other test skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@intel_hwmon@hwmon-read.html
- bat-mtlp-8: NOTRUN -> [SKIP][106] ([i915#7707]) +1 other test skip
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@intel_hwmon@hwmon-read.html
- bat-adlp-6: NOTRUN -> [SKIP][107] ([i915#7707]) +1 other test skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@intel_hwmon@hwmon-read.html
- bat-arlh-3: NOTRUN -> [SKIP][108] ([i915#11680]) +1 other test skip
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@intel_hwmon@hwmon-read.html
* igt@intel_hwmon@hwmon-write:
- bat-adlp-9: NOTRUN -> [SKIP][109] ([i915#7707]) +1 other test skip
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@intel_hwmon@hwmon-write.html
- bat-twl-1: NOTRUN -> [SKIP][110] ([i915#7707]) +1 other test skip
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@intel_hwmon@hwmon-write.html
- bat-jsl-5: NOTRUN -> [SKIP][111] ([i915#7707]) +1 other test skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@intel_hwmon@hwmon-write.html
- bat-arls-5: NOTRUN -> [SKIP][112] ([i915#7707]) +1 other test skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@intel_hwmon@hwmon-write.html
* igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling:
- bat-dg1-6: NOTRUN -> [SKIP][113] ([i915#12311] / [i915#4212]) +7 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling.html
* igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
- bat-dg1-7: NOTRUN -> [SKIP][114] ([i915#4212]) +7 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- bat-dg2-9: NOTRUN -> [SKIP][115] ([i915#5190])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-mtlp-8: NOTRUN -> [SKIP][116] ([i915#5190])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-dg2-8: NOTRUN -> [SKIP][117] ([i915#5190])
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-arls-6: NOTRUN -> [SKIP][118] ([i915#10200] / [i915#12203])
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-arlh-3: NOTRUN -> [SKIP][119] ([i915#11666] / [i915#12203])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-dg2-14: NOTRUN -> [SKIP][120] ([i915#5190])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-arls-5: NOTRUN -> [SKIP][121] ([i915#10200] / [i915#12203])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
- bat-mtlp-9: NOTRUN -> [SKIP][122] ([i915#5190])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_addfb_basic@basic-x-tiled-legacy:
- bat-dg2-14: NOTRUN -> [SKIP][123] ([i915#4212]) +7 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_addfb_basic@basic-x-tiled-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-mtlp-9: NOTRUN -> [SKIP][124] ([i915#4212]) +8 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-arls-6: NOTRUN -> [SKIP][125] ([i915#10200]) +8 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg2-9: NOTRUN -> [SKIP][126] ([i915#4215] / [i915#5190])
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-mtlp-8: NOTRUN -> [SKIP][127] ([i915#4212]) +8 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg1-6: NOTRUN -> [SKIP][128] ([i915#12311] / [i915#4215])
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg2-8: NOTRUN -> [SKIP][129] ([i915#4215] / [i915#5190])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg1-7: NOTRUN -> [SKIP][130] ([i915#4215])
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html
- bat-dg2-14: NOTRUN -> [SKIP][131] ([i915#4215] / [i915#5190])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_addfb_basic@bo-too-small-due-to-tiling:
- bat-arlh-3: NOTRUN -> [SKIP][132] ([i915#11666]) +8 other tests skip
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
* igt@kms_addfb_basic@clobberred-modifier:
- bat-arls-5: NOTRUN -> [SKIP][133] ([i915#10200]) +8 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@kms_addfb_basic@clobberred-modifier.html
* igt@kms_addfb_basic@framebuffer-vs-set-tiling:
- bat-dg2-9: NOTRUN -> [SKIP][134] ([i915#4212]) +7 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
- bat-dg2-8: NOTRUN -> [SKIP][135] ([i915#4212]) +7 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
* igt@kms_busy@basic:
- bat-dg1-6: NOTRUN -> [SKIP][136] ([i915#11190] / [i915#12311] / [i915#4303])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_busy@basic.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- bat-adlp-9: NOTRUN -> [SKIP][137] ([i915#4103]) +1 other test skip
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
- bat-arls-6: NOTRUN -> [SKIP][138] ([i915#10202]) +1 other test skip
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-twl-1: NOTRUN -> [SKIP][139] ([i915#11030] / [i915#11731]) +1 other test skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-jsl-5: NOTRUN -> [SKIP][140] ([i915#4103]) +1 other test skip
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-dg2-14: NOTRUN -> [SKIP][141] ([i915#4103] / [i915#4213]) +1 other test skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-arls-5: NOTRUN -> [SKIP][142] ([i915#10202]) +1 other test skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-rplp-1: NOTRUN -> [SKIP][143] ([i915#4103] / [i915#4213]) +1 other test skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-mtlp-9: NOTRUN -> [SKIP][144] ([i915#4213]) +1 other test skip
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-dg2-9: NOTRUN -> [SKIP][145] ([i915#4103] / [i915#4213]) +1 other test skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-mtlp-8: NOTRUN -> [SKIP][146] ([i915#4213]) +1 other test skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-dg2-8: NOTRUN -> [SKIP][147] ([i915#4103] / [i915#4213]) +1 other test skip
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-adlp-6: NOTRUN -> [SKIP][148] ([i915#4103]) +1 other test skip
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-arlh-3: NOTRUN -> [SKIP][149] ([i915#11731]) +1 other test skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- bat-dg1-7: NOTRUN -> [SKIP][150] ([i915#4103] / [i915#4213]) +1 other test skip
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size:
- bat-dg1-6: NOTRUN -> [SKIP][151] ([i915#11190] / [i915#12311]) +15 other tests skip
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html
* igt@kms_dsc@dsc-basic:
- bat-twl-1: NOTRUN -> [SKIP][152] ([i915#9886])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@kms_dsc@dsc-basic.html
- bat-jsl-5: NOTRUN -> [SKIP][153] ([i915#3555] / [i915#9886])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@kms_dsc@dsc-basic.html
- bat-dg2-14: NOTRUN -> [SKIP][154] ([i915#3555] / [i915#3840])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_dsc@dsc-basic.html
- bat-arls-5: NOTRUN -> [SKIP][155] ([i915#9886])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@kms_dsc@dsc-basic.html
- bat-rplp-1: NOTRUN -> [SKIP][156] ([i915#3555] / [i915#3840])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@kms_dsc@dsc-basic.html
- bat-mtlp-9: NOTRUN -> [SKIP][157] ([i915#3555] / [i915#3840] / [i915#9159])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@kms_dsc@dsc-basic.html
- bat-arls-6: NOTRUN -> [SKIP][158] ([i915#9886])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@kms_dsc@dsc-basic.html
- bat-mtlp-8: NOTRUN -> [SKIP][159] ([i915#3555] / [i915#3840] / [i915#9159])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@kms_dsc@dsc-basic.html
- bat-arlh-3: NOTRUN -> [SKIP][160] ([i915#9886])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@kms_dsc@dsc-basic.html
- bat-dg1-7: NOTRUN -> [SKIP][161] ([i915#3555] / [i915#3840])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@kms_dsc@dsc-basic.html
- bat-adlp-9: NOTRUN -> [SKIP][162] ([i915#3555] / [i915#3840])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@kms_dsc@dsc-basic.html
* igt@kms_flip@basic-flip-vs-dpms:
- bat-adlp-11: NOTRUN -> [SKIP][163] ([i915#3637]) +3 other tests skip
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@kms_flip@basic-flip-vs-dpms.html
- bat-dg1-6: NOTRUN -> [SKIP][164] ([i915#12311] / [i915#3637]) +2 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_flip@basic-plain-flip:
- bat-dg1-6: NOTRUN -> [SKIP][165] ([i915#12311]) +1 other test skip
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_flip@basic-plain-flip.html
* igt@kms_force_connector_basic@force-load-detect:
- bat-twl-1: NOTRUN -> [SKIP][166] ([i915#11032])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@kms_force_connector_basic@force-load-detect.html
- bat-jsl-5: NOTRUN -> [SKIP][167]
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@kms_force_connector_basic@force-load-detect.html
- bat-dg2-14: NOTRUN -> [SKIP][168]
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_force_connector_basic@force-load-detect.html
- bat-arls-5: NOTRUN -> [SKIP][169] ([i915#10207])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@kms_force_connector_basic@force-load-detect.html
- bat-rplp-1: NOTRUN -> [SKIP][170] ([i915#4093]) +3 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@kms_force_connector_basic@force-load-detect.html
- bat-mtlp-9: NOTRUN -> [SKIP][171]
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@kms_force_connector_basic@force-load-detect.html
- bat-arls-6: NOTRUN -> [SKIP][172] ([i915#10207])
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@kms_force_connector_basic@force-load-detect.html
- bat-dg2-9: NOTRUN -> [SKIP][173]
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@kms_force_connector_basic@force-load-detect.html
- bat-mtlp-8: NOTRUN -> [SKIP][174]
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html
- bat-dg2-8: NOTRUN -> [SKIP][175]
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@kms_force_connector_basic@force-load-detect.html
- bat-adlp-6: NOTRUN -> [SKIP][176]
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@kms_force_connector_basic@force-load-detect.html
- bat-arlh-3: NOTRUN -> [SKIP][177] ([i915#10207])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@kms_force_connector_basic@force-load-detect.html
- bat-dg1-7: NOTRUN -> [SKIP][178]
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html
- bat-adlp-9: NOTRUN -> [SKIP][179]
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_force_connector_basic@prune-stale-modes:
- bat-adlp-11: NOTRUN -> [SKIP][180] ([i915#4093]) +3 other tests skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@kms_force_connector_basic@prune-stale-modes.html
* igt@kms_frontbuffer_tracking@basic:
- fi-kbl-x1275: NOTRUN -> [SKIP][181] +19 other tests skip
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-kbl-x1275/igt@kms_frontbuffer_tracking@basic.html
- bat-adlp-11: NOTRUN -> [SKIP][182] ([i915#4342] / [i915#5354])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@kms_frontbuffer_tracking@basic.html
- bat-dg1-6: NOTRUN -> [SKIP][183] ([i915#12311] / [i915#4342])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_frontbuffer_tracking@basic.html
* igt@kms_hdmi_inject@inject-audio:
- bat-rplp-1: NOTRUN -> [SKIP][184] ([i915#4369])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@kms_hdmi_inject@inject-audio.html
- bat-adlp-11: NOTRUN -> [SKIP][185] ([i915#4369])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-edp-1:
- fi-skl-6600u: NOTRUN -> [SKIP][186] +10 other tests skip
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-skl-6600u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-edp-1.html
* igt@kms_pipe_crc_basic@read-crc:
- fi-kbl-x1275: NOTRUN -> [SKIP][187] ([i915#11190]) +16 other tests skip
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-kbl-x1275/igt@kms_pipe_crc_basic@read-crc.html
- bat-adlp-11: NOTRUN -> [SKIP][188] ([i915#11190]) +16 other tests skip
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc.html
* igt@kms_pipe_crc_basic@read-crc-frame-sequence:
- fi-bsw-nick: NOTRUN -> [SKIP][189] ([i915#11190]) +16 other tests skip
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-bsw-nick/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html
* igt@kms_pm_backlight@basic-brightness:
- bat-arls-5: NOTRUN -> [SKIP][190] ([i915#9812])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@kms_pm_backlight@basic-brightness.html
- bat-dg1-7: NOTRUN -> [SKIP][191] ([i915#5354])
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html
- bat-jsl-5: NOTRUN -> [SKIP][192] ([i915#15205])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@kms_pm_backlight@basic-brightness.html
- bat-dg2-14: NOTRUN -> [SKIP][193] ([i915#5354])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_pm_backlight@basic-brightness.html
- bat-dg2-8: NOTRUN -> [SKIP][194] ([i915#5354])
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@kms_pm_backlight@basic-brightness.html
- bat-arls-6: NOTRUN -> [SKIP][195] ([i915#9812])
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@kms_pm_backlight@basic-brightness.html
- bat-dg2-9: NOTRUN -> [SKIP][196] ([i915#5354])
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@kms_pm_backlight@basic-brightness.html
- bat-adlp-11: NOTRUN -> [SKIP][197] ([i915#9812])
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@kms_pm_backlight@basic-brightness.html
- bat-dg1-6: NOTRUN -> [SKIP][198] ([i915#12311] / [i915#5354])
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_pm_backlight@basic-brightness.html
- bat-adlp-9: NOTRUN -> [SKIP][199] ([i915#9812])
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_psr@psr-cursor-plane-move:
- bat-arls-6: NOTRUN -> [SKIP][200] ([i915#9732]) +3 other tests skip
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@kms_psr@psr-cursor-plane-move.html
* igt@kms_psr@psr-primary-mmap-gtt:
- bat-mtlp-9: NOTRUN -> [SKIP][201] ([i915#4077] / [i915#9688]) +1 other test skip
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@kms_psr@psr-primary-mmap-gtt.html
- bat-mtlp-8: NOTRUN -> [SKIP][202] ([i915#4077] / [i915#9688]) +1 other test skip
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@kms_psr@psr-primary-mmap-gtt.html
- bat-dg1-6: NOTRUN -> [SKIP][203] ([i915#1072] / [i915#12311] / [i915#9732]) +3 other tests skip
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_psr@psr-primary-mmap-gtt.html
- bat-arlh-3: NOTRUN -> [SKIP][204] ([i915#12637] / [i915#9688]) +1 other test skip
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@kms_psr@psr-primary-mmap-gtt.html
* igt@kms_psr@psr-primary-page-flip:
- bat-dg1-7: NOTRUN -> [SKIP][205] ([i915#1072] / [i915#9732]) +3 other tests skip
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html
* igt@kms_psr@psr-sprite-plane-onoff:
- bat-adlp-9: NOTRUN -> [SKIP][206] ([i915#1072] / [i915#9732]) +3 other tests skip
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@kms_psr@psr-sprite-plane-onoff.html
- bat-jsl-5: NOTRUN -> [SKIP][207] ([i915#1072]) +3 other tests skip
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@kms_psr@psr-sprite-plane-onoff.html
- bat-dg2-14: NOTRUN -> [SKIP][208] ([i915#1072] / [i915#9732]) +3 other tests skip
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_psr@psr-sprite-plane-onoff.html
- bat-arls-5: NOTRUN -> [SKIP][209] ([i915#9732]) +3 other tests skip
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@kms_psr@psr-sprite-plane-onoff.html
- bat-rplp-1: NOTRUN -> [SKIP][210] ([i915#1072] / [i915#9732]) +3 other tests skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@kms_psr@psr-sprite-plane-onoff.html
- bat-dg2-9: NOTRUN -> [SKIP][211] ([i915#1072] / [i915#9732]) +3 other tests skip
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@kms_psr@psr-sprite-plane-onoff.html
- bat-adlp-11: NOTRUN -> [SKIP][212] ([i915#1072] / [i915#9732]) +3 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@kms_psr@psr-sprite-plane-onoff.html
- bat-dg2-8: NOTRUN -> [SKIP][213] ([i915#1072] / [i915#9732]) +3 other tests skip
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@kms_psr@psr-sprite-plane-onoff.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-adlp-9: NOTRUN -> [SKIP][214] ([i915#3555])
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@kms_setmode@basic-clone-single-crtc.html
- bat-twl-1: NOTRUN -> [SKIP][215] ([i915#8809])
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-14: NOTRUN -> [SKIP][216] ([i915#3555])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@kms_setmode@basic-clone-single-crtc.html
- bat-arls-5: NOTRUN -> [SKIP][217] ([i915#10208] / [i915#8809])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@kms_setmode@basic-clone-single-crtc.html
- bat-adlp-6: NOTRUN -> [SKIP][218] ([i915#3555])
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@kms_setmode@basic-clone-single-crtc.html
- bat-rplp-1: NOTRUN -> [SKIP][219] ([i915#3555])
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@kms_setmode@basic-clone-single-crtc.html
- bat-mtlp-9: NOTRUN -> [SKIP][220] ([i915#3555] / [i915#8809])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-9: NOTRUN -> [SKIP][221] ([i915#3555])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@kms_setmode@basic-clone-single-crtc.html
- bat-adlp-11: NOTRUN -> [SKIP][222] ([i915#3555])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@kms_setmode@basic-clone-single-crtc.html
- bat-jsl-5: NOTRUN -> [SKIP][223] ([i915#3555])
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-jsl-5/igt@kms_setmode@basic-clone-single-crtc.html
- bat-mtlp-8: NOTRUN -> [SKIP][224] ([i915#3555] / [i915#8809])
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-6: NOTRUN -> [SKIP][225] ([i915#12311] / [i915#3555])
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg2-8: NOTRUN -> [SKIP][226] ([i915#3555])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@kms_setmode@basic-clone-single-crtc.html
- bat-arls-6: NOTRUN -> [SKIP][227] ([i915#10208] / [i915#8809])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@kms_setmode@basic-clone-single-crtc.html
- bat-arlh-3: NOTRUN -> [SKIP][228] ([i915#8809])
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@kms_setmode@basic-clone-single-crtc.html
- bat-dg1-7: NOTRUN -> [SKIP][229] ([i915#3555])
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-flip:
- bat-dg1-7: NOTRUN -> [SKIP][230] ([i915#3708]) +3 other tests skip
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html
- bat-dg2-9: NOTRUN -> [SKIP][231] ([i915#3708])
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@prime_vgem@basic-fence-flip.html
- bat-dg2-14: NOTRUN -> [SKIP][232] ([i915#3708])
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@prime_vgem@basic-fence-flip.html
- bat-dg2-8: NOTRUN -> [SKIP][233] ([i915#3708])
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@prime_vgem@basic-fence-flip.html
- bat-adlp-11: NOTRUN -> [SKIP][234] ([i915#3708])
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@basic-fence-mmap:
- bat-arlh-3: NOTRUN -> [SKIP][235] ([i915#12637]) +4 other tests skip
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@prime_vgem@basic-fence-mmap.html
- bat-dg1-7: NOTRUN -> [SKIP][236] ([i915#3708] / [i915#4077]) +1 other test skip
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html
- bat-dg2-14: NOTRUN -> [SKIP][237] ([i915#3708] / [i915#4077]) +1 other test skip
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@prime_vgem@basic-fence-mmap.html
- bat-dg2-8: NOTRUN -> [SKIP][238] ([i915#3708] / [i915#4077]) +1 other test skip
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@prime_vgem@basic-fence-mmap.html
- bat-mtlp-9: NOTRUN -> [SKIP][239] ([i915#3708] / [i915#4077]) +1 other test skip
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@prime_vgem@basic-fence-mmap.html
- bat-arls-6: NOTRUN -> [SKIP][240] ([i915#12637] / [i915#3708] / [i915#4077]) +1 other test skip
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@prime_vgem@basic-fence-mmap.html
- bat-dg2-9: NOTRUN -> [SKIP][241] ([i915#3708] / [i915#4077]) +1 other test skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@prime_vgem@basic-fence-mmap.html
- bat-mtlp-8: NOTRUN -> [SKIP][242] ([i915#3708] / [i915#4077]) +1 other test skip
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@prime_vgem@basic-fence-mmap.html
- bat-dg1-6: NOTRUN -> [SKIP][243] ([i915#3708] / [i915#4077]) +1 other test skip
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@prime_vgem@basic-fence-mmap.html
* igt@prime_vgem@basic-fence-read:
- bat-adlp-11: NOTRUN -> [SKIP][244] ([i915#3291] / [i915#3708]) +2 other tests skip
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-11/igt@prime_vgem@basic-fence-read.html
- bat-mtlp-8: NOTRUN -> [SKIP][245] ([i915#3708]) +1 other test skip
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html
- bat-dg1-6: NOTRUN -> [SKIP][246] ([i915#3708]) +2 other tests skip
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@prime_vgem@basic-fence-read.html
- bat-adlp-9: NOTRUN -> [SKIP][247] ([i915#3291] / [i915#3708]) +2 other tests skip
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-9/igt@prime_vgem@basic-fence-read.html
- bat-arls-5: NOTRUN -> [SKIP][248] ([i915#10212] / [i915#3708])
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@prime_vgem@basic-fence-read.html
- bat-adlp-6: NOTRUN -> [SKIP][249] ([i915#3291] / [i915#3708]) +2 other tests skip
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-adlp-6/igt@prime_vgem@basic-fence-read.html
- bat-arlh-3: NOTRUN -> [SKIP][250] ([i915#11726]) +1 other test skip
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@prime_vgem@basic-fence-read.html
- bat-twl-1: NOTRUN -> [SKIP][251] ([i915#10212] / [i915#3708])
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@prime_vgem@basic-fence-read.html
- bat-arls-6: NOTRUN -> [SKIP][252] ([i915#10212] / [i915#3708])
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-gtt:
- bat-arls-5: NOTRUN -> [SKIP][253] ([i915#12637] / [i915#3708] / [i915#4077]) +1 other test skip
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@prime_vgem@basic-gtt.html
* igt@prime_vgem@basic-read:
- bat-twl-1: NOTRUN -> [SKIP][254] ([i915#10214] / [i915#3708])
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@prime_vgem@basic-read.html
- bat-dg2-14: NOTRUN -> [SKIP][255] ([i915#3291] / [i915#3708]) +2 other tests skip
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-14/igt@prime_vgem@basic-read.html
- bat-arls-5: NOTRUN -> [SKIP][256] ([i915#10214] / [i915#3708])
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@prime_vgem@basic-read.html
- bat-rplp-1: NOTRUN -> [SKIP][257] ([i915#3708]) +2 other tests skip
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-rplp-1/igt@prime_vgem@basic-read.html
- bat-mtlp-9: NOTRUN -> [SKIP][258] ([i915#3708]) +1 other test skip
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@prime_vgem@basic-read.html
- bat-arls-6: NOTRUN -> [SKIP][259] ([i915#10214] / [i915#3708])
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@prime_vgem@basic-read.html
* igt@prime_vgem@basic-write:
- bat-mtlp-9: NOTRUN -> [SKIP][260] ([i915#10216] / [i915#3708])
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-9/igt@prime_vgem@basic-write.html
- bat-arls-6: NOTRUN -> [SKIP][261] ([i915#10216] / [i915#3708])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-6/igt@prime_vgem@basic-write.html
- bat-dg2-9: NOTRUN -> [SKIP][262] ([i915#3291] / [i915#3708]) +2 other tests skip
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-9/igt@prime_vgem@basic-write.html
- bat-mtlp-8: NOTRUN -> [SKIP][263] ([i915#10216] / [i915#3708])
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-mtlp-8/igt@prime_vgem@basic-write.html
- bat-dg1-6: NOTRUN -> [SKIP][264] ([i915#11723] / [i915#3708])
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg1-6/igt@prime_vgem@basic-write.html
- bat-dg2-8: NOTRUN -> [SKIP][265] ([i915#3291] / [i915#3708]) +2 other tests skip
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-dg2-8/igt@prime_vgem@basic-write.html
- bat-arlh-3: NOTRUN -> [SKIP][266] ([i915#11723])
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arlh-3/igt@prime_vgem@basic-write.html
- bat-twl-1: NOTRUN -> [SKIP][267] ([i915#10216] / [i915#3708])
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-twl-1/igt@prime_vgem@basic-write.html
- bat-arls-5: NOTRUN -> [SKIP][268] ([i915#10216] / [i915#3708])
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-arls-5/igt@prime_vgem@basic-write.html
#### Warnings ####
* igt@i915_selftest@live:
- fi-ivb-3770: [ABORT][269] -> [ABORT][270] ([i915#15399]) +1 other test abort
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8662/fi-ivb-3770/igt@i915_selftest@live.html
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/fi-ivb-3770/igt@i915_selftest@live.html
* igt@i915_selftest@live@mman:
- bat-atsm-1: [DMESG-FAIL][271] ([i915#13929]) -> [DMESG-FAIL][272] ([i915#14204])
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8662/bat-atsm-1/igt@i915_selftest@live@mman.html
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/bat-atsm-1/igt@i915_selftest@live@mman.html
[i915#10197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10197
[i915#10200]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10200
[i915#10202]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10202
[i915#10206]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10206
[i915#10207]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10207
[i915#10208]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10208
[i915#10209]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10209
[i915#10211]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10211
[i915#10212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10212
[i915#10213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10213
[i915#10214]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10214
[i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#11030]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11030
[i915#11031]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11031
[i915#11032]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11032
[i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190
[i915#11343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11343
[i915#11666]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11666
[i915#11671]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11671
[i915#11680]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11680
[i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
[i915#11723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11723
[i915#11724]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11724
[i915#11725]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11725
[i915#11726]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11726
[i915#11731]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11731
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12203
[i915#12311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12311
[i915#12637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12637
[i915#13929]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13929
[i915#14204]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14204
[i915#14365]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14365
[i915#15205]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15205
[i915#15399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15399
[i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4093]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4093
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
[i915#4303]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4303
[i915#4342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4342
[i915#4369]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4369
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
[i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
[i915#9159]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9159
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
[i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8662 -> IGTPW_14176
CI-20190529: 20190529
CI_DRM_17650: 12271f632915efe0c5d4171b9c0e90f57ecdfe01 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14176: 709e1bf081f5451eeed0c80d2a62bf584e9d672f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8662: 9410b6926f317e8bf824502394e09ee8753ff65e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14176/index.html
[-- Attachment #2: Type: text/html, Size: 85066 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✓ Xe.CI.BAT: success for Close any open drm device after engine initialization in GPUTOP (rev2)
2025-12-09 17:35 [PATCH i-g-t v1 0/2] Close any open drm device after engine initialization in GPUTOP Soham Purkait
` (2 preceding siblings ...)
2025-12-09 23:07 ` ✗ i915.CI.BAT: failure for Close any open drm device after engine initialization in GPUTOP (rev2) Patchwork
@ 2025-12-10 4:43 ` Patchwork
2025-12-10 6:23 ` ✗ Xe.CI.Full: failure " Patchwork
4 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-12-10 4:43 UTC (permalink / raw)
To: Soham Purkait; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 1856 bytes --]
== Series Details ==
Series: Close any open drm device after engine initialization in GPUTOP (rev2)
URL : https://patchwork.freedesktop.org/series/158161/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8662_BAT -> XEIGTPW_14176_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 12)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in XEIGTPW_14176_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_waitfence@engine:
- bat-dg2-oem2: [PASS][1] -> [FAIL][2] ([Intel XE#6519])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/bat-dg2-oem2/igt@xe_waitfence@engine.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/bat-dg2-oem2/igt@xe_waitfence@engine.html
* igt@xe_waitfence@reltime:
- bat-dg2-oem2: [PASS][3] -> [FAIL][4] ([Intel XE#6520])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/bat-dg2-oem2/igt@xe_waitfence@reltime.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/bat-dg2-oem2/igt@xe_waitfence@reltime.html
[Intel XE#6519]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6519
[Intel XE#6520]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6520
Build changes
-------------
* IGT: IGT_8662 -> IGTPW_14176
IGTPW_14176: 709e1bf081f5451eeed0c80d2a62bf584e9d672f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8662: 9410b6926f317e8bf824502394e09ee8753ff65e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4211-12271f632915efe0c5d4171b9c0e90f57ecdfe01: 12271f632915efe0c5d4171b9c0e90f57ecdfe01
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/index.html
[-- Attachment #2: Type: text/html, Size: 2452 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✗ Xe.CI.Full: failure for Close any open drm device after engine initialization in GPUTOP (rev2)
2025-12-09 17:35 [PATCH i-g-t v1 0/2] Close any open drm device after engine initialization in GPUTOP Soham Purkait
` (3 preceding siblings ...)
2025-12-10 4:43 ` ✓ Xe.CI.BAT: success " Patchwork
@ 2025-12-10 6:23 ` Patchwork
4 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2025-12-10 6:23 UTC (permalink / raw)
To: Soham Purkait; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 58783 bytes --]
== Series Details ==
Series: Close any open drm device after engine initialization in GPUTOP (rev2)
URL : https://patchwork.freedesktop.org/series/158161/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8662_FULL -> XEIGTPW_14176_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_14176_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_14176_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 3)
------------------------------
Missing (1): shard-adlp
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_14176_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-3:
- shard-bmg: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-3.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-3.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@ab-dp2-hdmi-a3:
- shard-bmg: [PASS][3] -> [DMESG-WARN][4] +1 other test dmesg-warn
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@ab-dp2-hdmi-a3.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible@ab-dp2-hdmi-a3.html
* igt@kms_plane_cursor@primary@pipe-d-dp-2-size-64:
- shard-bmg: [PASS][5] -> [DMESG-FAIL][6] +5 other tests dmesg-fail
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-6/igt@kms_plane_cursor@primary@pipe-d-dp-2-size-64.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_plane_cursor@primary@pipe-d-dp-2-size-64.html
* igt@kms_properties@connector-properties-legacy:
- shard-bmg: [PASS][7] -> [FAIL][8] +1 other test fail
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-4/igt@kms_properties@connector-properties-legacy.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-6/igt@kms_properties@connector-properties-legacy.html
* igt@xe_exec_system_allocator@many-execqueues-malloc-mlock-nomemset:
- shard-bmg: [PASS][9] -> [TIMEOUT][10]
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@xe_exec_system_allocator@many-execqueues-malloc-mlock-nomemset.html
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@xe_exec_system_allocator@many-execqueues-malloc-mlock-nomemset.html
Known issues
------------
Here are the changes found in XEIGTPW_14176_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- shard-bmg: NOTRUN -> [SKIP][11] ([Intel XE#2233])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-5/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_async_flips@alternate-sync-async-flip:
- shard-lnl: NOTRUN -> [FAIL][12] ([Intel XE#6676]) +2 other tests fail
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@kms_async_flips@alternate-sync-async-flip.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-bmg: [PASS][13] -> [INCOMPLETE][14] ([Intel XE#6819])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][15] ([Intel XE#2327]) +6 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-6/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][16] ([Intel XE#316])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-435/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#1407]) +2 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-bmg: NOTRUN -> [SKIP][18] ([Intel XE#1124]) +13 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#607])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][20] ([Intel XE#1124]) +2 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
- shard-lnl: NOTRUN -> [SKIP][21] ([Intel XE#1124]) +2 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#2314] / [Intel XE#2894])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p.html
- shard-dg2-set2: NOTRUN -> [SKIP][23] ([Intel XE#2191])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-434/igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p.html
- shard-lnl: NOTRUN -> [SKIP][24] ([Intel XE#2191])
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p.html
* igt@kms_bw@linear-tiling-2-displays-1920x1080p:
- shard-bmg: NOTRUN -> [SKIP][25] ([Intel XE#367]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_bw@linear-tiling-2-displays-1920x1080p.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#3432])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#2887]) +5 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][28] ([Intel XE#787]) +27 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-433/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [PASS][29] -> [INCOMPLETE][30] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345] / [Intel XE#6168]) +1 other test incomplete
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][31] ([Intel XE#2887]) +15 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
- shard-dg2-set2: [PASS][32] -> [INCOMPLETE][33] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-dp-4:
- shard-dg2-set2: [PASS][34] -> [INCOMPLETE][35] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-dp-4.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2:
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#2652] / [Intel XE#787]) +8 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2.html
* igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][37] ([Intel XE#455] / [Intel XE#787]) +7 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-432/igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs.html
* igt@kms_cdclk@plane-scaling:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#2724])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-5/igt@kms_cdclk@plane-scaling.html
* igt@kms_chamelium_color@ctm-green-to-red:
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#2325]) +2 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_chamelium_color@ctm-green-to-red.html
* igt@kms_chamelium_edid@dp-edid-resolution-list:
- shard-bmg: NOTRUN -> [SKIP][40] ([Intel XE#2252]) +5 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_chamelium_edid@dp-edid-resolution-list.html
* igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe:
- shard-dg2-set2: NOTRUN -> [SKIP][41] ([Intel XE#373])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-464/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
- shard-lnl: NOTRUN -> [SKIP][42] ([Intel XE#373])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-2/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
* igt@kms_content_protection@atomic-dpms:
- shard-dg2-set2: NOTRUN -> [FAIL][43] ([Intel XE#1178]) +1 other test fail
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-464/igt@kms_content_protection@atomic-dpms.html
- shard-lnl: NOTRUN -> [SKIP][44] ([Intel XE#3278])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-2/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][45] ([Intel XE#1178]) +1 other test fail
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_content_protection@atomic-dpms@pipe-a-dp-2.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-bmg: NOTRUN -> [SKIP][46] ([Intel XE#2390])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-6/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-dg2-set2: NOTRUN -> [SKIP][47] ([Intel XE#308])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-463/igt@kms_cursor_crc@cursor-onscreen-512x170.html
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#2321])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@kms_cursor_crc@cursor-onscreen-512x170.html
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#2321])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-5/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-random-32x32:
- shard-bmg: NOTRUN -> [SKIP][50] ([Intel XE#2320]) +3 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-3/igt@kms_cursor_crc@cursor-random-32x32.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-lnl: NOTRUN -> [SKIP][51] ([Intel XE#1424])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#309])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-dg2-set2: NOTRUN -> [SKIP][53] ([Intel XE#323])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-432/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
- shard-lnl: NOTRUN -> [SKIP][54] ([Intel XE#323])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
- shard-bmg: NOTRUN -> [SKIP][55] ([Intel XE#2286])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#4210])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_dirtyfb@fbc-dirtyfb-ioctl.html
* igt@kms_dp_linktrain_fallback@dsc-fallback:
- shard-bmg: NOTRUN -> [SKIP][57] ([Intel XE#4331])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_dp_linktrain_fallback@dsc-fallback.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-bmg: NOTRUN -> [SKIP][58] ([Intel XE#2244]) +3 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-dg2-set2: NOTRUN -> [SKIP][59] ([Intel XE#455]) +2 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-463/igt@kms_dsc@dsc-with-bpc-formats.html
- shard-lnl: NOTRUN -> [SKIP][60] ([Intel XE#2244]) +1 other test skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_flip@2x-dpms-vs-vblank-race:
- shard-lnl: NOTRUN -> [SKIP][61] ([Intel XE#1421]) +1 other test skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@kms_flip@2x-dpms-vs-vblank-race.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-bmg: [PASS][62] -> [ABORT][63] ([Intel XE#5545]) +1 other test abort
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][64] ([Intel XE#1397] / [Intel XE#1745])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][65] ([Intel XE#1397])
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#2293]) +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [FAIL][67] ([Intel XE#3106] / [Intel XE#4683]) +1 other test fail
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#2293] / [Intel XE#2380]) +2 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-5/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][69] ([Intel XE#2311]) +29 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-plflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][70] ([Intel XE#651]) +5 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][71] ([Intel XE#4141]) +18 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][72] ([Intel XE#6312])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#651]) +3 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][74] ([Intel XE#6312]) +2 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][75] ([Intel XE#656]) +10 other tests skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@plane-fbc-rte:
- shard-dg2-set2: NOTRUN -> [SKIP][76] ([Intel XE#1158])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-434/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move:
- shard-dg2-set2: NOTRUN -> [SKIP][77] ([Intel XE#653]) +6 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#2313]) +33 other tests skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc.html
* igt@kms_hdr@bpc-switch:
- shard-bmg: NOTRUN -> [ABORT][79] ([Intel XE#6740]) +1 other test abort
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_hdr@bpc-switch.html
* igt@kms_plane_multiple@2x-tiling-yf:
- shard-bmg: NOTRUN -> [SKIP][80] ([Intel XE#5021])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-yf.html
* igt@kms_pm_dc@dc6-dpms:
- shard-lnl: [PASS][81] -> [FAIL][82] ([Intel XE#718]) +1 other test fail
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-3/igt@kms_pm_dc@dc6-dpms.html
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-8/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
- shard-bmg: NOTRUN -> [SKIP][84] ([Intel XE#1406] / [Intel XE#1489]) +7 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][85] ([Intel XE#1406] / [Intel XE#1489]) +2 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-433/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html
- shard-lnl: NOTRUN -> [SKIP][86] ([Intel XE#1406] / [Intel XE#2893] / [Intel XE#4608])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][87] ([Intel XE#1406] / [Intel XE#4608]) +1 other test skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1.html
* igt@kms_psr2_sf@pr-plane-move-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][88] ([Intel XE#1406] / [Intel XE#2893])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@kms_psr2_sf@pr-plane-move-sf-dmg-area.html
* igt@kms_psr@fbc-pr-cursor-plane-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][89] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +1 other test skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-434/igt@kms_psr@fbc-pr-cursor-plane-onoff.html
- shard-lnl: NOTRUN -> [SKIP][90] ([Intel XE#1406]) +1 other test skip
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@kms_psr@fbc-pr-cursor-plane-onoff.html
* igt@kms_psr@fbc-psr2-cursor-plane-move:
- shard-bmg: NOTRUN -> [SKIP][91] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +10 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-8/igt@kms_psr@fbc-psr2-cursor-plane-move.html
* igt@kms_psr@fbc-psr2-sprite-blt@edp-1:
- shard-lnl: NOTRUN -> [SKIP][92] ([Intel XE#1406] / [Intel XE#4609])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@kms_psr@fbc-psr2-sprite-blt@edp-1.html
* igt@kms_rotation_crc@primary-x-tiled-reflect-x-0:
- shard-lnl: NOTRUN -> [FAIL][93] ([Intel XE#4689])
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@kms_rotation_crc@primary-x-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
- shard-bmg: NOTRUN -> [SKIP][94] ([Intel XE#2330])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-dg2-set2: NOTRUN -> [SKIP][95] ([Intel XE#1127])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-464/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_rotation_crc@sprite-rotation-90:
- shard-bmg: NOTRUN -> [SKIP][96] ([Intel XE#3414] / [Intel XE#3904]) +1 other test skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_rotation_crc@sprite-rotation-90.html
* igt@kms_scaling_modes@scaling-mode-center:
- shard-bmg: NOTRUN -> [SKIP][97] ([Intel XE#2413])
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_scaling_modes@scaling-mode-center.html
* igt@kms_vrr@cmrr@pipe-a-edp-1:
- shard-lnl: [PASS][98] -> [FAIL][99] ([Intel XE#4459]) +1 other test fail
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-2/igt@kms_vrr@cmrr@pipe-a-edp-1.html
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@kms_vrr@cmrr@pipe-a-edp-1.html
* igt@kms_vrr@flip-basic:
- shard-bmg: NOTRUN -> [SKIP][100] ([Intel XE#1499]) +1 other test skip
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-3/igt@kms_vrr@flip-basic.html
* igt@xe_compute_preempt@compute-preempt-many:
- shard-dg2-set2: NOTRUN -> [SKIP][101] ([Intel XE#6360])
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-435/igt@xe_compute_preempt@compute-preempt-many.html
* igt@xe_create@multigpu-create-massive-size:
- shard-bmg: NOTRUN -> [SKIP][102] ([Intel XE#2504])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-8/igt@xe_create@multigpu-create-massive-size.html
* igt@xe_eu_stall@non-blocking-read:
- shard-dg2-set2: NOTRUN -> [SKIP][103] ([Intel XE#5626])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-463/igt@xe_eu_stall@non-blocking-read.html
* igt@xe_eudebug@attach-debug-metadata:
- shard-bmg: NOTRUN -> [SKIP][104] ([Intel XE#4837]) +10 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@xe_eudebug@attach-debug-metadata.html
* igt@xe_eudebug_online@pagefault-write-stress:
- shard-bmg: NOTRUN -> [SKIP][105] ([Intel XE#6665] / [Intel XE#6681])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-8/igt@xe_eudebug_online@pagefault-write-stress.html
* igt@xe_eudebug_online@preempt-breakpoint:
- shard-lnl: NOTRUN -> [SKIP][106] ([Intel XE#4837] / [Intel XE#6665])
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@xe_eudebug_online@preempt-breakpoint.html
* igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-vram:
- shard-bmg: NOTRUN -> [SKIP][107] ([Intel XE#4837] / [Intel XE#6665]) +4 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-vram.html
* igt@xe_evict@evict-beng-cm-threads-small-multi-vm:
- shard-lnl: NOTRUN -> [SKIP][108] ([Intel XE#688]) +1 other test skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@xe_evict@evict-beng-cm-threads-small-multi-vm.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-bmg: NOTRUN -> [SKIP][109] ([Intel XE#2322]) +9 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-3/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap:
- shard-lnl: NOTRUN -> [SKIP][110] ([Intel XE#1392]) +2 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
* igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate:
- shard-dg2-set2: NOTRUN -> [SKIP][111] ([Intel XE#288]) +3 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-464/igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate.html
* igt@xe_exec_sip_eudebug@wait-writesip-nodebug:
- shard-dg2-set2: NOTRUN -> [SKIP][112] ([Intel XE#4837]) +1 other test skip
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-432/igt@xe_exec_sip_eudebug@wait-writesip-nodebug.html
- shard-lnl: NOTRUN -> [SKIP][113] ([Intel XE#4837]) +2 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@xe_exec_sip_eudebug@wait-writesip-nodebug.html
* igt@xe_exec_system_allocator@many-64k-mmap-huge-nomemset:
- shard-bmg: NOTRUN -> [SKIP][114] ([Intel XE#5007])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@xe_exec_system_allocator@many-64k-mmap-huge-nomemset.html
* igt@xe_exec_system_allocator@many-execqueues-mmap-huge-nomemset:
- shard-bmg: NOTRUN -> [SKIP][115] ([Intel XE#4943]) +24 other tests skip
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-8/igt@xe_exec_system_allocator@many-execqueues-mmap-huge-nomemset.html
* igt@xe_exec_system_allocator@many-mmap-huge-nomemset:
- shard-lnl: NOTRUN -> [SKIP][116] ([Intel XE#4943]) +3 other tests skip
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@xe_exec_system_allocator@many-mmap-huge-nomemset.html
* igt@xe_exec_system_allocator@many-stride-malloc-race:
- shard-dg2-set2: NOTRUN -> [SKIP][117] ([Intel XE#4915]) +74 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-435/igt@xe_exec_system_allocator@many-stride-malloc-race.html
* igt@xe_media_fill@media-fill:
- shard-bmg: NOTRUN -> [SKIP][118] ([Intel XE#2459] / [Intel XE#2596])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@xe_media_fill@media-fill.html
* igt@xe_module_load@force-load:
- shard-bmg: NOTRUN -> [SKIP][119] ([Intel XE#2457])
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-6/igt@xe_module_load@force-load.html
* igt@xe_oa@closed-fd-and-unmapped-access:
- shard-dg2-set2: NOTRUN -> [SKIP][120] ([Intel XE#3573]) +2 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-464/igt@xe_oa@closed-fd-and-unmapped-access.html
* igt@xe_pm@d3cold-i2c:
- shard-bmg: NOTRUN -> [SKIP][121] ([Intel XE#5694])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-6/igt@xe_pm@d3cold-i2c.html
* igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_video_decode0:
- shard-lnl: [PASS][122] -> [FAIL][123] ([Intel XE#6251]) +3 other tests fail
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-4/igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_video_decode0.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_video_decode0.html
* igt@xe_pmu@gt-c6-idle:
- shard-dg2-set2: [PASS][124] -> [FAIL][125] ([Intel XE#6366])
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-dg2-434/igt@xe_pmu@gt-c6-idle.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-434/igt@xe_pmu@gt-c6-idle.html
* igt@xe_pxp@display-black-pxp-fb:
- shard-dg2-set2: NOTRUN -> [SKIP][126] ([Intel XE#4733])
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-432/igt@xe_pxp@display-black-pxp-fb.html
* igt@xe_pxp@display-pxp-fb:
- shard-bmg: NOTRUN -> [SKIP][127] ([Intel XE#4733]) +2 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@xe_pxp@display-pxp-fb.html
* igt@xe_query@multigpu-query-invalid-cs-cycles:
- shard-bmg: NOTRUN -> [SKIP][128] ([Intel XE#944]) +3 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@xe_query@multigpu-query-invalid-cs-cycles.html
- shard-lnl: NOTRUN -> [SKIP][129] ([Intel XE#944])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@xe_query@multigpu-query-invalid-cs-cycles.html
* igt@xe_sriov_flr@flr-twice:
- shard-bmg: NOTRUN -> [FAIL][130] ([Intel XE#6569])
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@xe_sriov_flr@flr-twice.html
* igt@xe_sriov_scheduling@equal-throughput:
- shard-dg2-set2: NOTRUN -> [SKIP][131] ([Intel XE#4351])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-463/igt@xe_sriov_scheduling@equal-throughput.html
* igt@xe_survivability@i2c-functionality:
- shard-dg2-set2: NOTRUN -> [SKIP][132] ([Intel XE#6529])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-463/igt@xe_survivability@i2c-functionality.html
- shard-lnl: NOTRUN -> [SKIP][133] ([Intel XE#6529])
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@xe_survivability@i2c-functionality.html
#### Possible fixes ####
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [FAIL][134] ([Intel XE#4633]) -> [PASS][135]
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-bmg: [FAIL][136] ([Intel XE#4367]) -> [PASS][137]
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-6/igt@kms_dp_linktrain_fallback@dp-fallback.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bd-dp2-hdmi-a3:
- shard-bmg: [FAIL][138] ([Intel XE#3321]) -> [PASS][139] +1 other test pass
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bd-dp2-hdmi-a3.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bd-dp2-hdmi-a3.html
* igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a3:
- shard-bmg: [DMESG-FAIL][140] ([Intel XE#5545]) -> [PASS][141] +1 other test pass
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a3.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-hdmi-a3.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-dg2-set2: [INCOMPLETE][142] -> [PASS][143]
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-dg2-436/igt@kms_frontbuffer_tracking@fbc-suspend.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_pm_rpm@i2c:
- shard-bmg: [FAIL][144] ([Intel XE#5099]) -> [PASS][145]
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-6/igt@kms_pm_rpm@i2c.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_pm_rpm@i2c.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-bmg: [SKIP][146] -> [PASS][147]
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_pm_rpm@modeset-non-lpsp.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-8/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@xe_exec_fault_mode@once-userptr-invalidate-prefetch:
- shard-bmg: [SKIP][148] ([Intel XE#6557] / [Intel XE#6703]) -> [PASS][149] +2 other tests pass
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@xe_exec_fault_mode@once-userptr-invalidate-prefetch.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@xe_exec_fault_mode@once-userptr-invalidate-prefetch.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma:
- shard-lnl: [FAIL][150] ([Intel XE#5625]) -> [PASS][151]
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-2/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-3/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html
* igt@xe_exec_system_allocator@process-many-stride-mmap:
- shard-bmg: [ABORT][152] ([Intel XE#3970]) -> [PASS][153]
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-4/igt@xe_exec_system_allocator@process-many-stride-mmap.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@xe_exec_system_allocator@process-many-stride-mmap.html
* igt@xe_module_load@load:
- shard-lnl: ([PASS][154], [PASS][155], [PASS][156], [SKIP][157], [PASS][158], [PASS][159], [PASS][160], [PASS][161], [PASS][162], [PASS][163], [PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179]) ([Intel XE#378]) -> ([PASS][180], [PASS][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189], [PASS][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204])
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-8/igt@xe_module_load@load.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-8/igt@xe_module_load@load.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-3/igt@xe_module_load@load.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-1/igt@xe_module_load@load.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-3/igt@xe_module_load@load.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-2/igt@xe_module_load@load.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-8/igt@xe_module_load@load.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-5/igt@xe_module_load@load.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-3/igt@xe_module_load@load.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-5/igt@xe_module_load@load.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-5/igt@xe_module_load@load.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-3/igt@xe_module_load@load.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-1/igt@xe_module_load@load.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-8/igt@xe_module_load@load.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-1/igt@xe_module_load@load.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-1/igt@xe_module_load@load.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-1/igt@xe_module_load@load.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-2/igt@xe_module_load@load.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-4/igt@xe_module_load@load.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-4/igt@xe_module_load@load.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-2/igt@xe_module_load@load.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-4/igt@xe_module_load@load.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-2/igt@xe_module_load@load.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-5/igt@xe_module_load@load.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-5/igt@xe_module_load@load.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-lnl-4/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-5/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-3/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-2/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-2/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-3/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-3/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-8/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-2/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-2/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-3/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@xe_module_load@load.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@xe_module_load@load.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-4/igt@xe_module_load@load.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-lnl-1/igt@xe_module_load@load.html
* igt@xe_pmu@engine-activity-multi-client:
- shard-bmg: [SKIP][205] ([Intel XE#6703]) -> [PASS][206] +32 other tests pass
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@xe_pmu@engine-activity-multi-client.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@xe_pmu@engine-activity-multi-client.html
#### Warnings ####
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs:
- shard-bmg: [SKIP][207] ([Intel XE#6703]) -> [SKIP][208] ([Intel XE#2887]) +1 other test skip
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs.html
* igt@kms_chamelium_hpd@dp-hpd-after-suspend:
- shard-bmg: [SKIP][209] ([Intel XE#6703]) -> [SKIP][210] ([Intel XE#2252])
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-3/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-render:
- shard-bmg: [SKIP][211] ([Intel XE#6703]) -> [SKIP][212] ([Intel XE#4141]) +1 other test skip
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-render.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-blt:
- shard-bmg: [SKIP][213] ([Intel XE#6703]) -> [SKIP][214] ([Intel XE#2311])
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-blt.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt:
- shard-bmg: [SKIP][215] ([Intel XE#6703]) -> [SKIP][216] ([Intel XE#2313])
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: [ABORT][217] ([Intel XE#6740]) -> [SKIP][218] ([Intel XE#1503])
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-1/igt@kms_hdr@invalid-hdr.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_hdr@invalid-hdr.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-bmg: [SKIP][219] ([Intel XE#6703]) -> [SKIP][220] ([Intel XE#2501])
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf:
- shard-bmg: [SKIP][221] ([Intel XE#1406] / [Intel XE#6703]) -> [SKIP][222] ([Intel XE#1406] / [Intel XE#1489])
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-4/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-bmg: [SKIP][223] ([Intel XE#1406] / [Intel XE#6703]) -> [SKIP][224] ([Intel XE#1406] / [Intel XE#2414])
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-1/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: [SKIP][225] ([Intel XE#2426]) -> [FAIL][226] ([Intel XE#1729])
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern.html
* igt@xe_exec_basic@multigpu-once-null:
- shard-bmg: [SKIP][227] ([Intel XE#6703]) -> [SKIP][228] ([Intel XE#2322])
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@xe_exec_basic@multigpu-once-null.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-5/igt@xe_exec_basic@multigpu-once-null.html
* igt@xe_exec_system_allocator@threads-many-execqueues-mmap-huge-nomemset:
- shard-bmg: [SKIP][229] ([Intel XE#6703]) -> [SKIP][230] ([Intel XE#4943])
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8662/shard-bmg-2/igt@xe_exec_system_allocator@threads-many-execqueues-mmap-huge-nomemset.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/shard-bmg-6/igt@xe_exec_system_allocator@threads-many-execqueues-mmap-huge-nomemset.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
[Intel XE#1158]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1158
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2414
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2459
[Intel XE#2501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2501
[Intel XE#2504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2504
[Intel XE#2596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2596
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3106]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3106
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
[Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4210]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4210
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4351
[Intel XE#4367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4367
[Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
[Intel XE#4683]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4683
[Intel XE#4689]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4689
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
[Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
[Intel XE#5099]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5099
[Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
[Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
[Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
[Intel XE#5694]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5694
[Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
[Intel XE#6168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6168
[Intel XE#6251]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6251
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6360
[Intel XE#6366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6366
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#6529]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6529
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#6557]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6557
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
[Intel XE#6665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6665
[Intel XE#6676]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6676
[Intel XE#6681]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6681
[Intel XE#6703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6703
[Intel XE#6740]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6740
[Intel XE#6819]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6819
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* IGT: IGT_8662 -> IGTPW_14176
IGTPW_14176: 709e1bf081f5451eeed0c80d2a62bf584e9d672f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8662: 9410b6926f317e8bf824502394e09ee8753ff65e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4211-12271f632915efe0c5d4171b9c0e90f57ecdfe01: 12271f632915efe0c5d4171b9c0e90f57ecdfe01
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14176/index.html
[-- Attachment #2: Type: text/html, Size: 67604 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances
2025-12-09 17:35 ` [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances Soham Purkait
@ 2025-12-12 21:41 ` Kamil Konieczny
2025-12-15 4:08 ` Purkait, Soham
2025-12-15 9:14 ` Purkait, Soham
0 siblings, 2 replies; 10+ messages in thread
From: Kamil Konieczny @ 2025-12-12 21:41 UTC (permalink / raw)
To: Soham Purkait
Cc: igt-dev, riana.tauro, badal.nilawar, kamil.konieczny,
anshuman.gupta, umesh.nerlige.ramappa
Hi Soham,
On 2025-12-09 at 23:05:13 +0530, Soham Purkait wrote:
> Introduce vendor-agnostic support for handling multiple GPUs and instances
> in gputop. Improve the tool's adaptability to various GPU configurations.
>
> v1:
> - Refactor GPUTOP into a vendor-agnostic tool. (Lucas)
> v2:
> - Add device filter to populate the array of cards for
> all supported drivers. (Zbigniew)
> v3:
> - Cosmetic changes. (Riana)
> - Avoid three level indentation. (Riana)
> v4:
> - Add user message for running without root privileges. (Kamil)
> v5:
> - Add support for GPU client-only busyness on unsupported
> drivers as a fallback mechanism. (Kamil)
>
> Signed-off-by: Soham Purkait <soham.purkait@intel.com>
> ---
> tools/{ => gputop}/gputop.c | 283 +++++++++++++++++++++++++++++++-----
> tools/gputop/meson.build | 6 +
> tools/meson.build | 6 +-
> 3 files changed, 250 insertions(+), 45 deletions(-)
> rename tools/{ => gputop}/gputop.c (59%)
> create mode 100644 tools/gputop/meson.build
>
> diff --git a/tools/gputop.c b/tools/gputop/gputop.c
> similarity index 59%
> rename from tools/gputop.c
> rename to tools/gputop/gputop.c
> index f577a1750..e13f98b82 100644
> --- a/tools/gputop.c
> +++ b/tools/gputop/gputop.c
> @@ -1,6 +1,6 @@
> // SPDX-License-Identifier: MIT
> /*
> - * Copyright © 2023 Intel Corporation
> + * Copyright © 2023-2025 Intel Corporation
> */
>
> #include <assert.h>
> @@ -14,66 +14,148 @@
> #include <math.h>
> #include <poll.h>
> #include <signal.h>
> +#include <stdbool.h>
> #include <stdint.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> #include <sys/ioctl.h>
> #include <sys/stat.h>
> +#include <sys/sysmacros.h>
> #include <sys/types.h>
> -#include <unistd.h>
> #include <termios.h>
> -#include <sys/sysmacros.h>
> -#include <stdbool.h>
> +#include <unistd.h>
>
> #include "igt_core.h"
> #include "igt_drm_clients.h"
> #include "igt_drm_fdinfo.h"
> +#include "igt_perf.h"
> #include "igt_profiling.h"
> -#include "drmtest.h"
> +#include "xe_gputop.h"
> +#include "xe/xe_query.h"
> +
> +/**
> + * Supported Drivers
> + *
> + * Adhere to the following requirements when implementing support for the
> + * new driver:
> + * @drivers: Update drivers[] with driver string.
> + * @sizeof_gputop_obj: Update this function as per new driver support included.
> + * @operations: Update the respective operations of the new driver:
> + * gputop_init,
> + * discover_engines,
> + * pmu_init,
> + * pmu_sample,
> + * print_engines,
> + * clean_up
> + * @per_driver_contexts: Update per_driver_contexts[] array of type "struct gputop_driver" with the
> + * initial values.
> + */
> +static const char * const drivers[] = {
> + "xe",
> + /* Keep the last one as NULL */
> + NULL
> +};
> +
> +static size_t sizeof_gputop_obj(int driver_num)
> +{
> + switch (driver_num) {
> + case 0:
> + return sizeof(struct xe_gputop);
> + default:
> + fprintf(stderr,
> + "Driver number does not exist.\n");
> + exit(EXIT_FAILURE);
> + }
> +}
> +
> +/**
> + * Supported operations on driver instances. Update the ops[] array for
> + * each individual driver specific function. Maintain the sequence as per
> + * drivers[] array.
> + */
> +struct device_operations ops[] = {
> + {
> + xe_gputop_init,
> + xe_populate_engines,
> + xe_pmu_init,
> + xe_pmu_sample,
> + xe_print_engines,
> + xe_clean_up
> + }
> +};
> +
> +/*
> + * per_driver_contexts[] array of type struct gputop_driver which keeps track of the devices
> + * and related info discovered per driver.
> + */
> +struct gputop_driver per_driver_contexts[] = {
> + {false, 0, NULL}
> +};
>
> enum utilization_type {
> UTILIZATION_TYPE_ENGINE_TIME,
> UTILIZATION_TYPE_TOTAL_CYCLES,
> };
>
> -static const char *bars[] = { " ", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█" };
> -
> -#define ANSI_HEADER "\033[7m"
> -#define ANSI_RESET "\033[0m"
> -
> -static void n_spaces(const unsigned int n)
> +static void gputop_clean_up(void)
> {
> - unsigned int i;
> -
> - for (i = 0; i < n; i++)
> - putchar(' ');
> + for (int i = 0; drivers[i]; i++) {
> + ops[i].clean_up(per_driver_contexts[i].instances, per_driver_contexts[i].len);
> + free(per_driver_contexts[i].instances);
> + per_driver_contexts[i].device_present = false;
> + per_driver_contexts[i].len = 0;
> + }
> }
>
> -static void print_percentage_bar(double percent, int max_len)
> +static int find_driver(struct igt_device_card *card)
> {
> - int bar_len, i, len = max_len - 1;
> - const int w = 8;
> -
> - len -= printf("|%5.1f%% ", percent);
> -
> - /* no space left for bars, do what we can */
> - if (len < 0)
> - len = 0;
> -
> - bar_len = ceil(w * percent * len / 100.0);
> - if (bar_len > w * len)
> - bar_len = w * len;
> + for (int i = 0; drivers[i]; i++) {
> + if (strcmp(drivers[i], card->driver) == 0)
> + return i;
> + }
> + return -1;
> +}
>
> - for (i = bar_len; i >= w; i -= w)
> - printf("%s", bars[w]);
> - if (i)
> - printf("%s", bars[i]);
> +static int populate_device_instances(const char *filter)
> +{
> + struct igt_device_card *cards = NULL;
> + struct igt_device_card *card_inplace = NULL;
> + struct gputop_driver *driver_entry = NULL;
> + int driver_no;
> + int count, final_count = 0;
> +
> + count = igt_device_card_match_all(filter, &cards);
> + for (int j = 0; j < count; j++) {
> + if (strcmp(cards[j].subsystem, "pci") != 0)
> + continue;
>
> - len -= (bar_len + (w - 1)) / w;
> - n_spaces(len);
> + driver_no = find_driver(&cards[j]);
> + if (driver_no < 0)
> + continue;
>
> - putchar('|');
> + driver_entry = &per_driver_contexts[driver_no];
> + if (!driver_entry->device_present)
> + driver_entry->device_present = true;
> + driver_entry->len++;
> + driver_entry->instances = realloc(driver_entry->instances,
> + driver_entry->len * sizeof_gputop_obj(driver_no));
> + if (!driver_entry->instances) {
> + fprintf(stderr,
> + "Device instance realloc failed (%s)\n",
> + strerror(errno));
> + exit(EXIT_FAILURE);
> + }
> + card_inplace = (struct igt_device_card *)
> + calloc(1, sizeof(struct igt_device_card));
> + memcpy(card_inplace, &cards[j], sizeof(struct igt_device_card));
> + ops[driver_no].gputop_init(driver_entry->instances, (driver_entry->len - 1),
> + card_inplace);
> + final_count++;
> + }
> + if (count)
> + free(cards);
> + return final_count;
> }
>
> static int
> @@ -333,6 +415,7 @@ static void clrscr(void)
> struct gputop_args {
> long n_iter;
> unsigned long delay_usec;
> + char *device;
> };
>
> static void help(char *full_path)
> @@ -350,16 +433,18 @@ static void help(char *full_path)
> "\t-h, --help show this help\n"
> "\t-d, --delay =SEC[.TENTHS] iterative delay as SECS [.TENTHS]\n"
> "\t-n, --iterations =NUMBER number of executions\n"
> + "\t-D, --device Device filter\n"
> , short_program_name);
> }
>
> static int parse_args(int argc, char * const argv[], struct gputop_args *args)
> {
> - static const char cmdopts_s[] = "hn:d:";
> + static const char cmdopts_s[] = "hn:d:D:";
> static const struct option cmdopts[] = {
> {"help", no_argument, 0, 'h'},
> {"delay", required_argument, 0, 'd'},
> {"iterations", required_argument, 0, 'n'},
> + {"device", required_argument, 0, 'D'},
> { }
> };
>
> @@ -367,6 +452,7 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
> memset(args, 0, sizeof(*args));
> args->n_iter = -1;
> args->delay_usec = 2 * USEC_PER_SEC;
> + args->device = NULL;
>
> for (;;) {
> int c, idx = 0;
> @@ -390,6 +476,9 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
> return -1;
> }
> break;
> + case 'D':
> + args->device = optarg;
> + break;
> case 'h':
> help(argv[0]);
> return 0;
> @@ -417,9 +506,12 @@ int main(int argc, char **argv)
> struct igt_profiled_device *profiled_devices = NULL;
> struct igt_drm_clients *clients = NULL;
> int con_w = -1, con_h = -1;
> + bool is_root;
> int ret;
> long n;
>
> + is_root = (geteuid() == 0);
Note that this is not required when a user is in a group.
Better way is to just try to open a file and only when it fails
act accordingly.
> +
> ret = parse_args(argc, argv, &args);
> if (ret < 0)
> return EXIT_FAILURE;
> @@ -429,6 +521,92 @@ int main(int argc, char **argv)
> n = args.n_iter;
> period_us = args.delay_usec;
>
> + if (!populate_device_instances(args.device ? args.device
> + : "device:subsystem=pci,card=all") &&
> + geteuid()) {
> + printf("\n" ANSI_HEADER "Run with root "
> + "privileges for GPU client "
> + "busyness.\n" ANSI_RESET "\n");
So you still need a root, as I said it is a regression.
Imho looks like you want to create a new tool ngputop.
You could create it in tools/ngputop.src/ <- most source files here
and link into executable tools/ngputop
In a new tool you could require to have a root or group or caps.
Regards,
Kamil
> + gputop_clean_up();
> + exit(1);
> + }
> +
> + for (int i = 0; drivers[i]; i++) {
> + if (!per_driver_contexts[i].device_present)
> + continue;
> +
> + for (int j = 0; j < per_driver_contexts[i].len; j++) {
> + if (!ops[i].init_engines(per_driver_contexts[i].instances, j)) {
> + fprintf(stderr,
> + "Failed to initialize engines! (%s)\n",
> + strerror(errno));
> + gputop_clean_up();
> + return EXIT_FAILURE;
> + }
> + ret = ops[i].pmu_init(per_driver_contexts[i].instances, j);
> +
> + if (ret) {
> + if (errno == EACCES && !is_root) {
> + fprintf(stderr,
> + "\n"
> + "When running as a normal user, "
> + "CAP_PERFMON or perf_event_paranoid\n"
> + "is required to access performance "
> + "monitoring.\n"
> + "\n"
> + ANSI_HEADER "Through CAP_PERFMON "
> + "capability"
> + ANSI_RESET "\n"
> + "cd /path/to/igt-gpu-tools/\n"
> + "sudo setcap cap_perfmon=+ep $(pwd)/"
> + "build/tools/gputop/gputop\n"
> + "sudo sh -c \"echo $(pwd)/build/lib >"
> + " /etc/ld.so.conf.d/lib-igt.conf\"\n"
> + "sudo ldconfig\n"
> + ANSI_HEADER "Revert:" ANSI_RESET "\n"
> + "sudo setcap cap_perfmon=-ep $(pwd)/"
> + "build/tools/gputop/gputop\n"
> + "sudo rm /etc/ld.so.conf.d/lib-igt.conf\n"
> + "sudo ldconfig\n"
> + "\n"
> + ANSI_HEADER "Through perf_event_paranoid"
> + " (system-wide policy)"
> + ANSI_RESET "\n"
> + "# Save current value\n"
> + "orig_val=$(sysctl -n "
> + "kernel.perf_event_paranoid)\n"
> + "# Allow non-root perf usage\n"
> + "sudo sysctl -w kernel.perf_event_paranoid=-1\n"
> + ANSI_HEADER "Revert:" ANSI_RESET "\n"
> + "sudo sysctl -w kernel."
> + "perf_event_paranoid=$orig_val\n"
> + "\n"
> + "For details, see 'Perf events and "
> + "tool security':\n"
> + "https://www.kernel.org/doc/html/"
> + "latest/admin-guide/perf-security.html\n");
> + igt_devices_free();
> + gputop_clean_up();
> + return EXIT_SUCCESS;
> + } else {
> + fprintf(stderr,
> + "Failed to initialize PMU! (%s)\n",
> + strerror(errno));
> + igt_devices_free();
> + gputop_clean_up();
> + return EXIT_FAILURE;
> + }
> + }
> + }
> + }
> +
> + for (int i = 0; drivers[i]; i++) {
> + for (int j = 0;
> + per_driver_contexts[i].device_present && j < per_driver_contexts[i].len;
> + j++)
> + ops[i].pmu_sample(per_driver_contexts[i].instances, j);
> + }
> +
> clients = igt_drm_clients_init(NULL);
> if (!clients)
> exit(1);
> @@ -449,22 +627,47 @@ int main(int argc, char **argv)
>
> while ((n != 0) && !stop_top) {
> struct igt_drm_client *c, *prevc = NULL;
> - int i, engine_w = 0, lines = 0;
> + int k, engine_w = 0, lines = 0;
>
> igt_drm_clients_scan(clients, NULL, NULL, 0, NULL, 0);
> +
> + for (int i = 0; drivers[i]; i++) {
> + for (int j = 0;
> + per_driver_contexts[i].device_present &&
> + j < per_driver_contexts[i].len;
> + j++)
> + ops[i].pmu_sample(per_driver_contexts[i].instances, j);
> + }
> +
> igt_drm_clients_sort(clients, client_cmp);
>
> update_console_size(&con_w, &con_h);
> clrscr();
>
> + for (int i = 0; drivers[i]; i++) {
> + for (int j = 0;
> + per_driver_contexts[i].device_present &&
> + j < per_driver_contexts[i].len;
> + j++) {
> + lines = ops[i].print_engines(per_driver_contexts[i].instances, j,
> + lines, con_w, con_h);
> + }
> + }
> +
> if (!clients->num_clients) {
> - const char *msg = " (No GPU clients yet. Start workload to see stats)";
> + const char *msg;
> +
> + if (is_root)
> + msg = " (No GPU clients yet. Start workload to see stats)";
> + else
> + msg = " (GPU client busyness is only available with root"
> + " privileges)";
>
> printf(ANSI_HEADER "%-*s" ANSI_RESET "\n",
> (int)(con_w - strlen(msg) - 1), msg);
> }
>
> - igt_for_each_drm_client(clients, c, i) {
> + igt_for_each_drm_client(clients, c, k) {
> assert(c->status != IGT_DRM_CLIENT_PROBE);
> if (c->status != IGT_DRM_CLIENT_ALIVE)
> break; /* Active clients are first in the array. */
> @@ -488,11 +691,11 @@ int main(int argc, char **argv)
> }
>
> igt_drm_clients_free(clients);
> + gputop_clean_up();
>
> if (profiled_devices != NULL) {
> igt_devices_configure_profiling(profiled_devices, false);
> igt_devices_free_profiling(profiled_devices);
> }
> -
> return 0;
> }
> diff --git a/tools/gputop/meson.build b/tools/gputop/meson.build
> new file mode 100644
> index 000000000..4766d8496
> --- /dev/null
> +++ b/tools/gputop/meson.build
> @@ -0,0 +1,6 @@
> +gputop_src = [ 'gputop.c', 'utils.c', 'xe_gputop.c']
> +executable('gputop', sources : gputop_src,
> + install : true,
> + install_rpath : bindir_rpathdir,
> + dependencies : [igt_deps,lib_igt_perf,lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math],
> + install: true)
> diff --git a/tools/meson.build b/tools/meson.build
> index 8185ba160..99a732942 100644
> --- a/tools/meson.build
> +++ b/tools/meson.build
> @@ -70,11 +70,6 @@ if libudev.found()
> install : true)
> endif
>
> -executable('gputop', 'gputop.c',
> - install : true,
> - install_rpath : bindir_rpathdir,
> - dependencies : [lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math])
> -
> intel_l3_parity_src = [ 'intel_l3_parity.c', 'intel_l3_udev_listener.c' ]
> executable('intel_l3_parity', sources : intel_l3_parity_src,
> dependencies : tool_deps,
> @@ -123,3 +118,4 @@ endif
> subdir('i915-perf')
> subdir('xe-perf')
> subdir('null_state_gen')
> +subdir('gputop')
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances
2025-12-12 21:41 ` Kamil Konieczny
@ 2025-12-15 4:08 ` Purkait, Soham
2025-12-15 10:41 ` Kamil Konieczny
2025-12-15 9:14 ` Purkait, Soham
1 sibling, 1 reply; 10+ messages in thread
From: Purkait, Soham @ 2025-12-15 4:08 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, riana.tauro, badal.nilawar,
kamil.konieczny, anshuman.gupta, umesh.nerlige.ramappa
[-- Attachment #1: Type: text/plain, Size: 15918 bytes --]
Hi Kamil,
On 13-12-2025 03:11, Kamil Konieczny wrote:
> Hi Soham,
> On 2025-12-09 at 23:05:13 +0530, Soham Purkait wrote:
>> Introduce vendor-agnostic support for handling multiple GPUs and instances
>> in gputop. Improve the tool's adaptability to various GPU configurations.
>>
>> v1:
>> - Refactor GPUTOP into a vendor-agnostic tool. (Lucas)
>> v2:
>> - Add device filter to populate the array of cards for
>> all supported drivers. (Zbigniew)
>> v3:
>> - Cosmetic changes. (Riana)
>> - Avoid three level indentation. (Riana)
>> v4:
>> - Add user message for running without root privileges. (Kamil)
>> v5:
>> - Add support for GPU client-only busyness on unsupported
>> drivers as a fallback mechanism. (Kamil)
>>
>> Signed-off-by: Soham Purkait<soham.purkait@intel.com>
>> ---
>> tools/{ => gputop}/gputop.c | 283 +++++++++++++++++++++++++++++++-----
>> tools/gputop/meson.build | 6 +
>> tools/meson.build | 6 +-
>> 3 files changed, 250 insertions(+), 45 deletions(-)
>> rename tools/{ => gputop}/gputop.c (59%)
>> create mode 100644 tools/gputop/meson.build
>>
>> diff --git a/tools/gputop.c b/tools/gputop/gputop.c
>> similarity index 59%
>> rename from tools/gputop.c
>> rename to tools/gputop/gputop.c
>> index f577a1750..e13f98b82 100644
>> --- a/tools/gputop.c
>> +++ b/tools/gputop/gputop.c
>> @@ -1,6 +1,6 @@
>> // SPDX-License-Identifier: MIT
>> /*
>> - * Copyright © 2023 Intel Corporation
>> + * Copyright © 2023-2025 Intel Corporation
>> */
>>
>> #include <assert.h>
>> @@ -14,66 +14,148 @@
>> #include <math.h>
>> #include <poll.h>
>> #include <signal.h>
>> +#include <stdbool.h>
>> #include <stdint.h>
>> #include <stdio.h>
>> #include <stdlib.h>
>> #include <string.h>
>> #include <sys/ioctl.h>
>> #include <sys/stat.h>
>> +#include <sys/sysmacros.h>
>> #include <sys/types.h>
>> -#include <unistd.h>
>> #include <termios.h>
>> -#include <sys/sysmacros.h>
>> -#include <stdbool.h>
>> +#include <unistd.h>
>>
>> #include "igt_core.h"
>> #include "igt_drm_clients.h"
>> #include "igt_drm_fdinfo.h"
>> +#include "igt_perf.h"
>> #include "igt_profiling.h"
>> -#include "drmtest.h"
>> +#include "xe_gputop.h"
>> +#include "xe/xe_query.h"
>> +
>> +/**
>> + * Supported Drivers
>> + *
>> + * Adhere to the following requirements when implementing support for the
>> + * new driver:
>> + * @drivers: Update drivers[] with driver string.
>> + * @sizeof_gputop_obj: Update this function as per new driver support included.
>> + * @operations: Update the respective operations of the new driver:
>> + * gputop_init,
>> + * discover_engines,
>> + * pmu_init,
>> + * pmu_sample,
>> + * print_engines,
>> + * clean_up
>> + * @per_driver_contexts: Update per_driver_contexts[] array of type "struct gputop_driver" with the
>> + * initial values.
>> + */
>> +static const char * const drivers[] = {
>> + "xe",
>> + /* Keep the last one as NULL */
>> + NULL
>> +};
>> +
>> +static size_t sizeof_gputop_obj(int driver_num)
>> +{
>> + switch (driver_num) {
>> + case 0:
>> + return sizeof(struct xe_gputop);
>> + default:
>> + fprintf(stderr,
>> + "Driver number does not exist.\n");
>> + exit(EXIT_FAILURE);
>> + }
>> +}
>> +
>> +/**
>> + * Supported operations on driver instances. Update the ops[] array for
>> + * each individual driver specific function. Maintain the sequence as per
>> + * drivers[] array.
>> + */
>> +struct device_operations ops[] = {
>> + {
>> + xe_gputop_init,
>> + xe_populate_engines,
>> + xe_pmu_init,
>> + xe_pmu_sample,
>> + xe_print_engines,
>> + xe_clean_up
>> + }
>> +};
>> +
>> +/*
>> + * per_driver_contexts[] array of type struct gputop_driver which keeps track of the devices
>> + * and related info discovered per driver.
>> + */
>> +struct gputop_driver per_driver_contexts[] = {
>> + {false, 0, NULL}
>> +};
>>
>> enum utilization_type {
>> UTILIZATION_TYPE_ENGINE_TIME,
>> UTILIZATION_TYPE_TOTAL_CYCLES,
>> };
>>
>> -static const char *bars[] = { " ", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█" };
>> -
>> -#define ANSI_HEADER "\033[7m"
>> -#define ANSI_RESET "\033[0m"
>> -
>> -static void n_spaces(const unsigned int n)
>> +static void gputop_clean_up(void)
>> {
>> - unsigned int i;
>> -
>> - for (i = 0; i < n; i++)
>> - putchar(' ');
>> + for (int i = 0; drivers[i]; i++) {
>> + ops[i].clean_up(per_driver_contexts[i].instances, per_driver_contexts[i].len);
>> + free(per_driver_contexts[i].instances);
>> + per_driver_contexts[i].device_present = false;
>> + per_driver_contexts[i].len = 0;
>> + }
>> }
>>
>> -static void print_percentage_bar(double percent, int max_len)
>> +static int find_driver(struct igt_device_card *card)
>> {
>> - int bar_len, i, len = max_len - 1;
>> - const int w = 8;
>> -
>> - len -= printf("|%5.1f%% ", percent);
>> -
>> - /* no space left for bars, do what we can */
>> - if (len < 0)
>> - len = 0;
>> -
>> - bar_len = ceil(w * percent * len / 100.0);
>> - if (bar_len > w * len)
>> - bar_len = w * len;
>> + for (int i = 0; drivers[i]; i++) {
>> + if (strcmp(drivers[i], card->driver) == 0)
>> + return i;
>> + }
>> + return -1;
>> +}
>>
>> - for (i = bar_len; i >= w; i -= w)
>> - printf("%s", bars[w]);
>> - if (i)
>> - printf("%s", bars[i]);
>> +static int populate_device_instances(const char *filter)
>> +{
>> + struct igt_device_card *cards = NULL;
>> + struct igt_device_card *card_inplace = NULL;
>> + struct gputop_driver *driver_entry = NULL;
>> + int driver_no;
>> + int count, final_count = 0;
>> +
>> + count = igt_device_card_match_all(filter, &cards);
>> + for (int j = 0; j < count; j++) {
>> + if (strcmp(cards[j].subsystem, "pci") != 0)
>> + continue;
>>
>> - len -= (bar_len + (w - 1)) / w;
>> - n_spaces(len);
>> + driver_no = find_driver(&cards[j]);
>> + if (driver_no < 0)
>> + continue;
>>
>> - putchar('|');
>> + driver_entry = &per_driver_contexts[driver_no];
>> + if (!driver_entry->device_present)
>> + driver_entry->device_present = true;
>> + driver_entry->len++;
>> + driver_entry->instances = realloc(driver_entry->instances,
>> + driver_entry->len * sizeof_gputop_obj(driver_no));
>> + if (!driver_entry->instances) {
>> + fprintf(stderr,
>> + "Device instance realloc failed (%s)\n",
>> + strerror(errno));
>> + exit(EXIT_FAILURE);
>> + }
>> + card_inplace = (struct igt_device_card *)
>> + calloc(1, sizeof(struct igt_device_card));
>> + memcpy(card_inplace, &cards[j], sizeof(struct igt_device_card));
>> + ops[driver_no].gputop_init(driver_entry->instances, (driver_entry->len - 1),
>> + card_inplace);
>> + final_count++;
>> + }
>> + if (count)
>> + free(cards);
>> + return final_count;
>> }
>>
>> static int
>> @@ -333,6 +415,7 @@ static void clrscr(void)
>> struct gputop_args {
>> long n_iter;
>> unsigned long delay_usec;
>> + char *device;
>> };
>>
>> static void help(char *full_path)
>> @@ -350,16 +433,18 @@ static void help(char *full_path)
>> "\t-h, --help show this help\n"
>> "\t-d, --delay =SEC[.TENTHS] iterative delay as SECS [.TENTHS]\n"
>> "\t-n, --iterations =NUMBER number of executions\n"
>> + "\t-D, --device Device filter\n"
>> , short_program_name);
>> }
>>
>> static int parse_args(int argc, char * const argv[], struct gputop_args *args)
>> {
>> - static const char cmdopts_s[] = "hn:d:";
>> + static const char cmdopts_s[] = "hn:d:D:";
>> static const struct option cmdopts[] = {
>> {"help", no_argument, 0, 'h'},
>> {"delay", required_argument, 0, 'd'},
>> {"iterations", required_argument, 0, 'n'},
>> + {"device", required_argument, 0, 'D'},
>> { }
>> };
>>
>> @@ -367,6 +452,7 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
>> memset(args, 0, sizeof(*args));
>> args->n_iter = -1;
>> args->delay_usec = 2 * USEC_PER_SEC;
>> + args->device = NULL;
>>
>> for (;;) {
>> int c, idx = 0;
>> @@ -390,6 +476,9 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
>> return -1;
>> }
>> break;
>> + case 'D':
>> + args->device = optarg;
>> + break;
>> case 'h':
>> help(argv[0]);
>> return 0;
>> @@ -417,9 +506,12 @@ int main(int argc, char **argv)
>> struct igt_profiled_device *profiled_devices = NULL;
>> struct igt_drm_clients *clients = NULL;
>> int con_w = -1, con_h = -1;
>> + bool is_root;
>> int ret;
>> long n;
>>
>> + is_root = (geteuid() == 0);
> Note that this is not required when a user is in a group.
> Better way is to just try to open a file and only when it fails
> act accordingly.
This is just a boolean variable which stores if it is running as root or
non root. Rest it does the same way as you mentioned, when it fails.
>
>> +
>> ret = parse_args(argc, argv, &args);
>> if (ret < 0)
>> return EXIT_FAILURE;
>> @@ -429,6 +521,92 @@ int main(int argc, char **argv)
>> n = args.n_iter;
>> period_us = args.delay_usec;
>>
>> + if (!populate_device_instances(args.device ? args.device
>> + : "device:subsystem=pci,card=all") &&
>> + geteuid()) {
>> + printf("\n" ANSI_HEADER "Run with root "
>> + "privileges for GPU client "
>> + "busyness.\n" ANSI_RESET "\n");
> So you still need a root, as I said it is a regression.
Could you please clarify with which functionality or tool this is
compared to as a regression?
By the way, PMU is not accessible without root or setting the capability.
> Imho looks like you want to create a new tool ngputop.
Why not GPUTOP ?
Thanks,
Soham.
> You could create it in tools/ngputop.src/ <- most source files here
> and link into executable tools/ngputop
>
> In a new tool you could require to have a root or group or caps.
>
> Regards,
> Kamil
>
>> + gputop_clean_up();
>> + exit(1);
>> + }
>> +
>> + for (int i = 0; drivers[i]; i++) {
>> + if (!per_driver_contexts[i].device_present)
>> + continue;
>> +
>> + for (int j = 0; j < per_driver_contexts[i].len; j++) {
>> + if (!ops[i].init_engines(per_driver_contexts[i].instances, j)) {
>> + fprintf(stderr,
>> + "Failed to initialize engines! (%s)\n",
>> + strerror(errno));
>> + gputop_clean_up();
>> + return EXIT_FAILURE;
>> + }
>> + ret = ops[i].pmu_init(per_driver_contexts[i].instances, j);
>> +
>> + if (ret) {
>> + if (errno == EACCES && !is_root) {
>> + fprintf(stderr,
>> + "\n"
>> + "When running as a normal user, "
>> + "CAP_PERFMON or perf_event_paranoid\n"
>> + "is required to access performance "
>> + "monitoring.\n"
>> + "\n"
>> + ANSI_HEADER "Through CAP_PERFMON "
>> + "capability"
>> + ANSI_RESET "\n"
>> + "cd /path/to/igt-gpu-tools/\n"
>> + "sudo setcap cap_perfmon=+ep $(pwd)/"
>> + "build/tools/gputop/gputop\n"
>> + "sudo sh -c \"echo $(pwd)/build/lib >"
>> + " /etc/ld.so.conf.d/lib-igt.conf\"\n"
>> + "sudo ldconfig\n"
>> + ANSI_HEADER "Revert:" ANSI_RESET "\n"
>> + "sudo setcap cap_perfmon=-ep $(pwd)/"
>> + "build/tools/gputop/gputop\n"
>> + "sudo rm /etc/ld.so.conf.d/lib-igt.conf\n"
>> + "sudo ldconfig\n"
>> + "\n"
>> + ANSI_HEADER "Through perf_event_paranoid"
>> + " (system-wide policy)"
>> + ANSI_RESET "\n"
>> + "# Save current value\n"
>> + "orig_val=$(sysctl -n "
>> + "kernel.perf_event_paranoid)\n"
>> + "# Allow non-root perf usage\n"
>> + "sudo sysctl -w kernel.perf_event_paranoid=-1\n"
>> + ANSI_HEADER "Revert:" ANSI_RESET "\n"
>> + "sudo sysctl -w kernel."
>> + "perf_event_paranoid=$orig_val\n"
>> + "\n"
>> + "For details, see 'Perf events and "
>> + "tool security':\n"
>> + "https://www.kernel.org/doc/html/"
>> + "latest/admin-guide/perf-security.html\n");
>> + igt_devices_free();
>> + gputop_clean_up();
>> + return EXIT_SUCCESS;
>> + } else {
>> + fprintf(stderr,
>> + "Failed to initialize PMU! (%s)\n",
>> + strerror(errno));
>> + igt_devices_free();
>> + gputop_clean_up();
>> + return EXIT_FAILURE;
>> + }
>> + }
>> + }
>> + }
>> +
>> + for (int i = 0; drivers[i]; i++) {
>> + for (int j = 0;
>> + per_driver_contexts[i].device_present && j < per_driver_contexts[i].len;
>> + j++)
>> + ops[i].pmu_sample(per_driver_contexts[i].instances, j);
>> + }
>> +
>> clients = igt_drm_clients_init(NULL);
>> if (!clients)
>> exit(1);
>> @@ -449,22 +627,47 @@ int main(int argc, char **argv)
>>
>> while ((n != 0) && !stop_top) {
>> struct igt_drm_client *c, *prevc = NULL;
>> - int i, engine_w = 0, lines = 0;
>> + int k, engine_w = 0, lines = 0;
>>
>> igt_drm_clients_scan(clients, NULL, NULL, 0, NULL, 0);
>> +
>> + for (int i = 0; drivers[i]; i++) {
>> + for (int j = 0;
>> + per_driver_contexts[i].device_present &&
>> + j < per_driver_contexts[i].len;
>> + j++)
>> + ops[i].pmu_sample(per_driver_contexts[i].instances, j);
>> + }
>> +
>> igt_drm_clients_sort(clients, client_cmp);
>>
>> update_console_size(&con_w, &con_h);
>> clrscr();
>>
>> + for (int i = 0; drivers[i]; i++) {
>> + for (int j = 0;
>> + per_driver_contexts[i].device_present &&
>> + j < per_driver_contexts[i].len;
>> + j++) {
>> + lines = ops[i].print_engines(per_driver_contexts[i].instances, j,
>> + lines, con_w, con_h);
>> + }
>> + }
>> +
>> if (!clients->num_clients) {
>> - const char *msg = " (No GPU clients yet. Start workload to see stats)";
>> + const char *msg;
>> +
>> + if (is_root)
>> + msg = " (No GPU clients yet. Start workload to see stats)";
>> + else
>> + msg = " (GPU client busyness is only available with root"
>> + " privileges)";
>>
>> printf(ANSI_HEADER "%-*s" ANSI_RESET "\n",
>> (int)(con_w - strlen(msg) - 1), msg);
>> }
>>
>> - igt_for_each_drm_client(clients, c, i) {
>> + igt_for_each_drm_client(clients, c, k) {
>> assert(c->status != IGT_DRM_CLIENT_PROBE);
>> if (c->status != IGT_DRM_CLIENT_ALIVE)
>> break; /* Active clients are first in the array. */
>> @@ -488,11 +691,11 @@ int main(int argc, char **argv)
>> }
>>
>> igt_drm_clients_free(clients);
>> + gputop_clean_up();
>>
>> if (profiled_devices != NULL) {
>> igt_devices_configure_profiling(profiled_devices, false);
>> igt_devices_free_profiling(profiled_devices);
>> }
>> -
>> return 0;
>> }
>> diff --git a/tools/gputop/meson.build b/tools/gputop/meson.build
>> new file mode 100644
>> index 000000000..4766d8496
>> --- /dev/null
>> +++ b/tools/gputop/meson.build
>> @@ -0,0 +1,6 @@
>> +gputop_src = [ 'gputop.c', 'utils.c', 'xe_gputop.c']
>> +executable('gputop', sources : gputop_src,
>> + install : true,
>> + install_rpath : bindir_rpathdir,
>> + dependencies : [igt_deps,lib_igt_perf,lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math],
>> + install: true)
>> diff --git a/tools/meson.build b/tools/meson.build
>> index 8185ba160..99a732942 100644
>> --- a/tools/meson.build
>> +++ b/tools/meson.build
>> @@ -70,11 +70,6 @@ if libudev.found()
>> install : true)
>> endif
>>
>> -executable('gputop', 'gputop.c',
>> - install : true,
>> - install_rpath : bindir_rpathdir,
>> - dependencies : [lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math])
>> -
>> intel_l3_parity_src = [ 'intel_l3_parity.c', 'intel_l3_udev_listener.c' ]
>> executable('intel_l3_parity', sources : intel_l3_parity_src,
>> dependencies : tool_deps,
>> @@ -123,3 +118,4 @@ endif
>> subdir('i915-perf')
>> subdir('xe-perf')
>> subdir('null_state_gen')
>> +subdir('gputop')
>> --
>> 2.34.1
>>
[-- Attachment #2: Type: text/html, Size: 17342 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances
2025-12-12 21:41 ` Kamil Konieczny
2025-12-15 4:08 ` Purkait, Soham
@ 2025-12-15 9:14 ` Purkait, Soham
1 sibling, 0 replies; 10+ messages in thread
From: Purkait, Soham @ 2025-12-15 9:14 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev, riana.tauro, badal.nilawar,
kamil.konieczny, anshuman.gupta, umesh.nerlige.ramappa
[-- Attachment #1: Type: text/plain, Size: 15861 bytes --]
Hi Kamil,
On 13-12-2025 03:11, Kamil Konieczny wrote:
> Hi Soham,
> On 2025-12-09 at 23:05:13 +0530, Soham Purkait wrote:
>> Introduce vendor-agnostic support for handling multiple GPUs and instances
>> in gputop. Improve the tool's adaptability to various GPU configurations.
>>
>> v1:
>> - Refactor GPUTOP into a vendor-agnostic tool. (Lucas)
>> v2:
>> - Add device filter to populate the array of cards for
>> all supported drivers. (Zbigniew)
>> v3:
>> - Cosmetic changes. (Riana)
>> - Avoid three level indentation. (Riana)
>> v4:
>> - Add user message for running without root privileges. (Kamil)
>> v5:
>> - Add support for GPU client-only busyness on unsupported
>> drivers as a fallback mechanism. (Kamil)
>>
>> Signed-off-by: Soham Purkait<soham.purkait@intel.com>
>> ---
>> tools/{ => gputop}/gputop.c | 283 +++++++++++++++++++++++++++++++-----
>> tools/gputop/meson.build | 6 +
>> tools/meson.build | 6 +-
>> 3 files changed, 250 insertions(+), 45 deletions(-)
>> rename tools/{ => gputop}/gputop.c (59%)
>> create mode 100644 tools/gputop/meson.build
>>
>> diff --git a/tools/gputop.c b/tools/gputop/gputop.c
>> similarity index 59%
>> rename from tools/gputop.c
>> rename to tools/gputop/gputop.c
>> index f577a1750..e13f98b82 100644
>> --- a/tools/gputop.c
>> +++ b/tools/gputop/gputop.c
>> @@ -1,6 +1,6 @@
>> // SPDX-License-Identifier: MIT
>> /*
>> - * Copyright © 2023 Intel Corporation
>> + * Copyright © 2023-2025 Intel Corporation
>> */
>>
>> #include <assert.h>
>> @@ -14,66 +14,148 @@
>> #include <math.h>
>> #include <poll.h>
>> #include <signal.h>
>> +#include <stdbool.h>
>> #include <stdint.h>
>> #include <stdio.h>
>> #include <stdlib.h>
>> #include <string.h>
>> #include <sys/ioctl.h>
>> #include <sys/stat.h>
>> +#include <sys/sysmacros.h>
>> #include <sys/types.h>
>> -#include <unistd.h>
>> #include <termios.h>
>> -#include <sys/sysmacros.h>
>> -#include <stdbool.h>
>> +#include <unistd.h>
>>
>> #include "igt_core.h"
>> #include "igt_drm_clients.h"
>> #include "igt_drm_fdinfo.h"
>> +#include "igt_perf.h"
>> #include "igt_profiling.h"
>> -#include "drmtest.h"
>> +#include "xe_gputop.h"
>> +#include "xe/xe_query.h"
>> +
>> +/**
>> + * Supported Drivers
>> + *
>> + * Adhere to the following requirements when implementing support for the
>> + * new driver:
>> + * @drivers: Update drivers[] with driver string.
>> + * @sizeof_gputop_obj: Update this function as per new driver support included.
>> + * @operations: Update the respective operations of the new driver:
>> + * gputop_init,
>> + * discover_engines,
>> + * pmu_init,
>> + * pmu_sample,
>> + * print_engines,
>> + * clean_up
>> + * @per_driver_contexts: Update per_driver_contexts[] array of type "struct gputop_driver" with the
>> + * initial values.
>> + */
>> +static const char * const drivers[] = {
>> + "xe",
>> + /* Keep the last one as NULL */
>> + NULL
>> +};
>> +
>> +static size_t sizeof_gputop_obj(int driver_num)
>> +{
>> + switch (driver_num) {
>> + case 0:
>> + return sizeof(struct xe_gputop);
>> + default:
>> + fprintf(stderr,
>> + "Driver number does not exist.\n");
>> + exit(EXIT_FAILURE);
>> + }
>> +}
>> +
>> +/**
>> + * Supported operations on driver instances. Update the ops[] array for
>> + * each individual driver specific function. Maintain the sequence as per
>> + * drivers[] array.
>> + */
>> +struct device_operations ops[] = {
>> + {
>> + xe_gputop_init,
>> + xe_populate_engines,
>> + xe_pmu_init,
>> + xe_pmu_sample,
>> + xe_print_engines,
>> + xe_clean_up
>> + }
>> +};
>> +
>> +/*
>> + * per_driver_contexts[] array of type struct gputop_driver which keeps track of the devices
>> + * and related info discovered per driver.
>> + */
>> +struct gputop_driver per_driver_contexts[] = {
>> + {false, 0, NULL}
>> +};
>>
>> enum utilization_type {
>> UTILIZATION_TYPE_ENGINE_TIME,
>> UTILIZATION_TYPE_TOTAL_CYCLES,
>> };
>>
>> -static const char *bars[] = { " ", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█" };
>> -
>> -#define ANSI_HEADER "\033[7m"
>> -#define ANSI_RESET "\033[0m"
>> -
>> -static void n_spaces(const unsigned int n)
>> +static void gputop_clean_up(void)
>> {
>> - unsigned int i;
>> -
>> - for (i = 0; i < n; i++)
>> - putchar(' ');
>> + for (int i = 0; drivers[i]; i++) {
>> + ops[i].clean_up(per_driver_contexts[i].instances, per_driver_contexts[i].len);
>> + free(per_driver_contexts[i].instances);
>> + per_driver_contexts[i].device_present = false;
>> + per_driver_contexts[i].len = 0;
>> + }
>> }
>>
>> -static void print_percentage_bar(double percent, int max_len)
>> +static int find_driver(struct igt_device_card *card)
>> {
>> - int bar_len, i, len = max_len - 1;
>> - const int w = 8;
>> -
>> - len -= printf("|%5.1f%% ", percent);
>> -
>> - /* no space left for bars, do what we can */
>> - if (len < 0)
>> - len = 0;
>> -
>> - bar_len = ceil(w * percent * len / 100.0);
>> - if (bar_len > w * len)
>> - bar_len = w * len;
>> + for (int i = 0; drivers[i]; i++) {
>> + if (strcmp(drivers[i], card->driver) == 0)
>> + return i;
>> + }
>> + return -1;
>> +}
>>
>> - for (i = bar_len; i >= w; i -= w)
>> - printf("%s", bars[w]);
>> - if (i)
>> - printf("%s", bars[i]);
>> +static int populate_device_instances(const char *filter)
>> +{
>> + struct igt_device_card *cards = NULL;
>> + struct igt_device_card *card_inplace = NULL;
>> + struct gputop_driver *driver_entry = NULL;
>> + int driver_no;
>> + int count, final_count = 0;
>> +
>> + count = igt_device_card_match_all(filter, &cards);
>> + for (int j = 0; j < count; j++) {
>> + if (strcmp(cards[j].subsystem, "pci") != 0)
>> + continue;
>>
>> - len -= (bar_len + (w - 1)) / w;
>> - n_spaces(len);
>> + driver_no = find_driver(&cards[j]);
>> + if (driver_no < 0)
>> + continue;
>>
>> - putchar('|');
>> + driver_entry = &per_driver_contexts[driver_no];
>> + if (!driver_entry->device_present)
>> + driver_entry->device_present = true;
>> + driver_entry->len++;
>> + driver_entry->instances = realloc(driver_entry->instances,
>> + driver_entry->len * sizeof_gputop_obj(driver_no));
>> + if (!driver_entry->instances) {
>> + fprintf(stderr,
>> + "Device instance realloc failed (%s)\n",
>> + strerror(errno));
>> + exit(EXIT_FAILURE);
>> + }
>> + card_inplace = (struct igt_device_card *)
>> + calloc(1, sizeof(struct igt_device_card));
>> + memcpy(card_inplace, &cards[j], sizeof(struct igt_device_card));
>> + ops[driver_no].gputop_init(driver_entry->instances, (driver_entry->len - 1),
>> + card_inplace);
>> + final_count++;
>> + }
>> + if (count)
>> + free(cards);
>> + return final_count;
>> }
>>
>> static int
>> @@ -333,6 +415,7 @@ static void clrscr(void)
>> struct gputop_args {
>> long n_iter;
>> unsigned long delay_usec;
>> + char *device;
>> };
>>
>> static void help(char *full_path)
>> @@ -350,16 +433,18 @@ static void help(char *full_path)
>> "\t-h, --help show this help\n"
>> "\t-d, --delay =SEC[.TENTHS] iterative delay as SECS [.TENTHS]\n"
>> "\t-n, --iterations =NUMBER number of executions\n"
>> + "\t-D, --device Device filter\n"
>> , short_program_name);
>> }
>>
>> static int parse_args(int argc, char * const argv[], struct gputop_args *args)
>> {
>> - static const char cmdopts_s[] = "hn:d:";
>> + static const char cmdopts_s[] = "hn:d:D:";
>> static const struct option cmdopts[] = {
>> {"help", no_argument, 0, 'h'},
>> {"delay", required_argument, 0, 'd'},
>> {"iterations", required_argument, 0, 'n'},
>> + {"device", required_argument, 0, 'D'},
>> { }
>> };
>>
>> @@ -367,6 +452,7 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
>> memset(args, 0, sizeof(*args));
>> args->n_iter = -1;
>> args->delay_usec = 2 * USEC_PER_SEC;
>> + args->device = NULL;
>>
>> for (;;) {
>> int c, idx = 0;
>> @@ -390,6 +476,9 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
>> return -1;
>> }
>> break;
>> + case 'D':
>> + args->device = optarg;
>> + break;
>> case 'h':
>> help(argv[0]);
>> return 0;
>> @@ -417,9 +506,12 @@ int main(int argc, char **argv)
>> struct igt_profiled_device *profiled_devices = NULL;
>> struct igt_drm_clients *clients = NULL;
>> int con_w = -1, con_h = -1;
>> + bool is_root;
>> int ret;
>> long n;
>>
>> + is_root = (geteuid() == 0);
> Note that this is not required when a user is in a group.
> Better way is to just try to open a file and only when it fails
> act accordingly.
>
>> +
>> ret = parse_args(argc, argv, &args);
>> if (ret < 0)
>> return EXIT_FAILURE;
>> @@ -429,6 +521,92 @@ int main(int argc, char **argv)
>> n = args.n_iter;
>> period_us = args.delay_usec;
>>
>> + if (!populate_device_instances(args.device ? args.device
>> + : "device:subsystem=pci,card=all") &&
>> + geteuid()) {
>> + printf("\n" ANSI_HEADER "Run with root "
>> + "privileges for GPU client "
>> + "busyness.\n" ANSI_RESET "\n");
> So you still need a root, as I said it is a regression.
By the way, If you are referring to GPU client busyness, this is not
implemented by this patch as it is already there in the IGT as
"tools/gputop". This patch is just the extension of the same to show per
engine busyness along with client busyness which is already there.
Thanks, Soham.
> Imho looks like you want to create a new tool ngputop.
> You could create it in tools/ngputop.src/ <- most source files here
> and link into executable tools/ngputop
>
> In a new tool you could require to have a root or group or caps.
>
> Regards,
> Kamil
>
>> + gputop_clean_up();
>> + exit(1);
>> + }
>> +
>> + for (int i = 0; drivers[i]; i++) {
>> + if (!per_driver_contexts[i].device_present)
>> + continue;
>> +
>> + for (int j = 0; j < per_driver_contexts[i].len; j++) {
>> + if (!ops[i].init_engines(per_driver_contexts[i].instances, j)) {
>> + fprintf(stderr,
>> + "Failed to initialize engines! (%s)\n",
>> + strerror(errno));
>> + gputop_clean_up();
>> + return EXIT_FAILURE;
>> + }
>> + ret = ops[i].pmu_init(per_driver_contexts[i].instances, j);
>> +
>> + if (ret) {
>> + if (errno == EACCES && !is_root) {
>> + fprintf(stderr,
>> + "\n"
>> + "When running as a normal user, "
>> + "CAP_PERFMON or perf_event_paranoid\n"
>> + "is required to access performance "
>> + "monitoring.\n"
>> + "\n"
>> + ANSI_HEADER "Through CAP_PERFMON "
>> + "capability"
>> + ANSI_RESET "\n"
>> + "cd /path/to/igt-gpu-tools/\n"
>> + "sudo setcap cap_perfmon=+ep $(pwd)/"
>> + "build/tools/gputop/gputop\n"
>> + "sudo sh -c \"echo $(pwd)/build/lib >"
>> + " /etc/ld.so.conf.d/lib-igt.conf\"\n"
>> + "sudo ldconfig\n"
>> + ANSI_HEADER "Revert:" ANSI_RESET "\n"
>> + "sudo setcap cap_perfmon=-ep $(pwd)/"
>> + "build/tools/gputop/gputop\n"
>> + "sudo rm /etc/ld.so.conf.d/lib-igt.conf\n"
>> + "sudo ldconfig\n"
>> + "\n"
>> + ANSI_HEADER "Through perf_event_paranoid"
>> + " (system-wide policy)"
>> + ANSI_RESET "\n"
>> + "# Save current value\n"
>> + "orig_val=$(sysctl -n "
>> + "kernel.perf_event_paranoid)\n"
>> + "# Allow non-root perf usage\n"
>> + "sudo sysctl -w kernel.perf_event_paranoid=-1\n"
>> + ANSI_HEADER "Revert:" ANSI_RESET "\n"
>> + "sudo sysctl -w kernel."
>> + "perf_event_paranoid=$orig_val\n"
>> + "\n"
>> + "For details, see 'Perf events and "
>> + "tool security':\n"
>> + "https://www.kernel.org/doc/html/"
>> + "latest/admin-guide/perf-security.html\n");
>> + igt_devices_free();
>> + gputop_clean_up();
>> + return EXIT_SUCCESS;
>> + } else {
>> + fprintf(stderr,
>> + "Failed to initialize PMU! (%s)\n",
>> + strerror(errno));
>> + igt_devices_free();
>> + gputop_clean_up();
>> + return EXIT_FAILURE;
>> + }
>> + }
>> + }
>> + }
>> +
>> + for (int i = 0; drivers[i]; i++) {
>> + for (int j = 0;
>> + per_driver_contexts[i].device_present && j < per_driver_contexts[i].len;
>> + j++)
>> + ops[i].pmu_sample(per_driver_contexts[i].instances, j);
>> + }
>> +
>> clients = igt_drm_clients_init(NULL);
>> if (!clients)
>> exit(1);
>> @@ -449,22 +627,47 @@ int main(int argc, char **argv)
>>
>> while ((n != 0) && !stop_top) {
>> struct igt_drm_client *c, *prevc = NULL;
>> - int i, engine_w = 0, lines = 0;
>> + int k, engine_w = 0, lines = 0;
>>
>> igt_drm_clients_scan(clients, NULL, NULL, 0, NULL, 0);
>> +
>> + for (int i = 0; drivers[i]; i++) {
>> + for (int j = 0;
>> + per_driver_contexts[i].device_present &&
>> + j < per_driver_contexts[i].len;
>> + j++)
>> + ops[i].pmu_sample(per_driver_contexts[i].instances, j);
>> + }
>> +
>> igt_drm_clients_sort(clients, client_cmp);
>>
>> update_console_size(&con_w, &con_h);
>> clrscr();
>>
>> + for (int i = 0; drivers[i]; i++) {
>> + for (int j = 0;
>> + per_driver_contexts[i].device_present &&
>> + j < per_driver_contexts[i].len;
>> + j++) {
>> + lines = ops[i].print_engines(per_driver_contexts[i].instances, j,
>> + lines, con_w, con_h);
>> + }
>> + }
>> +
>> if (!clients->num_clients) {
>> - const char *msg = " (No GPU clients yet. Start workload to see stats)";
>> + const char *msg;
>> +
>> + if (is_root)
>> + msg = " (No GPU clients yet. Start workload to see stats)";
>> + else
>> + msg = " (GPU client busyness is only available with root"
>> + " privileges)";
>>
>> printf(ANSI_HEADER "%-*s" ANSI_RESET "\n",
>> (int)(con_w - strlen(msg) - 1), msg);
>> }
>>
>> - igt_for_each_drm_client(clients, c, i) {
>> + igt_for_each_drm_client(clients, c, k) {
>> assert(c->status != IGT_DRM_CLIENT_PROBE);
>> if (c->status != IGT_DRM_CLIENT_ALIVE)
>> break; /* Active clients are first in the array. */
>> @@ -488,11 +691,11 @@ int main(int argc, char **argv)
>> }
>>
>> igt_drm_clients_free(clients);
>> + gputop_clean_up();
>>
>> if (profiled_devices != NULL) {
>> igt_devices_configure_profiling(profiled_devices, false);
>> igt_devices_free_profiling(profiled_devices);
>> }
>> -
>> return 0;
>> }
>> diff --git a/tools/gputop/meson.build b/tools/gputop/meson.build
>> new file mode 100644
>> index 000000000..4766d8496
>> --- /dev/null
>> +++ b/tools/gputop/meson.build
>> @@ -0,0 +1,6 @@
>> +gputop_src = [ 'gputop.c', 'utils.c', 'xe_gputop.c']
>> +executable('gputop', sources : gputop_src,
>> + install : true,
>> + install_rpath : bindir_rpathdir,
>> + dependencies : [igt_deps,lib_igt_perf,lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math],
>> + install: true)
>> diff --git a/tools/meson.build b/tools/meson.build
>> index 8185ba160..99a732942 100644
>> --- a/tools/meson.build
>> +++ b/tools/meson.build
>> @@ -70,11 +70,6 @@ if libudev.found()
>> install : true)
>> endif
>>
>> -executable('gputop', 'gputop.c',
>> - install : true,
>> - install_rpath : bindir_rpathdir,
>> - dependencies : [lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math])
>> -
>> intel_l3_parity_src = [ 'intel_l3_parity.c', 'intel_l3_udev_listener.c' ]
>> executable('intel_l3_parity', sources : intel_l3_parity_src,
>> dependencies : tool_deps,
>> @@ -123,3 +118,4 @@ endif
>> subdir('i915-perf')
>> subdir('xe-perf')
>> subdir('null_state_gen')
>> +subdir('gputop')
>> --
>> 2.34.1
>>
[-- Attachment #2: Type: text/html, Size: 16681 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances
2025-12-15 4:08 ` Purkait, Soham
@ 2025-12-15 10:41 ` Kamil Konieczny
0 siblings, 0 replies; 10+ messages in thread
From: Kamil Konieczny @ 2025-12-15 10:41 UTC (permalink / raw)
To: Purkait, Soham
Cc: igt-dev, riana.tauro, badal.nilawar, kamil.konieczny,
anshuman.gupta, umesh.nerlige.ramappa
Hi Purkait,,
On 2025-12-15 at 09:38:12 +0530, Purkait, Soham wrote:
> Hi Kamil,
>
> On 13-12-2025 03:11, Kamil Konieczny wrote:
> > Hi Soham,
> > On 2025-12-09 at 23:05:13 +0530, Soham Purkait wrote:
> > > Introduce vendor-agnostic support for handling multiple GPUs and instances
> > > in gputop. Improve the tool's adaptability to various GPU configurations.
> > >
> > > v1:
> > > - Refactor GPUTOP into a vendor-agnostic tool. (Lucas)
> > > v2:
> > > - Add device filter to populate the array of cards for
> > > all supported drivers. (Zbigniew)
> > > v3:
> > > - Cosmetic changes. (Riana)
> > > - Avoid three level indentation. (Riana)
> > > v4:
> > > - Add user message for running without root privileges. (Kamil)
> > > v5:
> > > - Add support for GPU client-only busyness on unsupported
> > > drivers as a fallback mechanism. (Kamil)
> > >
> > > Signed-off-by: Soham Purkait<soham.purkait@intel.com>
> > > ---
> > > tools/{ => gputop}/gputop.c | 283 +++++++++++++++++++++++++++++++-----
> > > tools/gputop/meson.build | 6 +
> > > tools/meson.build | 6 +-
> > > 3 files changed, 250 insertions(+), 45 deletions(-)
> > > rename tools/{ => gputop}/gputop.c (59%)
> > > create mode 100644 tools/gputop/meson.build
> > >
[cut]
> > > @@ -417,9 +506,12 @@ int main(int argc, char **argv)
> > > struct igt_profiled_device *profiled_devices = NULL;
> > > struct igt_drm_clients *clients = NULL;
> > > int con_w = -1, con_h = -1;
> > > + bool is_root;
> > > int ret;
> > > long n;
> > > + is_root = (geteuid() == 0);
> > Note that this is not required when a user is in a group.
> > Better way is to just try to open a file and only when it fails
> > act accordingly.
> This is just a boolean variable which stores if it is running as root or non
> root. Rest it does the same way as you mentioned, when it fails.
> >
> > > +
> > > ret = parse_args(argc, argv, &args);
> > > if (ret < 0)
> > > return EXIT_FAILURE;
> > > @@ -429,6 +521,92 @@ int main(int argc, char **argv)
> > > n = args.n_iter;
> > > period_us = args.delay_usec;
> > > + if (!populate_device_instances(args.device ? args.device
> > > + : "device:subsystem=pci,card=all") &&
> > > + geteuid()) {
> > > + printf("\n" ANSI_HEADER "Run with root "
> > > + "privileges for GPU client "
> > > + "busyness.\n" ANSI_RESET "\n");
> > So you still need a root, as I said it is a regression.
>
> Could you please clarify with which functionality or tool this is compared
> to as a regression?
I took machine with i915 driver loaded and run gputop,
and it runs perfectly fine, shows workload.
Now I run with your changes and got:
$ build/tools/gputop/gputop
Run with root privileges for GPU client busyness.
$
So it is definitly a regression.
> By the way, PMU is not accessible without root or setting the capability.
>
> > Imho looks like you want to create a new tool ngputop.
>
> Why not GPUTOP ?
Please look again for my comment with pseudocode, it seems you
want root access and when it is not there you bail out, so it
is a regression.
As I said, you can have new requirements in a new tool, not in
old one.
Regards,
Kamil
>
> Thanks,
> Soham.
>
> > You could create it in tools/ngputop.src/ <- most source files here
> > and link into executable tools/ngputop
> >
> > In a new tool you could require to have a root or group or caps.
> >
> > Regards,
> > Kamil
> >
> > > + gputop_clean_up();
> > > + exit(1);
> > > + }
> > > +
> > > + for (int i = 0; drivers[i]; i++) {
> > > + if (!per_driver_contexts[i].device_present)
> > > + continue;
> > > +
> > > + for (int j = 0; j < per_driver_contexts[i].len; j++) {
> > > + if (!ops[i].init_engines(per_driver_contexts[i].instances, j)) {
> > > + fprintf(stderr,
> > > + "Failed to initialize engines! (%s)\n",
> > > + strerror(errno));
> > > + gputop_clean_up();
> > > + return EXIT_FAILURE;
> > > + }
> > > + ret = ops[i].pmu_init(per_driver_contexts[i].instances, j);
> > > +
> > > + if (ret) {
> > > + if (errno == EACCES && !is_root) {
> > > + fprintf(stderr,
> > > + "\n"
> > > + "When running as a normal user, "
> > > + "CAP_PERFMON or perf_event_paranoid\n"
> > > + "is required to access performance "
> > > + "monitoring.\n"
> > > + "\n"
> > > + ANSI_HEADER "Through CAP_PERFMON "
> > > + "capability"
> > > + ANSI_RESET "\n"
> > > + "cd /path/to/igt-gpu-tools/\n"
> > > + "sudo setcap cap_perfmon=+ep $(pwd)/"
> > > + "build/tools/gputop/gputop\n"
> > > + "sudo sh -c \"echo $(pwd)/build/lib >"
> > > + " /etc/ld.so.conf.d/lib-igt.conf\"\n"
> > > + "sudo ldconfig\n"
> > > + ANSI_HEADER "Revert:" ANSI_RESET "\n"
> > > + "sudo setcap cap_perfmon=-ep $(pwd)/"
> > > + "build/tools/gputop/gputop\n"
> > > + "sudo rm /etc/ld.so.conf.d/lib-igt.conf\n"
> > > + "sudo ldconfig\n"
> > > + "\n"
> > > + ANSI_HEADER "Through perf_event_paranoid"
> > > + " (system-wide policy)"
> > > + ANSI_RESET "\n"
> > > + "# Save current value\n"
> > > + "orig_val=$(sysctl -n "
> > > + "kernel.perf_event_paranoid)\n"
> > > + "# Allow non-root perf usage\n"
> > > + "sudo sysctl -w kernel.perf_event_paranoid=-1\n"
> > > + ANSI_HEADER "Revert:" ANSI_RESET "\n"
> > > + "sudo sysctl -w kernel."
> > > + "perf_event_paranoid=$orig_val\n"
> > > + "\n"
> > > + "For details, see 'Perf events and "
> > > + "tool security':\n"
> > > + "https://www.kernel.org/doc/html/"
> > > + "latest/admin-guide/perf-security.html\n");
> > > + igt_devices_free();
> > > + gputop_clean_up();
> > > + return EXIT_SUCCESS;
> > > + } else {
> > > + fprintf(stderr,
> > > + "Failed to initialize PMU! (%s)\n",
> > > + strerror(errno));
> > > + igt_devices_free();
> > > + gputop_clean_up();
> > > + return EXIT_FAILURE;
> > > + }
> > > + }
> > > + }
> > > + }
> > > +
> > > + for (int i = 0; drivers[i]; i++) {
> > > + for (int j = 0;
> > > + per_driver_contexts[i].device_present && j < per_driver_contexts[i].len;
> > > + j++)
> > > + ops[i].pmu_sample(per_driver_contexts[i].instances, j);
> > > + }
> > > +
> > > clients = igt_drm_clients_init(NULL);
> > > if (!clients)
> > > exit(1);
> > > @@ -449,22 +627,47 @@ int main(int argc, char **argv)
> > > while ((n != 0) && !stop_top) {
> > > struct igt_drm_client *c, *prevc = NULL;
> > > - int i, engine_w = 0, lines = 0;
> > > + int k, engine_w = 0, lines = 0;
> > > igt_drm_clients_scan(clients, NULL, NULL, 0, NULL, 0);
> > > +
> > > + for (int i = 0; drivers[i]; i++) {
> > > + for (int j = 0;
> > > + per_driver_contexts[i].device_present &&
> > > + j < per_driver_contexts[i].len;
> > > + j++)
> > > + ops[i].pmu_sample(per_driver_contexts[i].instances, j);
> > > + }
> > > +
> > > igt_drm_clients_sort(clients, client_cmp);
> > > update_console_size(&con_w, &con_h);
> > > clrscr();
> > > + for (int i = 0; drivers[i]; i++) {
> > > + for (int j = 0;
> > > + per_driver_contexts[i].device_present &&
> > > + j < per_driver_contexts[i].len;
> > > + j++) {
> > > + lines = ops[i].print_engines(per_driver_contexts[i].instances, j,
> > > + lines, con_w, con_h);
> > > + }
> > > + }
> > > +
> > > if (!clients->num_clients) {
> > > - const char *msg = " (No GPU clients yet. Start workload to see stats)";
> > > + const char *msg;
> > > +
> > > + if (is_root)
> > > + msg = " (No GPU clients yet. Start workload to see stats)";
> > > + else
> > > + msg = " (GPU client busyness is only available with root"
> > > + " privileges)";
> > > printf(ANSI_HEADER "%-*s" ANSI_RESET "\n",
> > > (int)(con_w - strlen(msg) - 1), msg);
> > > }
> > > - igt_for_each_drm_client(clients, c, i) {
> > > + igt_for_each_drm_client(clients, c, k) {
> > > assert(c->status != IGT_DRM_CLIENT_PROBE);
> > > if (c->status != IGT_DRM_CLIENT_ALIVE)
> > > break; /* Active clients are first in the array. */
> > > @@ -488,11 +691,11 @@ int main(int argc, char **argv)
> > > }
> > > igt_drm_clients_free(clients);
> > > + gputop_clean_up();
> > > if (profiled_devices != NULL) {
> > > igt_devices_configure_profiling(profiled_devices, false);
> > > igt_devices_free_profiling(profiled_devices);
> > > }
> > > -
> > > return 0;
> > > }
> > > diff --git a/tools/gputop/meson.build b/tools/gputop/meson.build
> > > new file mode 100644
> > > index 000000000..4766d8496
> > > --- /dev/null
> > > +++ b/tools/gputop/meson.build
> > > @@ -0,0 +1,6 @@
> > > +gputop_src = [ 'gputop.c', 'utils.c', 'xe_gputop.c']
> > > +executable('gputop', sources : gputop_src,
> > > + install : true,
> > > + install_rpath : bindir_rpathdir,
> > > + dependencies : [igt_deps,lib_igt_perf,lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math],
> > > + install: true)
> > > diff --git a/tools/meson.build b/tools/meson.build
> > > index 8185ba160..99a732942 100644
> > > --- a/tools/meson.build
> > > +++ b/tools/meson.build
> > > @@ -70,11 +70,6 @@ if libudev.found()
> > > install : true)
> > > endif
> > > -executable('gputop', 'gputop.c',
> > > - install : true,
> > > - install_rpath : bindir_rpathdir,
> > > - dependencies : [lib_igt_drm_clients,lib_igt_drm_fdinfo,lib_igt_profiling,math])
> > > -
> > > intel_l3_parity_src = [ 'intel_l3_parity.c', 'intel_l3_udev_listener.c' ]
> > > executable('intel_l3_parity', sources : intel_l3_parity_src,
> > > dependencies : tool_deps,
> > > @@ -123,3 +118,4 @@ endif
> > > subdir('i915-perf')
> > > subdir('xe-perf')
> > > subdir('null_state_gen')
> > > +subdir('gputop')
> > > --
> > > 2.34.1
> > >
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-12-15 10:41 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-09 17:35 [PATCH i-g-t v1 0/2] Close any open drm device after engine initialization in GPUTOP Soham Purkait
2025-12-09 17:35 ` [PATCH i-g-t v1 1/2] tools/gputop/xe_gputop: Close card_fd after engine population in xe_populate_engines() Soham Purkait
2025-12-09 17:35 ` [PATCH i-g-t v1 2/2] tools/gputop/gputop: Enable support for multiple GPUs and instances Soham Purkait
2025-12-12 21:41 ` Kamil Konieczny
2025-12-15 4:08 ` Purkait, Soham
2025-12-15 10:41 ` Kamil Konieczny
2025-12-15 9:14 ` Purkait, Soham
2025-12-09 23:07 ` ✗ i915.CI.BAT: failure for Close any open drm device after engine initialization in GPUTOP (rev2) Patchwork
2025-12-10 4:43 ` ✓ Xe.CI.BAT: success " Patchwork
2025-12-10 6:23 ` ✗ Xe.CI.Full: 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.