[PATCH i-g-t 2/2] lib/xe: Make running under Valgrind quiet
Tvrtko Ursulin
tvrtko.ursulin at igalia.com
Tue Feb 25 12:44:54 UTC 2025
Let Valgrind know which memory is initialised by ioctls so running tests
under it becomes less noisy.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
---
lib/xe/xe_query.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
index ec2b127b7e87..0d2e4805c8ee 100644
--- a/lib/xe/xe_query.c
+++ b/lib/xe/xe_query.c
@@ -9,6 +9,15 @@
#include <stdlib.h>
#include <pthread.h>
+#ifdef HAVE_VALGRIND
+#include <valgrind/valgrind.h>
+#include <valgrind/memcheck.h>
+
+#define VG(x) x
+#else
+#define VG(x) do {} while (0)
+#endif
+
#include "drmtest.h"
#include "ioctl_wrappers.h"
#include "igt_map.h"
@@ -34,6 +43,8 @@ static struct drm_xe_query_config *xe_query_config_new(int fd)
query.data = to_user_pointer(config);
igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query), 0);
+ VG(VALGRIND_MAKE_MEM_DEFINED(config, query.size));
+
igt_assert(config->num_params > 0);
return config;
@@ -62,6 +73,8 @@ static uint32_t *xe_query_hwconfig_new(int fd, uint32_t *hwconfig_size)
/* Perform the query to get the actual data */
igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query), 0);
+ VG(VALGRIND_MAKE_MEM_DEFINED(hwconfig, query.size));
+
*hwconfig_size = query.size;
return hwconfig;
}
@@ -84,6 +97,8 @@ static struct drm_xe_query_gt_list *xe_query_gt_list_new(int fd)
query.data = to_user_pointer(gt_list);
igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query), 0);
+ VG(VALGRIND_MAKE_MEM_DEFINED(gt_list, query.size));
+
return gt_list;
}
@@ -117,6 +132,8 @@ static struct drm_xe_query_engines *xe_query_engines(int fd)
query.data = to_user_pointer(engines);
igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query), 0);
+ VG(VALGRIND_MAKE_MEM_DEFINED(engines, query.size));
+
return engines;
}
@@ -138,6 +155,8 @@ static struct drm_xe_query_mem_regions *xe_query_mem_regions_new(int fd)
query.data = to_user_pointer(mem_regions);
igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query), 0);
+ VG(VALGRIND_MAKE_MEM_DEFINED(mem_regions, query.size));
+
return mem_regions;
}
@@ -161,6 +180,8 @@ static struct drm_xe_query_oa_units *xe_query_oa_units_new(int fd)
query.data = to_user_pointer(oa_units);
igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query), 0);
+ VG(VALGRIND_MAKE_MEM_DEFINED(oa_units, query.size));
+
return oa_units;
}
--
2.48.0
More information about the igt-dev
mailing list