All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 0/3] Test for Engine busyness
@ 2023-12-08  8:52 Riana Tauro
  2023-12-08  8:52 ` [PATCH i-g-t 1/3] lib/igt_perf: modify perf_events dir function for xe Riana Tauro
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Riana Tauro @ 2023-12-08  8:52 UTC (permalink / raw)
  To: igt-dev

Add a test to validate engine busyness using busy-ticks for each
engine and total active ticks

busyness % = (engine busy ticks/total active ticks) * 100.

Kernel Patchwork : https://patchwork.freedesktop.org/series/126919/
(Engine busyness)

Riana Tauro (3):
  lib/igt_perf: modify a perf events dir function for xe
  lib/igt_perf: Add a helper function to check if events are present
  tests/xe/xe_perf_pmu: Test for engine busyness

 include/drm-uapi/xe_drm.h |  24 ++++++
 lib/igt_perf.c            |  40 +++++++++-
 lib/igt_perf.h            |   3 +-
 tests/intel/perf_pmu.c    |   3 +-
 tests/intel/xe_perf_pmu.c | 151 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 215 insertions(+), 6 deletions(-)

-- 
2.40.0

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

* [PATCH i-g-t 1/3] lib/igt_perf: modify perf_events dir function for xe
  2023-12-08  8:52 [PATCH i-g-t 0/3] Test for Engine busyness Riana Tauro
@ 2023-12-08  8:52 ` Riana Tauro
  2023-12-08  8:52 ` [PATCH i-g-t 2/3] lib/igt_perf: Add a helper function to check if events are present Riana Tauro
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Riana Tauro @ 2023-12-08  8:52 UTC (permalink / raw)
  To: igt-dev

modify igt_perf_events_dir so that it can be used
for xe. Also modify pmu_read test to use these changes.

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
---
 lib/igt_perf.c         | 6 ++----
 lib/igt_perf.h         | 2 +-
 tests/intel/perf_pmu.c | 3 ++-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/lib/igt_perf.c b/lib/igt_perf.c
index 3866c6d77..5b7bef042 100644
--- a/lib/igt_perf.c
+++ b/lib/igt_perf.c
@@ -129,13 +129,11 @@ uint64_t igt_perf_type_id(const char *device)
 	return strtoull(buf, NULL, 0);
 }
 
-int igt_perf_events_dir(int i915)
+int igt_perf_events_dir(const char *device)
 {
-	char buf[80];
 	char path[PATH_MAX];
 
-	i915_perf_device(i915, buf, sizeof(buf));
-	snprintf(path, sizeof(path), "/sys/bus/event_source/devices/%s/events", buf);
+	snprintf(path, sizeof(path), "/sys/bus/event_source/devices/%s/events", device);
 	return open(path, O_RDONLY);
 }
 
diff --git a/lib/igt_perf.h b/lib/igt_perf.h
index 3d9ba2917..776cb36bb 100644
--- a/lib/igt_perf.h
+++ b/lib/igt_perf.h
@@ -54,7 +54,7 @@ perf_event_open(struct perf_event_attr *attr,
 }
 
 uint64_t igt_perf_type_id(const char *device);
-int igt_perf_events_dir(int i915);
+int igt_perf_events_dir(const char *device);
 int igt_perf_open(uint64_t type, uint64_t config);
 int igt_perf_open_group(uint64_t type, uint64_t config, int group);
 
diff --git a/tests/intel/perf_pmu.c b/tests/intel/perf_pmu.c
index c6e6a8b77..a95a43eef 100644
--- a/tests/intel/perf_pmu.c
+++ b/tests/intel/perf_pmu.c
@@ -2420,11 +2420,12 @@ static void test_unload(unsigned int num_engines)
 static void pmu_read(int i915)
 {
 	char val[128];
+	char buf[80];
 	int pmu_fd;
 	struct dirent *de;
 	DIR *dir;
 
-	pmu_fd = igt_perf_events_dir(i915);
+	pmu_fd = igt_perf_events_dir(i915_perf_device(i915, buf, sizeof(buf)));
 	igt_require(pmu_fd >= 0);
 
 	dir = fdopendir(dup(pmu_fd));
-- 
2.40.0

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

* [PATCH i-g-t 2/3] lib/igt_perf: Add a helper function to check if events are present
  2023-12-08  8:52 [PATCH i-g-t 0/3] Test for Engine busyness Riana Tauro
  2023-12-08  8:52 ` [PATCH i-g-t 1/3] lib/igt_perf: modify perf_events dir function for xe Riana Tauro
