:
:OK. In fact my problem was just a printf that allocated a buffer via
:__smakebuf at the very last moment (when all memory was allocated).
:This prevent free() to give back all previous pages up to this one. The
:problem was _not_ in malloc.c.
:
:Anyway, i learned a lot from hacking the source to catch the caller.
:Thanks.
:
:RN.
:IhM

    Not to mention library routines which might malloc() something and
    keep it around.

    I find that the best way to allocate a large chunk of memory is to
    use mmap( ... MAP_ANON ... ).  That way you have complete control
    over the memory.  You need only page-align the request size
    (getpagesize() helps there).  You can then manage the memory with
    madvise(), and free it completely with munmap().

                                                -Matt



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to