Skip to contentSkip to conversation

intel: silence valgrind warnings for unsynchronized maps

PATCH In review Chia-I Wu 2 participants 2 messages Jul 10, 2013 – Jul 16, 2013

lore
Share & tools
lore

Chia-I Wu

author
#0 lore raw

PATCH 1/1 intel: silence valgrind warnings for unsynchronized maps

Mark the address ranges as accessible with VALGRIND_MAKE_MEM_DEFINED.

---
 intel/intel_bufmgr_gem.c | 7 +++++++
 1 file changed, 7 insertions(+)
intel/intel_bufmgr_gem.c +7 -0
index a51e3f3..f98f7a7 100644
@@ -1322,6 +1322,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
 int drm_intel_gem_bo_map_unsynchronized(drm_intel_bo *bo)
 {
 	drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
+	drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
 	int ret;
 
 	/* If the CPU cache isn't coherent with the GTT, then use a
@@ -1335,7 +1336,13 @@ int drm_intel_gem_bo_map_unsynchronized(drm_intel_bo *bo)
 		return drm_intel_gem_bo_map_gtt(bo);
 
 	pthread_mutex_lock(&bufmgr_gem->lock);
+
 	ret = map_gtt(bo);
+	if (ret == 0) {
+		drm_intel_gem_bo_mark_mmaps_incoherent(bo);
+		VG(VALGRIND_MAKE_MEM_DEFINED(bo_gem->gtt_virtual, bo->size));
+	}
+
 	pthread_mutex_unlock(&bufmgr_gem->lock);
 
 	return ret;
Signature · 1 line
1.8.3.1
#1 lore raw
Quoted 3 lines · Chia-I Wu

Mark the address ranges as accessible with VALGRIND_MAKE_MEM_DEFINED.

lgtm. Applied to mater, thanks for the patch.
-Daniel

Quoted 37 lines
---
 intel/intel_bufmgr_gem.c | 7 +++++++
 1 file changed, 7 insertions(+)
intel/intel_bufmgr_gem.c +7 -0
index a51e3f3..f98f7a7 100644
@@ -1322,6 +1322,7 @@ int drm_intel_gem_bo_map_gtt(drm_intel_bo *bo)
 int drm_intel_gem_bo_map_unsynchronized(drm_intel_bo *bo)
 {
 	drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
+	drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
 	int ret;
 
 	/* If the CPU cache isn't coherent with the GTT, then use a
@@ -1335,7 +1336,13 @@ int drm_intel_gem_bo_map_unsynchronized(drm_intel_bo *bo)
 		return drm_intel_gem_bo_map_gtt(bo);
 
 	pthread_mutex_lock(&bufmgr_gem->lock);
+
 	ret = map_gtt(bo);
+	if (ret == 0) {
+		drm_intel_gem_bo_mark_mmaps_incoherent(bo);
+		VG(VALGRIND_MAKE_MEM_DEFINED(bo_gem->gtt_virtual, bo->size));
+	}
+
 	pthread_mutex_unlock(&bufmgr_gem->lock);
 
 	return ret;
Signature · 6 lines
1.8.3.1

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch