From: KyongHo Cho Date: Thu, 5 Feb 2015 05:52:42 +0000 (-0300) Subject: [media] v4l: vb2-memops: use vma slab when vma allocation X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=5ed1c328ea077d70e1ebcd5188dc77cdc754df3a;p=linux-beck.git [media] v4l: vb2-memops: use vma slab when vma allocation The slab for vm_area_struct which is vm_area_cachep is already prepared for the general use. Instead of kmalloc() for the vma copy for userptr, allocation from vm_area_cachep is more beneficial. CC: Hans Verkuil CC: Laurent Pinchart Signed-off-by: Cho KyongHo Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/v4l2-core/videobuf2-memops.c b/drivers/media/v4l2-core/videobuf2-memops.c index 81c1ad8b2cf1..dd06efa667fd 100644 --- a/drivers/media/v4l2-core/videobuf2-memops.c +++ b/drivers/media/v4l2-core/videobuf2-memops.c @@ -37,7 +37,7 @@ struct vm_area_struct *vb2_get_vma(struct vm_area_struct *vma) { struct vm_area_struct *vma_copy; - vma_copy = kmalloc(sizeof(*vma_copy), GFP_KERNEL); + vma_copy = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); if (vma_copy == NULL) return NULL; @@ -75,7 +75,7 @@ void vb2_put_vma(struct vm_area_struct *vma) if (vma->vm_file) fput(vma->vm_file); - kfree(vma); + kmem_cache_free(vm_area_cachep, vma); } EXPORT_SYMBOL_GPL(vb2_put_vma);