Re: [Unionfs] Re: [-mm patch] UNION_FS must depend on SLAB

From: hooanon05
Date: Tue Feb 20 2007 - 22:56:04 EST



Josef Sipek:
> That's the only user of malloc_sizes. It is supposed to be an optimization -
> we get the smallest sized piece of memory even if we don't need all of it.
> This way we don't reallocate & memcpy needlessly.

How about exporting ksize to modules, and introduce a new function such
like this?
Of course, adding gfp_t to its parameter list make this function more generic.

void *kzrealloc(void *p, int nused, int new_sz)
{
void *q;

if (new_sz <= nused)
return p;
if (new_sz <= ksize(p)) {
memset(p + nused, 0, new_sz - nused);
return p;
}

q = kmalloc(new_sz, GFP_KERNEL);
if (unlikely(!q))
return NULL;
memcpy(q, p, nused);
memset(q + nused, 0, new_sz - nused);
kfree(p);
return q;
}


Junjiro Okajima
-
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/