Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Sep 1998 19:46:00 -0700
From:      Mike Smith <mike@smith.net.au>
To:        Doug Rabson <dfr@FreeBSD.ORG>
Cc:        cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/lib/libstand ufs.c 
Message-ID:  <199809210246.TAA02481@word.smith.net.au>
In-Reply-To: Your message of "Sun, 20 Sep 1998 14:42:21 PDT." <199809202142.OAA15594@freefall.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> dfr         1998/09/20 14:42:21 PDT
> 
>   Modified files:
>     lib/libstand         ufs.c 
>   Log:
>   Allocate disk buffers using a custom allocator.  The standard allocator
>   fragments extremely badly if disk buffers are freed back into the main 
>   heap and the alpha bootstrap has a restricted address space which just 
>   ran out :-(.

If anyone has a generic malloc implementation that optimises for minimum
heap usage, robustness and small code footprint that we can use, I'd
love to see it.  The Mach-derived allocator we're currently using is
snot, and I'd dearly love to kill it.

The allocation profile of the bootstrap is moderately messy; there's a
lot of small object allocation/freeing (mostly strings containing
pathnames, etc.) and some large objects (eg. UFS blocks, ether
datagrams, etc.) of disparate sizes.

Size is pretty important, eg. comparing with the libc malloc:

word:/tmp>size *.o
text    data    bss     dec     hex
464     16      12      492     1ec     alloc.o
6688    32      88      6808    1a98    malloc.o

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809210246.TAA02481>