[Intel-gfx] [PATCH 3/4] prime_self_import: Assure no pending requests before object counting

oscar.mateo at intel.com oscar.mateo at intel.com
Mon Nov 4 17:30:48 CET 2013


From: Oscar Mateo <oscar.mateo at intel.com>

We don't want a previously used object to be freed in the middle of a
before/after object counting operation (or we would get a "-1 objects
leaked" message). We have seen this happening, e.g., when a context
from a previous run dies, but its backing object is alive waiting for
a retire_work to kick in.

v2: Use igt_debugfs facilities for drop cache

Signed-off-by: Oscar Mateo <oscar.mateo at intel.com>
Cc: Ben Widawsky <ben at bwidawsk.net>
---
 tests/prime_self_import.c |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tests/prime_self_import.c b/tests/prime_self_import.c
index 2edc1f8..fb007bc 100644
--- a/tests/prime_self_import.c
+++ b/tests/prime_self_import.c
@@ -46,6 +46,7 @@
 #include "drm.h"
 #include "i915_drm.h"
 #include "drmtest.h"
+#include "igt_debugfs.h"
 
 #define BO_SIZE (16*1024)
 
@@ -252,10 +253,13 @@ static void test_reimport_close_race(void)
 	pthread_t *threads;
 	int r, i, num_threads;
 	int fds[2];
-	int obj_count = get_object_count();
+	int obj_count;
 	void *status;
 	uint32_t handle;
 
+	igt_drop_caches_set(DROP_RETIRE);
+	obj_count = get_object_count();
+
 	num_threads = sysconf(_SC_NPROCESSORS_ONLN);
 
 	threads = calloc(num_threads, sizeof(pthread_t));
@@ -330,9 +334,12 @@ static void test_export_close_race(void)
 	pthread_t *threads;
 	int r, i, num_threads;
 	int fd;
-	int obj_count = get_object_count();
+	int obj_count;
 	void *status;
 
+	igt_drop_caches_set(DROP_RETIRE);
+	obj_count = get_object_count();
+
 	num_threads = sysconf(_SC_NPROCESSORS_ONLN);
 
 	threads = calloc(num_threads, sizeof(pthread_t));
-- 
1.7.9.5




More information about the Intel-gfx mailing list