Re: [PATCH] [media] v4l: vb2-memops: use vma slab when vma allocation
Mauro, Please revert this patch: vm_area_cachep is not exported, so you cannot use this in a module. Cho KyongHo, if you believe that vm_area_cachep should be exported so it can be used here, then please make a patch for that. For the time being though, this patch should be reverted. This patch slipped through the cracks and I clearly never reviewed it, and I only noticed the problem after I compiled the media_tree git repo after this patch was merged. Regards, Hans On 02/05/2015 06:52 AM, Cho KyongHo wrote: 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: Mauro Carvalho Chehab mche...@osg.samsung.com CC: Hans Verkuil hans.verk...@cisco.com CC: Laurent Pinchart laurent.pinch...@ideasonboard.com Signed-off-by: Cho KyongHo pullip@samsung.com --- drivers/media/v4l2-core/videobuf2-memops.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/v4l2-core/videobuf2-memops.c b/drivers/media/v4l2-core/videobuf2-memops.c index 81c1ad8..dd06efa 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); -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH] [media] v4l: vb2-memops: use vma slab when vma allocation
Hans, I didn't notice that vb2_put_vma is exported because I don't build modules. I am sorry about bothering you. Mauro, I think it is better to drop my patch out from your tree because I don't think it is not worth to export vm_area_cache_p to use it in vb2_put_vma. Regards, KyongHo -Original Message- From: Hans Verkuil [mailto:hverk...@xs4all.nl] Sent: Thursday, April 09, 2015 1:01 AM Mauro, Please revert this patch: vm_area_cachep is not exported, so you cannot use this in a module. Cho KyongHo, if you believe that vm_area_cachep should be exported so it can be used here, then please make a patch for that. For the time being though, this patch should be reverted. This patch slipped through the cracks and I clearly never reviewed it, and I only noticed the problem after I compiled the media_tree git repo after this patch was merged. Regards, Hans On 02/05/2015 06:52 AM, Cho KyongHo wrote: 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: Mauro Carvalho Chehab mche...@osg.samsung.com CC: Hans Verkuil hans.verk...@cisco.com CC: Laurent Pinchart laurent.pinch...@ideasonboard.com Signed-off-by: Cho KyongHo pullip@samsung.com --- drivers/media/v4l2-core/videobuf2-memops.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/v4l2-core/videobuf2-memops.c b/drivers/media/v4l2-core/videobuf2-memops.c index 81c1ad8..dd06efa 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); -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] [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: Mauro Carvalho Chehab mche...@osg.samsung.com CC: Hans Verkuil hans.verk...@cisco.com CC: Laurent Pinchart laurent.pinch...@ideasonboard.com Signed-off-by: Cho KyongHo pullip@samsung.com --- drivers/media/v4l2-core/videobuf2-memops.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/v4l2-core/videobuf2-memops.c b/drivers/media/v4l2-core/videobuf2-memops.c index 81c1ad8..dd06efa 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); -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html