Hello all,
I am using drm_intel to access the HW. I would like to know if there is any way to know if my application frees all the bos I used. I would like to be sure I cleanly freed my resources and no bo is still referenced. Is there any tool in the memory allocation part of drm_intel to do that?
Thanks!
Ben
On Fri, 25 Mar 2011 23:36:33 -0700, "Segovia, Benjamin" benjamin.segovia@intel.com wrote:
Hello all,
I am using drm_intel to access the HW. I would like to know if there is any way to know if my application frees all the bos I used. I would like to be sure I cleanly freed my resources and no bo is still referenced. Is there any tool in the memory allocation part of drm_intel to do that?
valgrind.
The kernel releases all client references upon termination. -Chris
OK. Two last questions to be sure that I am doing correct things.
1/ I have to use an external tool to check leaks. Nothing to track per-process allocation from the kernel or from drm_intel?
2/ From libva and Mesa, I guessed that the correct way to use drm_intel for everything which is temporary (like a batch-buffer) is just to do:
- drm_intel_alloc - drm_intel_exec (for example) - drm_intel_unreference
Basically, I do _not_ have to be concerned about allocation overhead and how to reuse buffers: this is the role of libdrm_intel. Is it correct?
Thanks for your help.
Cheers, Ben
-----Original Message----- From: Chris Wilson [mailto:chris@chris-wilson.co.uk] Sent: Saturday, March 26, 2011 12:21 AM To: Segovia, Benjamin; DRI Subject: Re: Tracking drm_intel_bo allocation
On Fri, 25 Mar 2011 23:36:33 -0700, "Segovia, Benjamin" benjamin.segovia@intel.com wrote:
Hello all,
I am using drm_intel to access the HW. I would like to know if there is any way to know if my application frees all the bos I used. I would like to be sure I cleanly freed my resources and no bo is still referenced. Is there any tool in the memory allocation part of drm_intel to do that?
valgrind.
The kernel releases all client references upon termination. -Chris
On Fri, 25 Mar 2011 23:36:33 -0700, "Segovia, Benjamin" benjamin.segovia@intel.com wrote:
Hello all,
I am using drm_intel to access the HW. I would like to know if there is any way to know if my application frees all the bos I used. I would like to be sure I cleanly freed my resources and no bo is still referenced. Is there any tool in the memory allocation part of drm_intel to do that?
I've used the drm_intel_bufmgr_set_debug() plus post-processing to catch major leaks before.
#!/usr/bin/awk -f
/bo_create:/ { botype[$4]++; } /bo_unreference final:/ { botype[$4]--; }
END { for (name in botype) { printf("%s: %d\n", name, botype[name]) } }
dri-devel@lists.freedesktop.org