Re: [PATCH 1/3] slab: introduce krealloc

From: Christoph Lameter
Date: Wed Feb 21 2007 - 12:53:39 EST


On Wed, 21 Feb 2007, Pekka J Enberg wrote:

> +void *krealloc(const void *p, size_t new_size, gfp_t flags)
> +{
> + void *ret;
> +
> + if (unlikely(!p))
> + return kmalloc_track_caller(new_size, flags);
> +
> + if (unlikely(!new_size)) {
> + kfree(p);
> + return NULL;
> + }
> +
> + ret = kmalloc_track_caller(new_size, flags);
> + if (!ret)
> + return NULL;
> +
> + memcpy(ret, p, min(new_size, ksize(p)));
> + kfree(p);
> + return ret;
> +}
> +EXPORT_SYMBOL(krealloc);

Well could you check ksize for the old object first and if ksize <= new
size then just skip the copy? I think this may allow you
to get rid of the ksize callers.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/