2.6.39.3 nouveau_gart_manager_new() leaks memory (FIX)
Frank van Maarseveen
frankvm at frankvm.com
Thu Aug 4 03:39:48 PDT 2011
On Thu, Jul 28, 2011 at 12:07:53PM +0200, Frank van Maarseveen wrote:
> /proc/slabinfo shows an anomaly on a 2.6.39.3 x86_64 system. After
> running F14 + kde4 for a while it shows high kmalloc-192 numbers:
>
> # name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab>...
> kmalloc-192 735694 735723 264 31 2 : tunables 0 0 0 : slabdata 23733 23733 0
>
> Digging in /sys/kernel/slab/kmalloc-192/alloc_calls one line stands out:
>
> 701960 nouveau_gart_manager_new+0x5d/0xf0 age=24/7405655/87972315 pid=1-4920 cpus=0-3
>
> There are 709907 allocations total and according to
> /sys/kernel/slab/kmalloc-192/free_calls there are 52245 free
> calls total.
This seems to fix it:
diff -Nurp a/drivers/gpu/drm/nouveau/nouveau_mem.c b/drivers/gpu/drm/nouveau/nouveau_mem.c
--- a/drivers/gpu/drm/nouveau/nouveau_mem.c 2011-05-19 06:06:34.000000000 +0200
+++ b/drivers/gpu/drm/nouveau/nouveau_mem.c 2011-08-03 10:58:22.919205352 +0200
@@ -848,6 +848,7 @@ nouveau_gart_manager_del(struct ttm_mem_
nouveau_vm_unmap(&node->tmp_vma);
nouveau_vm_put(&node->tmp_vma);
}
+ kfree(node);
mem->mm_node = NULL;
}
--
Frank
More information about the dri-devel
mailing list