* [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests
@ 2020-02-04 10:08 Lionel Landwerlin
2020-02-04 10:08 ` [igt-dev] [PATCH i-g-t v5 1/1] tests/i915-query: add new tests for perf configurations queries Lionel Landwerlin
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Lionel Landwerlin @ 2020-02-04 10:08 UTC (permalink / raw)
To: igt-dev
Hi all,
The TGL runner reported failures because the register for OA triggers
etc... changed.
Cheers,
Lionel Landwerlin (1):
tests/i915-query: add new tests for perf configurations queries
tests/i915/i915_query.c | 616 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 616 insertions(+)
--
2.25.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 5+ messages in thread
* [igt-dev] [PATCH i-g-t v5 1/1] tests/i915-query: add new tests for perf configurations queries
2020-02-04 10:08 [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests Lionel Landwerlin
@ 2020-02-04 10:08 ` Lionel Landwerlin
2020-02-04 15:26 ` [igt-dev] ✓ Fi.CI.BAT: success for tests: add i915-query perf tests (rev4) Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Lionel Landwerlin @ 2020-02-04 10:08 UTC (permalink / raw)
To: igt-dev
These new tests allow to list the available configurations and also to
query the data that makes up a configuration.
v2: Verify uuid queries (Lionel)
v3: Fix mistake with missing pointer value (Lionel)
v4: Add igt_describe() (Lionel)
v5: Fix config creation on Gen12+ (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> (v4)
---
tests/i915/i915_query.c | 616 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 616 insertions(+)
diff --git a/tests/i915/i915_query.c b/tests/i915/i915_query.c
index 71807425..27a14e6e 100644
--- a/tests/i915/i915_query.c
+++ b/tests/i915/i915_query.c
@@ -22,6 +22,7 @@
*/
#include "igt.h"
+#include "igt_sysfs.h"
#include <limits.h>
@@ -735,6 +736,603 @@ static void engines(int fd)
free(engines);
}
+static bool query_perf_config_supported(int fd)
+{
+ struct drm_i915_query_item item = {
+ .query_id = DRM_I915_QUERY_PERF_CONFIG,
+ .flags = DRM_I915_QUERY_PERF_CONFIG_LIST,
+ };
+
+ return __i915_query_items(fd, &item, 1) == 0 && item.length > 0;
+}
+
+/*
+ * Verify that perf configuration queries for list of configurations
+ * rejects invalid parameters.
+ */
+static void test_query_perf_config_list_invalid(int fd)
+{
+ struct drm_i915_query_perf_config *query_config_ptr, dummy_query_config;
+ struct drm_i915_query_item item;
+ size_t len;
+ void *data;
+
+ /* Verify invalid flags for perf config queries */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = 42; /* invalid */
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EINVAL);
+
+ /*
+ * A too small data length is invalid. We should have at least
+ * the test config list.
+ */
+ memset(&item, 0, sizeof(item));
+ memset(&dummy_query_config, 0, sizeof(dummy_query_config));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.data_ptr = to_user_pointer(&dummy_query_config);
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_LIST;
+ item.length = sizeof(struct drm_i915_query_perf_config); /* invalid */
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EINVAL);
+
+ /* Flags on the query config data are invalid. */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_LIST;
+ item.length = 0;
+ i915_query_items(fd, &item, 1);
+ igt_assert(item.length > sizeof(struct drm_i915_query_perf_config));
+
+ query_config_ptr = calloc(1, item.length);
+ query_config_ptr->flags = 1; /* invalid */
+ item.data_ptr = to_user_pointer(query_config_ptr);
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EINVAL);
+ free(query_config_ptr);
+
+ /*
+ * A NULL data pointer is invalid when the length is long
+ * enough for i915 to copy data into the pointed memory.
+ */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_LIST;
+ item.length = 0;
+ i915_query_items(fd, &item, 1);
+ igt_assert(item.length > sizeof(struct drm_i915_query_perf_config));
+
+ i915_query_items(fd, &item, 1); /* leaves data ptr to null */
+ igt_assert_eq(item.length, -EFAULT);
+
+ /* Trying to write into read only memory will fail. */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_LIST;
+ item.length = 0;
+ i915_query_items(fd, &item, 1);
+ igt_assert(item.length > sizeof(struct drm_i915_query_perf_config));
+
+ len = ALIGN(item.length, 4096);
+ data = mmap(0, len, PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
+ memset(data, 0, len);
+ mprotect(data, len, PROT_READ);
+ item.data_ptr = to_user_pointer(data); /* invalid with read only data */
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EFAULT);
+
+ munmap(data, len);
+}
+
+static int query_perf_config_id_data(int fd, int length,
+ struct drm_i915_query_perf_config *query)
+{
+ struct drm_i915_query_item item;
+
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_ID;
+ item.length = length;
+ item.data_ptr = to_user_pointer(query);
+ i915_query_items(fd, &item, 1);
+
+ return item.length;
+}
+
+static int query_perf_config_uuid_data(int fd, int length,
+ struct drm_i915_query_perf_config *query)
+{
+ struct drm_i915_query_item item;
+
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_UUID;
+ item.length = length;
+ item.data_ptr = to_user_pointer(query);
+ i915_query_items(fd, &item, 1);
+
+ return item.length;
+}
+
+/*
+ * Verify that perf configuration queries for configuration data
+ * rejects invalid parameters.
+ */
+static void test_query_perf_config_data_invalid(int fd)
+{
+ struct {
+ struct drm_i915_query_perf_config query;
+ struct drm_i915_perf_oa_config oa;
+ } query;
+ struct drm_i915_query_item item;
+ size_t len;
+ void *data;
+
+ /* Flags are invalid for perf config queries */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_ID + 1; /* invalid */
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EINVAL);
+
+ /*
+ * A too small data length is invalid. We should have at least
+ * the test config list.
+ */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_ID;
+ item.length = sizeof(struct drm_i915_query_perf_config); /* invalid */
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EINVAL);
+
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_ID;
+ item.length = sizeof(struct drm_i915_query_perf_config) +
+ sizeof(struct drm_i915_perf_oa_config) - 1; /* invalid */
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EINVAL);
+
+ /* Flags on the query config data are invalid. */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_ID;
+ item.length = 0;
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, sizeof(query));
+
+ memset(&query, 0, sizeof(query));
+ query.query.flags = 1; /* invalid */
+ item.data_ptr = to_user_pointer(&query.query);
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EINVAL);
+
+ /* Invalid UUID. */
+ memset(&item, 0, sizeof(item));
+ memset(&query, 0, sizeof(query));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_UUID;
+ item.data_ptr = to_user_pointer(&query);
+ item.length = sizeof(query);
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -ENOENT);
+
+ /*
+ * A NULL data pointer is invalid when the length is long
+ * enough for i915 to copy data into the pointed memory.
+ */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_ID;
+ item.length = 0;
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, sizeof(query));
+
+ i915_query_items(fd, &item, 1); /* leaves data ptr to null */
+ igt_assert_eq(item.length, -EFAULT);
+
+ item.data_ptr = ULONG_MAX; /* invalid pointer */
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EFAULT);
+
+ /* Trying to write into read only memory will fail. */
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_ID;
+ item.length = 0;
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, sizeof(query));
+
+ len = ALIGN(item.length, 4096);
+ data = mmap(0, len, PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
+ memset(data, 0, len);
+ ((struct drm_i915_query_perf_config *)data)->config = 1; /* test config */
+ mprotect(data, len, PROT_READ);
+ item.data_ptr = to_user_pointer(data); /* invalid with read only data */
+ i915_query_items(fd, &item, 1);
+ igt_assert_eq(item.length, -EFAULT);
+
+ munmap(data, len);
+
+ /* Invalid memory (NULL) for configuration registers. */
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query),
+ query_perf_config_id_data(fd, sizeof(query), &query.query));
+
+ igt_debug("Queried test config %.*s\n",
+ (int)sizeof(query.oa.uuid), query.oa.uuid);
+ igt_debug(" n_mux_regs=%u, n_boolean_regs=%u, n_flex_regs=%u\n",
+ query.oa.n_mux_regs, query.oa.n_boolean_regs,
+ query.oa.n_flex_regs);
+ igt_assert_eq(-EFAULT,
+ query_perf_config_id_data(fd, sizeof(query), &query.query));
+
+ /* Invalid memory (ULONG max) for configuration registers. */
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query), query_perf_config_id_data(fd, 0, &query.query));
+
+ if (query.oa.n_mux_regs > 0) {
+ query.oa.mux_regs_ptr = ULONG_MAX;
+ query.oa.n_boolean_regs = 0;
+ query.oa.n_flex_regs = 0;
+ igt_assert_eq(-EFAULT, query_perf_config_id_data(fd, sizeof(query),
+ &query.query));
+ }
+
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query),
+ query_perf_config_id_data(fd, 0, &query.query));
+
+ if (query.oa.n_boolean_regs > 0) {
+ query.oa.boolean_regs_ptr = ULONG_MAX;
+ query.oa.n_mux_regs = 0;
+ query.oa.n_flex_regs = 0;
+ igt_assert_eq(-EFAULT, query_perf_config_id_data(fd, sizeof(query),
+ &query.query));
+ }
+
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query),
+ query_perf_config_id_data(fd, 0, &query.query));
+
+ if (query.oa.n_flex_regs > 0) {
+ query.oa.flex_regs_ptr = ULONG_MAX;
+ query.oa.n_mux_regs = 0;
+ query.oa.n_boolean_regs = 0;
+ igt_assert_eq(-EFAULT, query_perf_config_id_data(fd, sizeof(query),
+ &query.query));
+ }
+
+ /* Too small number of registers to write. */
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query), query_perf_config_id_data(fd, 0, &query.query));
+
+ if (query.oa.n_mux_regs > 0) {
+ query.oa.n_mux_regs--;
+ igt_assert_eq(-EINVAL, query_perf_config_id_data(fd, sizeof(query),
+ &query.query));
+ }
+
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query),
+ query_perf_config_id_data(fd, 0, &query.query));
+
+ if (query.oa.n_boolean_regs > 0) {
+ query.oa.n_boolean_regs--;
+ igt_assert_eq(-EINVAL, query_perf_config_id_data(fd, sizeof(query),
+ &query.query));
+ }
+
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query), query_perf_config_id_data(fd, 0, &query.query));
+
+ if (query.oa.n_flex_regs > 0) {
+ query.oa.n_flex_regs--;
+ igt_assert_eq(-EINVAL, query_perf_config_id_data(fd, sizeof(query),
+ &query.query));
+ }
+
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query),
+ query_perf_config_id_data(fd, 0, &query.query));
+
+ if (query.oa.n_boolean_regs > 0) {
+ query.oa.boolean_regs_ptr = ULONG_MAX;
+ query.oa.n_mux_regs = 0;
+ query.oa.n_flex_regs = 0;
+ igt_assert_eq(-EFAULT, query_perf_config_id_data(fd, sizeof(query),
+ &query.query));
+ }
+
+ /* Read only memory for registers. */
+ memset(&query, 0, sizeof(query));
+ query.query.config = 1; /* test config */
+ igt_assert_eq(sizeof(query),
+ query_perf_config_id_data(fd, sizeof(query), &query.query));
+
+ len = ALIGN(query.oa.n_mux_regs * sizeof(uint32_t) * 2, 4096);
+ data = mmap(0, len, PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
+ memset(data, 0, len);
+ mprotect(data, len, PROT_READ);
+ query.oa.mux_regs_ptr = to_user_pointer(data);
+ igt_assert_eq(-EFAULT,
+ query_perf_config_id_data(fd, sizeof(query), &query.query));
+
+ munmap(data, len);
+}
+
+static uint64_t create_perf_config(int fd,
+ const char *uuid,
+ uint32_t **boolean_regs,
+ uint32_t *n_boolean_regs,
+ uint32_t **flex_regs,
+ uint32_t *n_flex_regs,
+ uint32_t **mux_regs,
+ uint32_t *n_mux_regs)
+{
+ struct drm_i915_perf_oa_config config;
+ int devid = intel_get_drm_devid(fd);
+ const struct intel_device_info *devinfo = intel_get_device_info(devid);
+ uint32_t start_trig_offset = devinfo->gen >= 12 ? 0xd900 : 0x2710;
+ uint32_t report_trig_offset = devinfo->gen >= 12 ? 0xd920 : 0x2740;
+ int i, ret;
+
+ *n_boolean_regs = rand() % 50;
+ *boolean_regs = calloc(*n_boolean_regs, sizeof(uint32_t) * 2);
+ *n_mux_regs = rand() % 50;
+ *mux_regs = calloc(*n_mux_regs, sizeof(uint32_t) * 2);
+ if (intel_gen(devid) < 8) {
+ /* flex register don't exist on gen7 */
+ *n_flex_regs = 0;
+ *flex_regs = NULL;
+ } else {
+ *n_flex_regs = rand() % 50;
+ *flex_regs = calloc(*n_flex_regs, sizeof(uint32_t) * 2);
+ }
+
+ for (i = 0; i < *n_boolean_regs; i++) {
+ if (rand() % 2) {
+ /* OASTARTTRIG[1-8] */
+ (*boolean_regs)[i * 2] =
+ start_trig_offset + ((rand() % 32) / 4) * 4;
+ (*boolean_regs)[i * 2 + 1] = rand();
+ } else {
+ /* OAREPORTTRIG[1-8] */
+ (*boolean_regs)[i * 2] =
+ report_trig_offset + ((rand() % 32) / 4) * 4;
+ (*boolean_regs)[i * 2 + 1] = rand();
+ }
+ }
+
+ for (i = 0; i < *n_mux_regs; i++) {
+ (*mux_regs)[i * 2] = 0x9800;
+ (*mux_regs)[i * 2 + 1] = rand();
+ }
+
+ for (i = 0; i < *n_flex_regs; i++) {
+ const uint32_t flex[] = {
+ 0xe458,
+ 0xe558,
+ 0xe658,
+ 0xe758,
+ 0xe45c,
+ 0xe55c,
+ 0xe65c
+ };
+ (*flex_regs)[i * 2] = flex[rand() % ARRAY_SIZE(flex)];
+ (*flex_regs)[i * 2 + 1] = rand();
+ }
+
+ memset(&config, 0, sizeof(config));
+ memcpy(config.uuid, uuid, sizeof(config.uuid));
+
+ config.n_boolean_regs = *n_boolean_regs;
+ config.boolean_regs_ptr = to_user_pointer(*boolean_regs);
+ config.n_flex_regs = *n_flex_regs;
+ config.flex_regs_ptr = to_user_pointer(*flex_regs);
+ config.n_mux_regs = *n_mux_regs;
+ config.mux_regs_ptr = to_user_pointer(*mux_regs);
+
+ ret = igt_ioctl(fd, DRM_IOCTL_I915_PERF_ADD_CONFIG, &config);
+ igt_assert(ret > 1); /* Config 0/1 should be used by the kernel */
+
+ igt_debug("created config id=%i uuid=%s:\n", ret, uuid);
+ igt_debug("\tn_boolean_regs=%u n_flex_regs=%u n_mux_regs=%u\n",
+ config.n_boolean_regs, config.n_flex_regs,
+ config.n_mux_regs);
+
+ return ret;
+}
+
+static void remove_perf_config(int fd, uint64_t config_id)
+{
+ igt_assert_eq(0, igt_ioctl(fd, DRM_IOCTL_I915_PERF_REMOVE_CONFIG,
+ &config_id));
+}
+
+static uint64_t get_config_id(int fd, const char *uuid)
+{
+ char rel_path[100];
+ uint64_t ret;
+ int sysfs;
+
+ sysfs = igt_sysfs_open(fd);
+ igt_assert_lte(0, sysfs);
+
+ snprintf(rel_path, sizeof(rel_path), "metrics/%s/id", uuid);
+
+ if (igt_sysfs_scanf(sysfs, rel_path, "%lu", &ret) < 0)
+ ret = 0;
+
+ close(sysfs);
+ return ret;
+}
+
+/*
+ * Verifies that created configurations appear in the query of list of
+ * configuration and also verify the content of the queried
+ * configurations matches with what was created.
+ */
+static void test_query_perf_configs(int fd)
+{
+ struct {
+ uint64_t id;
+
+ char uuid[40];
+
+ uint32_t *boolean_regs;
+ uint32_t n_boolean_regs;
+ uint32_t *flex_regs;
+ uint32_t n_flex_regs;
+ uint32_t *mux_regs;
+ uint32_t n_mux_regs;
+ } configs[5];
+ struct {
+ struct drm_i915_query_perf_config query;
+ uint64_t config_ids[];
+ } *list_query;
+ struct drm_i915_query_item item;
+ int i;
+
+ srand(time(NULL));
+
+ for (i = 0; i < ARRAY_SIZE(configs); i++) {
+ uint64_t prev_config_id;
+
+ snprintf(configs[i].uuid, sizeof(configs[i].uuid),
+ "01234567-%04u-0123-0123-0123456789ab", i);
+
+ prev_config_id = get_config_id(fd, configs[i].uuid);
+ if (prev_config_id)
+ remove_perf_config(fd, prev_config_id);
+
+ configs[i].id =
+ create_perf_config(fd, configs[i].uuid,
+ &configs[i].boolean_regs,
+ &configs[i].n_boolean_regs,
+ &configs[i].flex_regs,
+ &configs[i].n_flex_regs,
+ &configs[i].mux_regs,
+ &configs[i].n_mux_regs);
+ }
+
+ memset(&item, 0, sizeof(item));
+ item.query_id = DRM_I915_QUERY_PERF_CONFIG;
+ item.flags = DRM_I915_QUERY_PERF_CONFIG_LIST;
+ item.length = 0;
+ i915_query_items(fd, &item, 1);
+ igt_assert(item.length > sizeof(struct drm_i915_query_perf_config));
+
+ list_query = malloc(item.length);
+ memset(list_query, 0, item.length);
+ item.data_ptr = to_user_pointer(list_query);
+ i915_query_items(fd, &item, 1);
+ igt_assert(item.length > sizeof(struct drm_i915_query_perf_config));
+
+ igt_debug("listed configs:\n");
+ for (i = 0; i < list_query->query.config; i++)
+ igt_debug("\tid=%lu\n", list_query->config_ids[i]);
+
+ /* Verify that all created configs are listed. */
+ for (i = 0; i < ARRAY_SIZE(configs); i++) {
+ int j;
+ bool found = false;
+
+ for (j = 0; j < list_query->query.config; j++) {
+ if (list_query->config_ids[j] == configs[i].id) {
+ found = true;
+ break;
+ }
+ }
+
+ igt_assert(found);
+ }
+
+ /* Verify the content of the configs. */
+ for (i = 0; i < ARRAY_SIZE(configs); i++) {
+ struct {
+ struct drm_i915_query_perf_config query;
+ struct drm_i915_perf_oa_config oa;
+ } query;
+ uint32_t *boolean_regs = NULL, *flex_regs = NULL, *mux_regs = NULL;
+
+ /* First query with configuration id. */
+ memset(&query, 0, sizeof(query));
+ query.query.config = configs[i].id;
+ igt_assert_eq(sizeof(query),
+ query_perf_config_id_data(fd, sizeof(query),
+ &query.query));
+
+ igt_debug("queried config data id=%lu uuid=%s:\n",
+ configs[i].id, configs[i].uuid);
+ igt_debug("\tn_boolean_regs=%u n_flex_regs=%u n_mux_regs=%u\n",
+ query.oa.n_boolean_regs, query.oa.n_flex_regs,
+ query.oa.n_mux_regs);
+
+ igt_assert_eq(query.oa.n_boolean_regs, configs[i].n_boolean_regs);
+ igt_assert_eq(query.oa.n_flex_regs, configs[i].n_flex_regs);
+ igt_assert_eq(query.oa.n_mux_regs, configs[i].n_mux_regs);
+
+ /* Query again with configuration uuid. */
+ memset(&query, 0, sizeof(query));
+ memcpy(query.query.uuid, configs[i].uuid,
+ sizeof(query.query.uuid));
+ igt_assert_eq(sizeof(query),
+ query_perf_config_uuid_data(fd, sizeof(query),
+ &query.query));
+
+ igt_assert_eq(query.oa.n_boolean_regs, configs[i].n_boolean_regs);
+ igt_assert_eq(query.oa.n_flex_regs, configs[i].n_flex_regs);
+ igt_assert_eq(query.oa.n_mux_regs, configs[i].n_mux_regs);
+
+ /* Now get the register programming values. */
+ boolean_regs = calloc(query.oa.n_boolean_regs * 2, sizeof(uint32_t));
+ if (query.oa.n_flex_regs > 0)
+ flex_regs = calloc(query.oa.n_flex_regs * 2, sizeof(uint32_t));
+ mux_regs = calloc(query.oa.n_mux_regs * 2, sizeof(uint32_t));
+
+ query.oa.boolean_regs_ptr = to_user_pointer(boolean_regs);
+ query.oa.flex_regs_ptr = to_user_pointer(flex_regs);
+ query.oa.mux_regs_ptr = to_user_pointer(mux_regs);
+
+ igt_assert_eq(sizeof(query),
+ query_perf_config_uuid_data(fd, sizeof(query),
+ &query.query));
+
+ igt_assert_eq(0, memcmp(configs[i].boolean_regs,
+ boolean_regs,
+ configs[i].n_boolean_regs * 2 * sizeof(uint32_t)));
+ igt_assert_eq(0, memcmp(configs[i].flex_regs,
+ flex_regs,
+ configs[i].n_flex_regs * 2 * sizeof(uint32_t)));
+ igt_assert_eq(0, memcmp(configs[i].mux_regs,
+ mux_regs,
+ configs[i].n_mux_regs * 2 * sizeof(uint32_t)));
+
+ free(boolean_regs);
+ free(flex_regs);
+ free(mux_regs);
+ }
+
+ for (i = 0; i < ARRAY_SIZE(configs); i++) {
+ remove_perf_config(fd, configs[i].id);
+
+ free(configs[i].boolean_regs);
+ free(configs[i].flex_regs);
+ free(configs[i].mux_regs);
+ }
+}
+
igt_main
{
int fd = -1;
@@ -794,6 +1392,24 @@ igt_main
engines(fd);
}
+ igt_subtest_group {
+ igt_fixture {
+ igt_require(query_perf_config_supported(fd));
+ }
+
+ igt_describe("Test invalid parameters when listing OA configurations");
+ igt_subtest("query-perf-config-list-invalid")
+ test_query_perf_config_list_invalid(fd);
+
+ igt_describe("Test invalid parameters when querying OA configuration data");
+ igt_subtest("query-perf-config-data-invalid")
+ test_query_perf_config_data_invalid(fd);
+
+ igt_describe("Test listing & querying OA configurations");
+ igt_subtest("query-perf-configs")
+ test_query_perf_configs(fd);
+ }
+
igt_fixture {
close(fd);
}
--
2.25.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for tests: add i915-query perf tests (rev4)
2020-02-04 10:08 [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests Lionel Landwerlin
2020-02-04 10:08 ` [igt-dev] [PATCH i-g-t v5 1/1] tests/i915-query: add new tests for perf configurations queries Lionel Landwerlin
@ 2020-02-04 15:26 ` Patchwork
2020-02-06 9:04 ` [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests Lionel Landwerlin
2020-02-06 14:32 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests: add i915-query perf tests (rev4) Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2020-02-04 15:26 UTC (permalink / raw)
To: Lionel Landwerlin; +Cc: igt-dev
== Series Details ==
Series: tests: add i915-query perf tests (rev4)
URL : https://patchwork.freedesktop.org/series/72235/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7864 -> IGTPW_4089
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/index.html
Known issues
------------
Here are the changes found in IGTPW_4089 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_close_race@basic-threads:
- fi-byt-j1900: [PASS][1] -> [INCOMPLETE][2] ([i915#45])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-byt-j1900/igt@gem_close_race@basic-threads.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-byt-j1900/igt@gem_close_race@basic-threads.html
* igt@gem_exec_parallel@fds:
- fi-byt-n2820: [PASS][3] -> [FAIL][4] ([i915#694])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-byt-n2820/igt@gem_exec_parallel@fds.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-byt-n2820/igt@gem_exec_parallel@fds.html
* igt@gem_flink_basic@bad-flink:
- fi-tgl-y: [PASS][5] -> [DMESG-WARN][6] ([CI#94] / [i915#402]) +1 similar issue
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-tgl-y/igt@gem_flink_basic@bad-flink.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-tgl-y/igt@gem_flink_basic@bad-flink.html
* igt@i915_selftest@live_blt:
- fi-hsw-4770r: [PASS][7] -> [DMESG-FAIL][8] ([i915#553] / [i915#725])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-hsw-4770r/igt@i915_selftest@live_blt.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-hsw-4770r/igt@i915_selftest@live_blt.html
* igt@kms_flip@basic-flip-vs-wf_vblank:
- fi-bwr-2160: [PASS][9] -> [FAIL][10] ([i915#34])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-bwr-2160/igt@kms_flip@basic-flip-vs-wf_vblank.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-bwr-2160/igt@kms_flip@basic-flip-vs-wf_vblank.html
#### Possible fixes ####
* igt@i915_pm_rpm@module-reload:
- fi-skl-6770hq: [FAIL][11] ([i915#178]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live_blt:
- fi-hsw-4770: [DMESG-FAIL][13] ([i915#725]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-hsw-4770/igt@i915_selftest@live_blt.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-hsw-4770/igt@i915_selftest@live_blt.html
* igt@i915_selftest@live_gtt:
- fi-skl-6600u: [TIMEOUT][15] ([fdo#111732] / [fdo#112271]) -> [PASS][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-skl-6600u/igt@i915_selftest@live_gtt.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-skl-6600u/igt@i915_selftest@live_gtt.html
* igt@i915_selftest@live_perf:
- fi-apl-guc: [INCOMPLETE][17] ([fdo#103927]) -> [PASS][18]
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-apl-guc/igt@i915_selftest@live_perf.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-apl-guc/igt@i915_selftest@live_perf.html
* igt@prime_self_import@basic-llseek-bad:
- fi-tgl-y: [DMESG-WARN][19] ([CI#94] / [i915#402]) -> [PASS][20] +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-tgl-y/igt@prime_self_import@basic-llseek-bad.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-tgl-y/igt@prime_self_import@basic-llseek-bad.html
#### Warnings ####
* igt@gem_exec_parallel@contexts:
- fi-byt-n2820: [TIMEOUT][21] ([fdo#112271]) -> [FAIL][22] ([i915#694])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
[CI#94]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/94
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#111732]: https://bugs.freedesktop.org/show_bug.cgi?id=111732
[fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
[i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178
[i915#34]: https://gitlab.freedesktop.org/drm/intel/issues/34
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
[i915#45]: https://gitlab.freedesktop.org/drm/intel/issues/45
[i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
[i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
[i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
Participating hosts (50 -> 47)
------------------------------
Additional (3): fi-skl-lmem fi-glk-dsi fi-snb-2520m
Missing (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5417 -> IGTPW_4089
CI-20190529: 20190529
CI_DRM_7864: 5a140e2fc771e4c8b10d14e2db7bfb4996ee9d8a @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4089: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/index.html
IGT_5417: 33cc93c8ba5daa0b7498f297a4f626844d895d06 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Testlist changes ==
+igt@i915_query@query-perf-configs
+igt@i915_query@query-perf-config-data-invalid
+igt@i915_query@query-perf-config-list-invalid
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests
2020-02-04 10:08 [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests Lionel Landwerlin
2020-02-04 10:08 ` [igt-dev] [PATCH i-g-t v5 1/1] tests/i915-query: add new tests for perf configurations queries Lionel Landwerlin
2020-02-04 15:26 ` [igt-dev] ✓ Fi.CI.BAT: success for tests: add i915-query perf tests (rev4) Patchwork
@ 2020-02-06 9:04 ` Lionel Landwerlin
2020-02-06 14:32 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests: add i915-query perf tests (rev4) Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Lionel Landwerlin @ 2020-02-06 9:04 UTC (permalink / raw)
To: igt-dev
Umesh has reviewed the previous version and this one fixes TGL.
Is it okay for me to merge?
Thanks,
-Lionel
On 04/02/2020 12:08, Lionel Landwerlin wrote:
> Hi all,
>
> The TGL runner reported failures because the register for OA triggers
> etc... changed.
>
> Cheers,
>
> Lionel Landwerlin (1):
> tests/i915-query: add new tests for perf configurations queries
>
> tests/i915/i915_query.c | 616 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 616 insertions(+)
>
> --
> 2.25.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 5+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for tests: add i915-query perf tests (rev4)
2020-02-04 10:08 [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests Lionel Landwerlin
` (2 preceding siblings ...)
2020-02-06 9:04 ` [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests Lionel Landwerlin
@ 2020-02-06 14:32 ` Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2020-02-06 14:32 UTC (permalink / raw)
To: Lionel Landwerlin; +Cc: igt-dev
== Series Details ==
Series: tests: add i915-query perf tests (rev4)
URL : https://patchwork.freedesktop.org/series/72235/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_7864_full -> IGTPW_4089_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_4089_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_4089_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_4089_full:
### IGT changes ###
#### Possible regressions ####
* igt@i915_query@query-perf-configs (NEW):
- shard-kbl: NOTRUN -> [FAIL][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-kbl6/igt@i915_query@query-perf-configs.html
- shard-hsw: NOTRUN -> [FAIL][2]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-hsw2/igt@i915_query@query-perf-configs.html
- shard-iclb: NOTRUN -> [FAIL][3]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb3/igt@i915_query@query-perf-configs.html
- shard-glk: NOTRUN -> [FAIL][4]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-glk2/igt@i915_query@query-perf-configs.html
- shard-apl: NOTRUN -> [FAIL][5]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-apl2/igt@i915_query@query-perf-configs.html
New tests
---------
New tests have been introduced between CI_DRM_7864_full and IGTPW_4089_full:
### New IGT tests (9) ###
* igt@gem_ctx_sseu@engines:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 0.03] s
* igt@gem_ctx_sseu@ggtt-args:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0] s
* igt@gem_ctx_sseu@invalid-args:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0] s
* igt@gem_ctx_sseu@invalid-sseu:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.0] s
* igt@gem_media_vme:
- Statuses : 1 pass(s) 6 skip(s)
- Exec time: [0.04, 0.15] s
* igt@i915_query@query-perf-config-data-invalid:
- Statuses : 6 pass(s) 1 skip(s)
- Exec time: [0.0, 0.00] s
* igt@i915_query@query-perf-config-list-invalid:
- Statuses : 6 pass(s) 1 skip(s)
- Exec time: [0.0] s
* igt@i915_query@query-perf-configs:
- Statuses : 5 fail(s) 1 skip(s)
- Exec time: [0.0, 0.23] s
* igt@i915_selftest@live_active:
- Statuses : 7 pass(s)
- Exec time: [0.39, 0.72] s
Known issues
------------
Here are the changes found in IGTPW_4089_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_busy@busy-vcs1:
- shard-iclb: [PASS][6] -> [SKIP][7] ([fdo#112080]) +15 similar issues
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb4/igt@gem_busy@busy-vcs1.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb6/igt@gem_busy@busy-vcs1.html
* igt@gem_ctx_isolation@rcs0-s3:
- shard-kbl: [PASS][8] -> [DMESG-WARN][9] ([i915#180]) +8 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-kbl2/igt@gem_ctx_isolation@rcs0-s3.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-kbl7/igt@gem_ctx_isolation@rcs0-s3.html
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][10] -> [SKIP][11] ([fdo#110841])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb8/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_exec_schedule@fifo-bsd1:
- shard-iclb: [PASS][12] -> [SKIP][13] ([fdo#109276]) +19 similar issues
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb4/igt@gem_exec_schedule@fifo-bsd1.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb7/igt@gem_exec_schedule@fifo-bsd1.html
* igt@gem_exec_schedule@pi-shared-iova-bsd:
- shard-glk: [PASS][14] -> [FAIL][15] ([i915#859])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-glk2/igt@gem_exec_schedule@pi-shared-iova-bsd.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-glk5/igt@gem_exec_schedule@pi-shared-iova-bsd.html
* igt@gem_exec_schedule@pi-userfault-bsd:
- shard-iclb: [PASS][16] -> [SKIP][17] ([i915#677])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb3/igt@gem_exec_schedule@pi-userfault-bsd.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb2/igt@gem_exec_schedule@pi-userfault-bsd.html
* igt@gem_exec_schedule@preempt-queue-bsd:
- shard-iclb: [PASS][18] -> [SKIP][19] ([fdo#112146]) +5 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb8/igt@gem_exec_schedule@preempt-queue-bsd.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd.html
* igt@gem_exec_suspend@basic-s3:
- shard-kbl: [PASS][20] -> [INCOMPLETE][21] ([fdo#103665])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-kbl4/igt@gem_exec_suspend@basic-s3.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-kbl4/igt@gem_exec_suspend@basic-s3.html
* igt@gem_partial_pwrite_pread@write-snoop:
- shard-hsw: [PASS][22] -> [FAIL][23] ([i915#694]) +2 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-hsw2/igt@gem_partial_pwrite_pread@write-snoop.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-hsw7/igt@gem_partial_pwrite_pread@write-snoop.html
* igt@gem_ppgtt@flink-and-close-vma-leak:
- shard-glk: [PASS][24] -> [FAIL][25] ([i915#644])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-glk1/igt@gem_ppgtt@flink-and-close-vma-leak.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-glk3/igt@gem_ppgtt@flink-and-close-vma-leak.html
* igt@gem_userptr_blits@sync-unmap-after-close:
- shard-snb: [PASS][26] -> [DMESG-WARN][27] ([fdo#111870] / [i915#478])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-snb6/igt@gem_userptr_blits@sync-unmap-after-close.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-snb2/igt@gem_userptr_blits@sync-unmap-after-close.html
* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [PASS][28] -> [FAIL][29] ([i915#454])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb1/igt@i915_pm_dc@dc6-psr.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb6/igt@i915_pm_dc@dc6-psr.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-0:
- shard-iclb: [PASS][30] -> [SKIP][31] ([i915#1140])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb8/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb5/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
* igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen:
- shard-kbl: [PASS][32] -> [FAIL][33] ([i915#54]) +1 similar issue
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
- shard-apl: [PASS][34] -> [FAIL][35] ([i915#54]) +1 similar issue
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-apl4/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-apl8/igt@kms_cursor_crc@pipe-a-cursor-64x64-onscreen.html
* igt@kms_cursor_crc@pipe-b-cursor-128x128-sliding:
- shard-glk: [PASS][36] -> [FAIL][37] ([i915#54])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-glk4/igt@kms_cursor_crc@pipe-b-cursor-128x128-sliding.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-glk1/igt@kms_cursor_crc@pipe-b-cursor-128x128-sliding.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
- shard-apl: [PASS][38] -> [DMESG-WARN][39] ([i915#180])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-apl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-apl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
* igt@kms_psr2_su@page_flip:
- shard-iclb: [PASS][40] -> [SKIP][41] ([fdo#109642] / [fdo#111068])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb2/igt@kms_psr2_su@page_flip.html
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb8/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@no_drrs:
- shard-iclb: [PASS][42] -> [FAIL][43] ([i915#173])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb6/igt@kms_psr@no_drrs.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb1/igt@kms_psr@no_drrs.html
* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [PASS][44] -> [SKIP][45] ([fdo#109441])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb3/igt@kms_psr@psr2_primary_page_flip.html
#### Possible fixes ####
* igt@gem_exec_schedule@pi-distinct-iova-bsd:
- shard-iclb: [SKIP][46] ([i915#677]) -> [PASS][47] +2 similar issues
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb1/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb8/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
* igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-iclb: [SKIP][48] ([fdo#112146]) -> [PASS][49] +6 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb1/igt@gem_exec_schedule@preemptive-hang-bsd.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb6/igt@gem_exec_schedule@preemptive-hang-bsd.html
* igt@gem_mmap_gtt@big-copy-odd:
- shard-snb: [DMESG-WARN][50] ([i915#478]) -> [PASS][51]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-snb6/igt@gem_mmap_gtt@big-copy-odd.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-snb6/igt@gem_mmap_gtt@big-copy-odd.html
* igt@gem_partial_pwrite_pread@writes-after-reads-display:
- shard-hsw: [FAIL][52] ([i915#694]) -> [PASS][53]
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-hsw7/igt@gem_partial_pwrite_pread@writes-after-reads-display.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-hsw7/igt@gem_partial_pwrite_pread@writes-after-reads-display.html
* igt@gem_softpin@noreloc-s3:
- shard-apl: [DMESG-WARN][54] ([i915#180]) -> [PASS][55] +2 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-apl6/igt@gem_softpin@noreloc-s3.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-apl4/igt@gem_softpin@noreloc-s3.html
* igt@i915_selftest@live_blt:
- shard-hsw: [DMESG-FAIL][56] ([i915#725]) -> [PASS][57]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-hsw7/igt@i915_selftest@live_blt.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-hsw2/igt@i915_selftest@live_blt.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-180:
- shard-iclb: [SKIP][58] ([i915#1140]) -> [PASS][59]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb2/igt@kms_big_fb@y-tiled-64bpp-rotate-180.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb8/igt@kms_big_fb@y-tiled-64bpp-rotate-180.html
* igt@kms_cursor_crc@pipe-b-cursor-suspend:
- shard-kbl: [DMESG-WARN][60] ([i915#180]) -> [PASS][61] +1 similar issue
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-kbl2/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-kbl6/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
* igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-glk: [FAIL][62] ([i915#79]) -> [PASS][63]
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank.html
* igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-glk: [FAIL][64] ([i915#899]) -> [PASS][65] +1 similar issue
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-glk9/igt@kms_plane_lowres@pipe-a-tiling-x.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-glk7/igt@kms_plane_lowres@pipe-a-tiling-x.html
* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [SKIP][66] ([fdo#109642] / [fdo#111068]) -> [PASS][67]
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb8/igt@kms_psr2_su@frontbuffer.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [SKIP][68] ([fdo#109441]) -> [PASS][69]
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb7/igt@kms_psr@psr2_primary_mmap_cpu.html
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_setmode@basic:
- shard-apl: [FAIL][70] ([i915#31]) -> [PASS][71]
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-apl2/igt@kms_setmode@basic.html
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-apl4/igt@kms_setmode@basic.html
* igt@perf_pmu@busy-no-semaphores-vcs1:
- shard-iclb: [SKIP][72] ([fdo#112080]) -> [PASS][73] +14 similar issues
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb7/igt@perf_pmu@busy-no-semaphores-vcs1.html
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb2/igt@perf_pmu@busy-no-semaphores-vcs1.html
* igt@prime_busy@hang-bsd2:
- shard-iclb: [SKIP][74] ([fdo#109276]) -> [PASS][75] +18 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb7/igt@prime_busy@hang-bsd2.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb4/igt@prime_busy@hang-bsd2.html
* igt@prime_mmap_coherency@ioctl-errors:
- shard-hsw: [FAIL][76] ([i915#831]) -> [PASS][77]
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-hsw5/igt@prime_mmap_coherency@ioctl-errors.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-hsw6/igt@prime_mmap_coherency@ioctl-errors.html
#### Warnings ####
* igt@gem_ctx_isolation@vcs1-nonpriv-switch:
- shard-iclb: [SKIP][78] ([fdo#112080]) -> [FAIL][79] ([IGT#28])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-iclb8/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
* igt@gem_tiled_blits@normal:
- shard-hsw: [FAIL][80] ([i915#818]) -> [FAIL][81] ([i915#694])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7864/shard-hsw7/igt@gem_tiled_blits@normal.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/shard-hsw1/igt@gem_tiled_blits@normal.html
[IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
[i915#1140]: https://gitlab.freedesktop.org/drm/intel/issues/1140
[i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
[i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
[i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
[i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#818]: https://gitlab.freedesktop.org/drm/intel/issues/818
[i915#831]: https://gitlab.freedesktop.org/drm/intel/issues/831
[i915#859]: https://gitlab.freedesktop.org/drm/intel/issues/859
[i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899
Participating hosts (10 -> 8)
------------------------------
Missing (2): pig-skl-6260u pig-glk-j5005
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5417 -> IGTPW_4089
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_7864: 5a140e2fc771e4c8b10d14e2db7bfb4996ee9d8a @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4089: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/index.html
IGT_5417: 33cc93c8ba5daa0b7498f297a4f626844d895d06 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4089/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-02-06 14:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-04 10:08 [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests Lionel Landwerlin
2020-02-04 10:08 ` [igt-dev] [PATCH i-g-t v5 1/1] tests/i915-query: add new tests for perf configurations queries Lionel Landwerlin
2020-02-04 15:26 ` [igt-dev] ✓ Fi.CI.BAT: success for tests: add i915-query perf tests (rev4) Patchwork
2020-02-06 9:04 ` [igt-dev] [PATCH i-g-t v5 0/1] tests: add i915-query perf tests Lionel Landwerlin
2020-02-06 14:32 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests: add i915-query perf tests (rev4) 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.