/*
* Calculate the number of objects and left-over bytes for a given buffer size.
*/
-static void cache_estimate(unsigned long gfporder, size_t buffer_size,
- unsigned long flags, size_t *left_over, unsigned int *num)
+static unsigned int cache_estimate(unsigned long gfporder, size_t buffer_size,
+ unsigned long flags, size_t *left_over)
{
+ unsigned int num;
size_t slab_size = PAGE_SIZE << gfporder;
/*
* correct alignment when allocated.
*/
if (flags & (CFLGS_OBJFREELIST_SLAB | CFLGS_OFF_SLAB)) {
- *num = slab_size / buffer_size;
+ num = slab_size / buffer_size;
*left_over = slab_size % buffer_size;
} else {
- *num = slab_size / (buffer_size + sizeof(freelist_idx_t));
+ num = slab_size / (buffer_size + sizeof(freelist_idx_t));
*left_over = slab_size %
(buffer_size + sizeof(freelist_idx_t));
}
+
+ return num;
}
#if DEBUG
unsigned int num;
size_t remainder;
- cache_estimate(gfporder, size, flags, &remainder, &num);
+ num = cache_estimate(gfporder, size, flags, &remainder);
if (!num)
continue;