@ 2023-12-08  8:52 ` Riana Tauro
  2023-12-08  8:52 ` [PATCH i-g-t 3/3] tests/xe/xe_perf_pmu: Test for engine busyness Riana Tauro
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Riana Tauro @ 2023-12-08  8:52 UTC (permalink / raw)
  To: igt-dev

Add helpers to check if specific events are found in
the events dir.

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
---
 lib/igt_perf.c | 34 ++++++++++++++++++++++++++++++++++
 lib/igt_perf.h |  1 +
 2 files changed, 35 insertions(+)

diff --git a/lib/igt_perf.c b/lib/igt_perf.c
index 5b7bef042..834ef7682 100644
--- a/lib/igt_perf.c
+++ b/lib/igt_perf.c
@@ -1,3 +1,4 @@
+#include <dirent.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <limits.h>
@@ -137,6 +138,39 @@ int igt_perf_events_dir(const char *device)
 	return open(path, O_RDONLY);
 }
 
+bool igt_perf_event_found(const char *device, const char *str)
+{
+	struct dirent *dent;
+	bool found = false;
+	int pmu_fd;
+	char *pos;
+	DIR *dir;
+
+	pmu_fd = igt_perf_events_dir(device);
+	if (pmu_fd < 0)
+		return found;
+
+	dir = fdopendir(dup(pmu_fd));
+	igt_assert(dir);
+	rewinddir(dir);
+
+	while ((dent = readdir(dir)) != NULL) {
+		if (dent->d_type != DT_REG)
+			continue;
+
+		pos = strstr(dent->d_name, str);
+		if (pos) {
+			found = true;
+			break;
+		}
+	}
+
+	closedir(dir);
+	close(pmu_fd);
+
+	return found;
+}
+
 static int
 _perf_open(uint64_t type, uint64_t config, int group, uint64_t format)
 {
diff --git a/lib/igt_perf.h b/lib/igt_perf.h
index 776cb36bb..98cba3438 100644
--- a/lib/igt_perf.h
+++ b/lib/igt_perf.h
@@ -57,6 +57,7 @@ uint64_t igt_perf_type_id(const char *device);
 int igt_perf_events_dir(const char *device);
 int igt_perf_open(uint64_t type, uint64_t config);
 int igt_perf_open_group(uint64_t type, uint64_t config, int group);
+bool igt_perf_event_found(const char *device, const char *str);
 
 const char *i915_perf_device(int i915, char *buf, int buflen);
 uint64_t i915_perf_type_id(int i915);
-- 
2.40.0

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

* [PATCH i-g-t 3/3] tests/xe/xe_perf_pmu: Test for engine busyness
  2023-12-08  8:52 [PATCH i-g-t 0/3] Test for Engine busyness Riana Tauro
  2023-12-08  8:52 ` [PATCH i-g-t 1/3] lib/igt_perf: modify perf_events dir function for xe Riana Tauro
  2023-12-08  8:52 ` [PATCH i-g-t 2/3] lib/igt_perf: Add a helper function to check if events are present Riana Tauro
@ 2023-12-08  8:52 ` Riana Tauro
  2023-12-08  9:01 ` ✗ Fi.CI.BUILD: failure for Test for Engine busyness Patchwork
  2023-12-08  9:06 ` ✗ GitLab.Pipeline: warning " Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Riana Tauro @ 2023-12-08  8:52 UTC (permalink / raw)
  To: igt-dev

Engine busyness percentage is calculated by reading busy-ticks and
total-active-ticks. Add a test that runs a spinner and reads busy-ticks
and total active ticks to calculate engine busyness percentage
and checks if it is within tolerance.

% busyness = ((busy-ticks) * 100) / total-active-ticks

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
---
 include/drm-uapi/xe_drm.h |  24 ++++++
 tests/intel/xe_perf_pmu.c | 151 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 175 insertions(+)

diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h
index 590f7b7af..e60b14ec4 100644
--- a/include/drm-uapi/xe_drm.h
+++ b/include/drm-uapi/xe_drm.h
@@ -1100,6 +1100,10 @@ struct drm_xe_wait_user_fence {
  *	fd = syscall(__NR_perf_event_open, &attr, -1, cpu, -1, 0);
  */
 
+enum drm_xe_pmu_engine_sample {
+	DRM_XE_PMU_SAMPLE_BUSY_TICKS = 0,
+};
+
 /*
  * Top bits of every counter are GT id.
  */
@@ -1108,10 +1112,30 @@ struct drm_xe_wait_user_fence {
 #define ___DRM_XE_PMU_OTHER(gt, x) \
 	(((__u64)(x)) | ((__u64)(gt) << __DRM_XE_PMU_GT_SHIFT))
 
+#define __DRM_XE_PMU_SAMPLE_BITS (4)
+#define __DRM_XE_PMU_SAMPLE_INSTANCE_BITS (8)
+#define __DRM_XE_PMU_CLASS_SHIFT \
+	(__DRM_XE_PMU_SAMPLE_BITS + __DRM_XE_PMU_SAMPLE_INSTANCE_BITS)
+
+/*
+ * Engine configs offset - 0x1000
+ */
+#define __DRM_XE_PMU_ENGINE_OFFSET(gt) \
+	(___DRM_XE_PMU_OTHER(gt, 0xfff) + 1)
+
+#define __DRM_XE_PMU_ENGINE(gt, class, instance, sample) \
+	(((class) << __DRM_XE_PMU_CLASS_SHIFT | \
+	(instance) << __DRM_XE_PMU_SAMPLE_BITS | \
+	(sample)) + __DRM_XE_PMU_ENGINE_OFFSET(gt))
+
+#define DRM_XE_PMU_ENGINE_BUSY_TICKS(gt, class, instance) \
+	__DRM_XE_PMU_ENGINE(gt, class, instance, DRM_XE_PMU_SAMPLE_BUSY_TICKS)
+
 #define DRM_XE_PMU_RENDER_GROUP_BUSY(gt)	___DRM_XE_PMU_OTHER(gt, 0)
 #define DRM_XE_PMU_COPY_GROUP_BUSY(gt)		___DRM_XE_PMU_OTHER(gt, 1)
 #define DRM_XE_PMU_MEDIA_GROUP_BUSY(gt)		___DRM_XE_PMU_OTHER(gt, 2)
 #define DRM_XE_PMU_ANY_ENGINE_GROUP_BUSY(gt)	___DRM_XE_PMU_OTHER(gt, 3)
+#define DRM_XE_PMU_TOTAL_ACTIVE_TICKS(gt)	___DRM_XE_PMU_OTHER(gt, 4)
 
 #if defined(__cplusplus)
 }
diff --git a/tests/intel/xe_perf_pmu.c b/tests/intel/xe_perf_pmu.c
index 42cf62729..28122e7a7 100644
--- a/tests/intel/xe_perf_pmu.c
+++ b/tests/intel/xe_perf_pmu.c
@@ -45,6 +45,30 @@ static int open_pmu(int fd, uint64_t config)
 	return perf_fd;
 }
 
+static int open_group(int fd, uint64_t config, int group)
+{
+	int perf_fd;
+
+	perf_fd = igt_perf_open_group(xe_perf_type_id(fd), config, group);
+	igt_skip_on(perf_fd < 0 && errno == ENODEV);
+	igt_assert(perf_fd >= 0);
+
+	return perf_fd;
+}
+
+static uint64_t pmu_read_multi(int fd, unsigned int num, uint64_t *val)
+{
+	uint64_t buf[2 + num];
+	unsigned int i;
+
+	igt_assert_eq(read(fd, buf, sizeof(buf)), sizeof(buf));
+
+	for (i = 0; i < num; i++)
+		val[i] = buf[2 + i];
+
+	return buf[1];
+}
+
 static uint64_t engine_group_get_config(int gt, int class)
 {
 	uint64_t config;
@@ -66,6 +90,123 @@ static uint64_t engine_group_get_config(int gt, int class)
 	return config;
 }
 
+static unsigned int measured_usleep(unsigned int usec)
+{
+	struct timespec ts = { };
+	unsigned int slept;
+
+	slept = igt_nsec_elapsed(&ts);
+	igt_assert(slept == 0);
+	do {
+		usleep(usec - slept);
+		slept = igt_nsec_elapsed(&ts) / 1000;
+	} while (slept < usec);
+
+	return igt_nsec_elapsed(&ts);
+}
+
+/**
+ * SUBTEST: engine-busy-ticks
+ * Description:
+ *      Run a test to measure the busy-ticks for each engine
+ *      and total active ticks by running a spinner. Calculate
+ *      the busy percentage. Check if the engine busyness%
+ *      is within tolerance
+ * Run type: FULL
+ */
+static void test_engine_busy_ticks(int fd, struct drm_xe_engine_class_instance *eci)
+{
+	uint64_t addr = 0x1a0000;
+	struct drm_xe_sync sync[2] = {
+		{ .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, },
+		{ .type = DRM_XE_SYNC_TYPE_SYNCOBJ, .flags = DRM_XE_SYNC_FLAG_SIGNAL, },
+	};
+	struct drm_xe_exec exec = {
+		.num_batch_buffer = 1,
+		.num_syncs = 2,
+		.syncs = to_user_pointer(sync),
+	};
+	struct xe_spin_opts spin_opts = { .addr = addr, .preempt = false };
+	struct xe_spin *spin;
+	uint64_t busy_ticks, total_active_ticks;
+	uint64_t before[2], after[2];
+	double busy_percent;
+	uint32_t exec_queue;
+	uint32_t syncobj;
+	uint32_t bo = 0;
+	size_t bo_size;
+	int pmu_fd[2];
+	uint32_t vm;
+
+	pmu_fd[0] = open_group(fd, DRM_XE_PMU_ENGINE_BUSY_TICKS(eci->gt_id,
+								eci->engine_class,
+								eci->engine_instance), -1);
+	pmu_fd[1] = open_group(fd, DRM_XE_PMU_TOTAL_ACTIVE_TICKS(eci->gt_id), pmu_fd[0]);
+
+	vm = xe_vm_create(fd, DRM_XE_VM_CREATE_FLAG_ASYNC_DEFAULT, 0);
+	bo_size = sizeof(*spin);
+	bo_size = ALIGN(bo_size + xe_cs_prefetch_size(fd),
+			xe_get_default_alignment(fd));
+
+	bo = xe_bo_create(fd, vm, bo_size, vram_if_possible(fd, eci->gt_id), 0);
+	spin = xe_bo_map(fd, bo, bo_size);
+
+	exec_queue = xe_exec_queue_create(fd, vm, eci, 0);
+	syncobj = syncobj_create(fd, 0);
+
+	sync[0].handle = syncobj_create(fd, 0);
+	xe_vm_bind_async(fd, vm, 0, bo, 0, addr, bo_size, sync, 1);
+
+	xe_spin_init(spin, &spin_opts);
+
+	sync[0].flags &= ~DRM_XE_SYNC_FLAG_SIGNAL;
+	sync[1].flags |= DRM_XE_SYNC_FLAG_SIGNAL;
+	sync[1].handle = syncobj;
+
+	exec.exec_queue_id = exec_queue;
+	exec.address = addr;
+	xe_exec(fd, &exec);
+
+	xe_spin_wait_started(spin);
+
+	pmu_read_multi(pmu_fd[0], 2, before);
+	measured_usleep(500000); /* 500ms */
+	pmu_read_multi(pmu_fd[0], 2, after);
+
+	igt_assert(!syncobj_wait(fd, &syncobj, 1, 1, 0, NULL));
+	xe_spin_end(spin);
+
+	igt_assert(syncobj_wait(fd, &syncobj, 1, INT64_MAX, 0, NULL));
+	igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0, NULL));
+
+	busy_ticks = after[0] - before[0];
+	total_active_ticks = after[1] - before[1];
+
+	busy_percent = (double)(busy_ticks * 100) / (double)total_active_ticks;
+
+	igt_debug("busy-ticks:  after %ld, before %ld delta %ld\n",
+		  after[0], before[0], busy_ticks);
+	igt_debug("total-active-ticks: after %ld, before %ld delta %ld\n",
+		  after[1], before[1], total_active_ticks);
+	igt_debug("busyness percent %f\n", busy_percent);
+
+	sync[0].flags |= DRM_XE_SYNC_FLAG_SIGNAL;
+	xe_vm_unbind_async(fd, vm, 0, 0, addr, bo_size, sync, 1);
+	igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0, NULL));
+
+	syncobj_destroy(fd, sync[0].handle);
+	syncobj_destroy(fd, syncobj);
+
+	xe_exec_queue_destroy(fd, exec_queue);
+	munmap(spin, bo_size);
+	gem_close(fd, bo);
+	xe_vm_destroy(fd, vm);
+	close(pmu_fd[0]);
+	close(pmu_fd[1]);
+
+	igt_assert(busy_percent >= 90 && busy_percent <= 110);
+}
+
 /**
  * Test: Basic test for measure the active time when engine of any class active
  *
@@ -324,6 +465,16 @@ igt_main
 		xe_for_each_engine(fd, hwe)
 			test_any_engine_busyness(fd, hwe);
 
+	igt_describe("Validate engine busyness");
+	igt_subtest("engine-busy-ticks") {
+		char buf[80];
+		bool has_busy_ticks = igt_perf_event_found(xe_perf_device
+							  (fd, buf, sizeof(buf)), "busy-ticks");
+		igt_require(has_busy_ticks);
+		xe_for_each_engine(fd, hwe)
+			test_engine_busy_ticks(fd, hwe);
+	}
+
 	igt_fixture {
 		xe_device_put(fd);
 		close(fd);
-- 
2.40.0

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

* ✗ Fi.CI.BUILD: failure for Test for Engine busyness
  2023-12-08  8:52 [PATCH i-g-t 0/3] Test for Engine busyness Riana Tauro
                   ` (2 preceding siblings ...)
  2023-12-08  8:52 ` [PATCH i-g-t 3/3] tests/xe/xe_perf_pmu: Test for engine busyness Riana Tauro
@ 2023-12-08  9:01 ` Patchwork
  2023-12-08  9:06 ` ✗ GitLab.Pipeline: warning " Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-12-08  9:01 UTC (permalink / raw)
  To: Riana Tauro; +Cc: igt-dev

== Series Details ==

Series: Test for Engine busyness
URL   : https://patchwork.freedesktop.org/series/127557/
State : failure

== Summary ==

IGT patchset build failed on latest successful build
431c2d2dd5828b25fcbe1c82afbac865f4771aee tests/intel/xe_create: create-big-vram subtest

Tail of build.log:
[849/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_chv.c.o'.
[850/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_icl.c.o'.
[851/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_cnl.c.o'.
[852/1662] Compiling C object 'overlay/b4b33d2@@intel-gpu-overlay@exe/overlay.c.o'.
[853/1662] Compiling C object 'runner/527aa9f@@igt_runner@sta/resultgen.c.o'.
[854/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_bxt.c.o'.
[855/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_glk.c.o'.
[856/1662] Compiling C object 'assembler/1ca89e8@@intel-gen4asm@exe/main.c.o'.
[857/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_cflgt3.c.o'.
[858/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_tglgt2.c.o'.
[859/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_registers_mtlgt3.c.o'.
[860/1662] Compiling C object 'tests/59830eb@@gem_concurrent_all@exe/intel_gem_concurrent_all.c.o'.
[861/1662] Linking target overlay/intel-gpu-overlay.
FAILED: overlay/intel-gpu-overlay 
cc  -o overlay/intel-gpu-overlay 'overlay/b4b33d2@@intel-gpu-overlay@exe/chart.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/config.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/cpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/debugfs.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-interrupts.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-objects.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-perf.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-freq.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/power.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/rc6.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_dri2.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_rgb2yuv.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-window.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_position.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/kms_kms-overlay.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group lib/libigt_perf.a -lrt -lm /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libpciaccess.so /usr/lib/x86_64-linux-gnu/libdrm.so /usr/lib/x86_64-linux-gnu/libdrm_intel.so /usr/lib/x86_64-linux-gnu/libXv.so /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXext.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../lib' -Wl,-rpath-link,/opt/igt/build/lib
/usr/bin/ld: lib/libigt_perf.a(igt_perf.c.o): in function `igt_perf_event_found':
/opt/igt/build/../../../usr/src/igt-gpu-tools/lib/igt_perf.c:154: undefined reference to `__igt_fail_assert'
collect2: error: ld returned 1 exit status
[862/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_kblgt2.c.o'.
[863/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_cflgt2.c.o'.
[864/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_sklgt2.c.o'.
[865/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_kblgt3.c.o'.
[866/1662] Compiling C object 'tools/f9d35d4@@intel_vbt_decode@exe/intel_vbt_decode.c.o'.
[867/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_ehl.c.o'.
[868/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_bdw.c.o'.
[869/1662] Compiling C object 'tools/f9d35d4@@intel_audio_dump@exe/intel_audio_dump.c.o'.
[870/1662] Compiling C object 'tests/59830eb@@perf_pmu@exe/intel_perf_pmu.c.o'.
[871/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_adl.c.o'.
[872/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_dg1.c.o'.
[873/1662] Compiling C object 'tests/59830eb@@kms_frontbuffer_tracking@exe/intel_kms_frontbuffer_tracking.c.o'.
[874/1662] Compiling C object 'runner/527aa9f@@igt_runner@sta/executor.c.o'.
[875/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_registers_acmgt1.c.o'.
[876/1662] Compiling C object 'benchmarks/cb1d2fd@@gem_wsim@exe/gem_wsim.c.o'.
[877/1662] Compiling C object 'assembler/1ca89e8@@brw@sta/brw_eu_emit.c.o'.
[878/1662] Compiling C object 'assembler/1ca89e8@@intel-gen4asm@exe/meson-generated_lex.c.o'.
[879/1662] Compiling C object 'tools/f9d35d4@@intel_gpu_top@exe/intel_gpu_top.c.o'.
[880/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_registers_acmgt2.c.o'.
[881/1662] Compiling C object 'tests/59830eb@@perf@exe/intel_perf.c.o'.
[882/1662] Compiling C object 'tests/59830eb@@gem_exec_schedule@exe/intel_gem_exec_schedule.c.o'.
[883/1662] Linking target lib/libigt.so.0.
[884/1662] Compiling C object 'assembler/1ca89e8@@intel-gen4asm@exe/meson-generated_gram.c.o'.
[885/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_registers_acmgt3.c.o'.
[886/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_equations.c.o'.
[887/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_mtlgt2.c.o'.
[888/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_mtlgt3.c.o'.
[889/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_acmgt1.c.o'.
[890/1662] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
[891/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_acmgt2.c.o'.
[892/1662] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_acmgt3.c.o'.
ninja: build stopped: subcommand failed.


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

* ✗ GitLab.Pipeline: warning for Test for Engine busyness
  2023-12-08  8:52 [PATCH i-g-t 0/3] Test for Engine busyness Riana Tauro
                   ` (3 preceding siblings ...)
  2023-12-08  9:01 ` ✗ Fi.CI.BUILD: failure for Test for Engine busyness Patchwork
@ 2023-12-08  9:06 ` Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2023-12-08  9:06 UTC (permalink / raw)
  To: Riana Tauro; +Cc: igt-dev

== Series Details ==

Series: Test for Engine busyness
URL   : https://patchwork.freedesktop.org/series/127557/
State : warning

== Summary ==

Pipeline status: FAILED.

see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/1052381 for the overview.

build:tests-debian-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/52532753):
  [1637/1651] Compiling C object 'assembler/1ca89e8@@intel-gen4asm@exe/meson-generated_gram.c.o'.
  [1638/1651] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/739] Generating version.h with a custom command.
  [2/15] Linking target runner/runner_test.
  [3/15] Linking target assembler/intel-gen4asm.
  [4/15] Linking target overlay/intel-gpu-overlay.
  FAILED: overlay/intel-gpu-overlay 
  cc  -o overlay/intel-gpu-overlay 'overlay/b4b33d2@@intel-gpu-overlay@exe/chart.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/config.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/cpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/debugfs.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-interrupts.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-objects.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-perf.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-freq.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/power.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/rc6.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_dri2.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_rgb2yuv.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-window.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_position.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/kms_kms-overlay.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group lib/libigt_perf.a -lrt -lm /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libpciaccess.so /usr/lib/x86_64-linux-gnu/libdrm.so /usr/lib/x86_64-linux-gnu/libdrm_intel.so /usr/lib/x86_64-linux-gnu/libXv.so /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXext.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../lib' -Wl,-rpath-link,/builds/gfx-ci/igt-ci-tags/build/lib  
  /usr/bin/ld: lib/libigt_perf.a(igt_perf.c.o): in function `igt_perf_event_found':
  /builds/gfx-ci/igt-ci-tags/build/../lib/igt_perf.c:154: undefined reference to `__igt_fail_assert'
  collect2: error: ld returned 1 exit status
  ninja: build stopped: subcommand failed.
  section_end:1702026106:step_script
  section_start:1702026106:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1702026107:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/52532748):
  [1641/1657] Compiling C object 'assembler/1ca89e8@@intel-gen4asm@exe/meson-generated_gram.c.o'.
  [1642/1657] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/743] Generating version.h with a custom command.
  [2/17] Linking target runner/runner_test.
  [3/17] Linking target assembler/intel-gen4asm.
  [4/17] Linking target overlay/intel-gpu-overlay.
  FAILED: overlay/intel-gpu-overlay 
  cc  -o overlay/intel-gpu-overlay 'overlay/b4b33d2@@intel-gpu-overlay@exe/chart.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/config.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/cpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/debugfs.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-interrupts.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-objects.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-perf.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-freq.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/power.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/rc6.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_dri2.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_rgb2yuv.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-window.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_position.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/kms_kms-overlay.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group lib/libigt_perf.a -lrt -lm /usr/lib64/libcairo.so /usr/lib64/libpciaccess.so /usr/lib64/libdrm.so /usr/lib64/libdrm_intel.so /usr/lib64/libXv.so /usr/lib64/libX11.so /usr/lib64/libXext.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../lib' -Wl,-rpath-link,/builds/gfx-ci/igt-ci-tags/build/lib
  /usr/bin/ld: lib/libigt_perf.a(igt_perf.c.o): in function `igt_perf_event_found':
  /builds/gfx-ci/igt-ci-tags/build/../lib/igt_perf.c:154: undefined reference to `__igt_fail_assert'
  collect2: error: ld returned 1 exit status
  ninja: build stopped: subcommand failed.
  section_end:1702026155:step_script
  section_start:1702026155:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1702026157:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-clang has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/52532752):
  [1648/1657] Generating intel_upload_blit_large.1 with a custom command.
  [1649/1657] Generating intel_upload_blit_large_gtt.1 with a custom command.
  [1650/1657] Generating intel_upload_blit_large_map.1 with a custom command.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/736] Generating version.h with a custom command.
  [2/9] Linking target assembler/intel-gen4asm.
  [3/9] Linking target overlay/intel-gpu-overlay.
  FAILED: overlay/intel-gpu-overlay 
  clang  -o overlay/intel-gpu-overlay 'overlay/b4b33d2@@intel-gpu-overlay@exe/chart.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/config.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/cpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/debugfs.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-interrupts.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-objects.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-perf.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-freq.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/power.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/rc6.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_dri2.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_rgb2yuv.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-window.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_position.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/kms_kms-overlay.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group lib/libigt_perf.a -lrt -lm /usr/lib64/libcairo.so /usr/lib64/libpciaccess.so /usr/lib64/libdrm.so /usr/lib64/libdrm_intel.so /usr/lib64/libXv.so /usr/lib64/libX11.so /usr/lib64/libXext.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../lib' -Wl,-rpath-link,/builds/gfx-ci/igt-ci-tags/build/lib
  /usr/bin/ld: lib/libigt_perf.a(igt_perf.c.o): in function `igt_perf_event_found':
  /builds/gfx-ci/igt-ci-tags/build/../lib/igt_perf.c:154: undefined reference to `__igt_fail_assert'
  clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
  ninja: build stopped: subcommand failed.
  section_end:1702026166:step_script
  section_start:1702026166:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1702026167:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-no-libunwind has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/52532749):
  [1639/1657] Compiling C object 'assembler/1ca89e8@@intel-gen4asm@exe/meson-generated_gram.c.o'.
  [1640/1657] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/745] Generating version.h with a custom command.
  [2/19] Linking target runner/runner_test.
  [3/19] Linking target assembler/intel-gen4asm.
  [4/19] Linking target overlay/intel-gpu-overlay.
  FAILED: overlay/intel-gpu-overlay 
  cc  -o overlay/intel-gpu-overlay 'overlay/b4b33d2@@intel-gpu-overlay@exe/chart.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/config.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/cpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/debugfs.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-interrupts.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gem-objects.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-top.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-perf.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/gpu-freq.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/power.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/rc6.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_dri2.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_rgb2yuv.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-overlay.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_x11-window.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/x11_position.c.o' 'overlay/b4b33d2@@intel-gpu-overlay@exe/kms_kms-overlay.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group lib/libigt_perf.a -lrt -lm /usr/lib64/libcairo.so /usr/lib64/libpciaccess.so /usr/lib64/libdrm.so /usr/lib64/libdrm_intel.so /usr/lib64/libXv.so /usr/lib64/libX11.so /usr/lib64/libXext.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../lib' -Wl,-rpath-link,/builds/gfx-ci/igt-ci-tags/build/lib
  /usr/bin/ld: lib/libigt_perf.a(igt_perf.c.o): in function `igt_perf_event_found':
  /builds/gfx-ci/igt-ci-tags/build/../lib/igt_perf.c:154: undefined reference to `__igt_fail_assert'
  collect2: error: ld returned 1 exit status
  ninja: build stopped: subcommand failed.
  section_end:1702026157:step_script
  section_start:1702026157:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1702026158:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-oldest-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/52532750):
  [1639/1657] Compiling C object 'assembler/assembler@@intel-gen4asm@exe/meson-generated_gram.c.o'.
  [1640/1657] Compiling C object 'runner/runner@@runner_test@exe/runner_tests.c.o'.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/745] Generating version.h with a custom command.
  [2/19] Linking target runner/runner_test.
  [3/19] Linking target assembler/intel-gen4asm.
  [4/19] Linking target overlay/intel-gpu-overlay.
  FAILED: overlay/intel-gpu-overlay 
  cc  -o overlay/intel-gpu-overlay 'overlay/overlay@@intel-gpu-overlay@exe/chart.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/config.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/cpu-top.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/debugfs.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/gem-interrupts.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/gem-objects.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/gpu-top.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/gpu-perf.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/gpu-freq.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/overlay.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/power.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/rc6.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/x11_dri2.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/x11_rgb2yuv.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/x11_x11-overlay.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/x11_x11-window.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/x11_position.c.o' 'overlay/overlay@@intel-gpu-overlay@exe/kms_kms-overlay.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group lib/libigt_perf.a -lrt -lm /usr/lib64/libcairo.so /usr/lib64/libpciaccess.so /usr/lib64/libdrm.so /usr/lib64/libdrm_intel.so /usr/lib64/libXv.so /usr/lib64/libX11.so /usr/lib64/libXext.so -Wl,--end-group  
  /usr/bin/ld: lib/libigt_perf.a(igt_perf.c.o): in function `igt_perf_event_found':
  /builds/gfx-ci/igt-ci-tags/build/../lib/igt_perf.c:154: undefined reference to `__igt_fail_assert'
  collect2: error: ld returned 1 exit status
  ninja: build stopped: subcommand failed.
  section_end:1702026154:step_script
  section_start:1702026154:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1702026155:cleanup_file_variables
  ERROR: Job failed: exit code 1

== Logs ==

For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/1052381

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

end of thread, other threads:[~2023-12-08  9:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-08  8:52 [PATCH i-g-t 0/3] Test for Engine busyness Riana Tauro
2023-12-08  8:52 ` [PATCH i-g-t 1/3] lib/igt_perf: modify perf_events dir function for xe Riana Tauro
2023-12-08  8:52 ` [PATCH i-g-t 2/3] lib/igt_perf: Add a helper function to check if events are present Riana Tauro
2023-12-08  8:52 ` [PATCH i-g-t 3/3] tests/xe/xe_perf_pmu: Test for engine busyness Riana Tauro
2023-12-08  9:01 ` ✗ Fi.CI.BUILD: failure for Test for Engine busyness Patchwork
2023-12-08  9:06 ` ✗ GitLab.Pipeline: warning " 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.