[PATCH 1/2] drm/ttm: ensure ttm_mem_io_free is called on bo destruction
thomas at shipmail.org
Thu Nov 4 04:24:29 PDT 2010
On 11/04/2010 01:03 AM, Ben Skeggs wrote:
> From: Ben Skeggs<bskeggs at redhat.com>
> Nouveau will start to use ttm_mem_io_reserve to allocate BAR VM space
> for VRAM mappings, and without this call GPU address space gets leaked.
> Signed-off-by: Ben Skeggs<bskeggs at redhat.com>
> drivers/gpu/drm/ttm/ttm_bo.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index dfa163b..c373cf9 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -472,6 +472,7 @@ static void ttm_bo_cleanup_memtype_use(struct ttm_buffer_object *bo)
> + ttm_mem_io_free(bo->bdev,&tmp_mem);
Ideally this should be done after the last VMA is closed, but since we
don't count VMAs currently. This place is just as good.
However, the mem members are strictly protected by bo::reserve, so we
should place this before we unreserve in the same function, Please use
drm-next where ttm_bo_mem_put() is placed just before the unreserve as well.
More information about the dri-devel