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>