Re: Proposed addition of malloc_size_np()




On Sat, 25 Mar 2006, Jason Evans wrote:

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.

I wonder if the intuitive objection people are raising is actually with the name. Since malloc_size() is defined on at least one platform to return the requested size, maybe a name like malloc_allocated_size() (or something a bit more compact) would help avoid that confusion, and make it clear that the consumer is getting back a commitment and not a hint for future realloc(), etc.

Robert N M Watson
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: How to release heap memory that is marked as free
    ... As I said, fragmentation is a very serious problem, and one of the most serious problems ... my allocator was accused of using massive amounts of memory. ... I'm going to have to re-think the memory allocation that I'm ... process's 'working set'. ...
    (microsoft.public.vc.mfc)
  • Re: [PATCH 00/28] Swap over NFS -v16
    ... memory they can consume. ... So we need the extra (skb) ... included in the reserve? ... if the allocation had to dip into emergency reserves, ...
    (Linux-Kernel)
  • Re: Memory leak with CAsyncSocket::Create
    ... read my essay on how storage allocators work. ... Create method is consuming system memory that is not released back to ... The memory consumption is either shown as "Mem Usage" on the Task ... many levels of allocation going ...
    (microsoft.public.vc.mfc)
  • Re: OT: C++ overloading operators
    ... dynamic allocation, no matter how many "clever tricks" are used... ... though there's enough memory in the system, ... all these "flexible data types" map into CPU command ... The computing environment is completely ...
    (comp.dsp)
  • Re: HLA Lib
    ... All memory allocation is freed up when the process quits. ... reduce need to resize blocks for 98% string operations. ... HLA strings already consume. ...
    (alt.lang.asm)