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>
{
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;
if (vma->vm_file)
fput(vma->vm_file);
- kfree(vma);
+ kmem_cache_free(vm_area_cachep, vma);
}
EXPORT_SYMBOL_GPL(vb2_put_vma);