Proposed addition of malloc_size_np()
Jason Evans
jasone at FreeBSD.org
Sat Mar 25 19:11:34 UTC 2006
John-Mark Gurney wrote:
> Jason Evans wrote this message on Sat, Mar 25, 2006 at 00:23 -0800:
>
>>have to store the precise allocation request size; it can instead round
>>the request size up internally, then treat the allocation as being of
>>this rounded up size. By vaguely specifying the return value of
>>malloc_size_np(), we grant the malloc implementation freedom as to
>>whether the size is precisely what was specified during allocation, or
>>some rounded up value.
>>
>>I had no intention of suggesting that malloc_size_np() should extend
>>existing allocations, nor change the return value depending on the
>>current state of memory following the allocation pointed to by ptr.
>
> Ok, so what you are saying is that the function returns the size of
> the bucket (if any) that the memory was allocated from... But even
> though this function may return a larger value, the program is not
> allowed to use extra space, and it's only useful for further
> allocations of the same size?
I'm saying that malloc_size_np() returns the size of the allocation, to
the best of the allocator's knowledge. If you malloc(17), and
malloc_size_np() returns 32 for that allocation, then you can treat it
as a 32-byte allocation. However, the malloc implementation could
conceivably return any value >=17.
Jason
More information about the freebsd-arch
mailing list