On Tue, May 24, 2011 at 11:09 PM, Joe Perches joe@perches.com wrote:
On Tue, 2011-05-24 at 22:59 +0600, Rakib Mullick wrote:
On 5/23/11, Joe Perches joe@perches.com wrote:
On Mon, 2011-05-23 at 23:40 +0600, Rakib Mullick wrote:
Following patch removes the uses of 'kmalloc+memset' from various drivers subsystems, which is replaced by kzalloc. kzalloc take care of setting allocated memory with null, so it helps to get rid from using memset. diff --git a/drivers/gpu/drm/drm_scatter.c
b/drivers/gpu/drm/drm_scatter.c
[]
- entry->pagelist = kmalloc(pages * sizeof(*entry->pagelist),
GFP_KERNEL);
- entry->pagelist = kzalloc(pages * sizeof(*entry->pagelist),
GFP_KERNEL);
Perhaps it's better to use: entry->pagelist = kcalloc(pages, sizeof(*entry->pagelist),
GFP_KERNEL);
- entry->busaddr = kmalloc(pages * sizeof(*entry->busaddr),
GFP_KERNEL);
- entry->busaddr = kzalloc(pages * sizeof(*entry->busaddr),
GFP_KERNEL);
here too.
Is there any significant benefit of using kcalloc here?
Overflow and tradition.
static inline void *kcalloc(size_t n, size_t size, gfp_t flags) { if (size != 0 && n > ULONG_MAX / size) return NULL; return __kmalloc(n * size, flags | __GFP_ZERO); }
It's been used for allocating memory for an array. Maybe, using kcalloc in
entry->pagelist could be useful. But, not that much sure though. There's no problem with current implementation.
This patch touches few drivers subsystems, they are added to the CC list.
Thanks, Rakib
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
dri-devel@lists.freedesktop.org