vc4: Tell valgrind about BO allocations from mmap time to destroy.

This helps in debugging memory pressure.  It would be nice if we could
tell valgrind about it all the way from allocation time to destroy, but we
need a pointer to hand to VALGRIND_MALLOCLIKE_BLOCK.
This commit is contained in:
Eric Anholt
2016-08-02 15:01:59 -07:00
parent fd32868590
commit e97e9e62a1
2 changed files with 11 additions and 0 deletions
+1
View File
@@ -32,6 +32,7 @@ AM_CFLAGS = \
$(VC4_CFLAGS) \
$(GALLIUM_DRIVER_CFLAGS) \
$(SIM_CFLAGS) \
$(VALGRIND_CFLAGS) \
$()
noinst_LTLIBRARIES = libvc4.la
+10
View File
@@ -35,6 +35,14 @@
#include "vc4_context.h"
#include "vc4_screen.h"
#ifdef HAVE_VALGRIND
#include <valgrind.h>
#include <memcheck.h>
#define VG(x) x
#else
#define VG(x)
#endif
static bool dump_stats = false;
static void
@@ -209,6 +217,7 @@ vc4_bo_free(struct vc4_bo *bo)
}
#endif
munmap(bo->map, bo->size);
VG(VALGRIND_FREELIKE_BLOCK(bo->map, 0));
}
struct drm_gem_close c;
@@ -618,6 +627,7 @@ vc4_bo_map_unsynchronized(struct vc4_bo *bo)
bo->handle, (long long)offset, bo->size);
abort();
}
VG(VALGRIND_MALLOCLIKE_BLOCK(bo->map, bo->size, 0, false));
return bo->map;
}