[media] v4l: vb2-memops: use vma slab when vma allocation
authorKyongHo Cho <pullip.cho@samsung.com>
Thu, 5 Feb 2015 05:52:42 +0000 (02:52 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 8 Apr 2015 10:56:52 +0000 (07:56 -0300)
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 <hans.verkuil@cisco.com>
CC: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/v4l2-core/videobuf2-memops.c

index 81c1ad8b2cf1eb9582443273c427720be71b04d7..dd06efa667fd8ba8c5f00e378d0474c906523eae 100644 (file)
@@ -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);
 
This page took 0.027252 seconds and 5 git commands to generate.