From owner-freebsd-arch@FreeBSD.ORG Wed Mar 29 08:48:36 2006 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DC24C16A420 for ; Wed, 29 Mar 2006 08:48:36 +0000 (UTC) (envelope-from gni@gecko.de) Received: from kirk.baltic.net (kirk.baltic.net [193.189.247.10]) by mx1.FreeBSD.org (Postfix) with SMTP id 8CBFB43D46 for ; Wed, 29 Mar 2006 08:48:34 +0000 (GMT) (envelope-from gni@gecko.de) Received: (qmail 28899 invoked from network); 29 Mar 2006 10:16:16 -0000 Received: from waldorf.gecko.de (HELO asterix.int.gecko.de) (193.189.247.200) by kirk.baltic.net with SMTP; 29 Mar 2006 10:16:16 -0000 Received: from kermit.int.gecko.de [192.168.120.252] by asterix.int.gecko.de; Wed, 29 Mar 2006 10:48:45 +0200 Received: from lorien.int.gecko.de (lorien [192.168.120.159]) by kermit.int.gecko.de (8.12.10+Sun/8.12.10) with ESMTP id k2T8mHI1000016; Wed, 29 Mar 2006 10:48:17 +0200 (CEST) Received: from lorien.int.gecko.de (localhost [127.0.0.1]) by lorien.int.gecko.de (8.12.9/8.12.9) with ESMTP id k2T8mqBu065724; Wed, 29 Mar 2006 10:48:52 +0200 (MEST) (envelope-from munk@lorien.int.gecko.de) Received: (from munk@localhost) by lorien.int.gecko.de (8.12.9/8.12.9/Submit) id k2T8mkIK065723; Wed, 29 Mar 2006 10:48:46 +0200 (MEST) Date: Wed, 29 Mar 2006 10:48:46 +0200 From: Gunther Nikl To: Peter Jeremy Message-ID: <20060329084846.GA65703@lorien.int.gecko.de> References: <44247DF1.8000002@FreeBSD.org> <20060326110929.V35431@fledge.watson.org> <4426D7A0.4040007@FreeBSD.org> <200603271110.02917.jhb@freebsd.org> <44281421.3060401@FreeBSD.org> <20060327185017.GF7001@funkthat.com> <352D1430-CC72-47EE-9E50-B1C4404ACA95@FreeBSD.org> <20060328091153.GC961@turion.vk2pj.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060328091153.GC961@turion.vk2pj.dyndns.org> User-Agent: Mutt/1.4.2.1i Cc: Jason Evans , freebsd-arch@freebsd.org Subject: Re: Proposed addition of malloc_size_np() X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Mar 2006 08:48:36 -0000 On Tue, Mar 28, 2006 at 08:11:53PM +1100, Peter Jeremy wrote: > On Mon, 2006-Mar-27 12:52:17 -0800, Jason Evans wrote: > >void * > >malloc(size_t size); > > > >void * > >calloc(size_t size); > > > >void * > >realloc(void *ptr, size_t size, size_t old_size); > > > >void > >free(void *ptr, size_t size); > > ISTR AmigaDOS did something like this (my autodocs are packed away > somewhere so I can't quickly check). FYI, its AllocMem (which also has a flags argument) and FreeMem. Later AllocVec (caching the size) and FreeVec were added to the system. Since using these system functins will lead to fragmented memory new functions were added using pools. An anpplication allocated a pool and then allocated from that pool. Then it could free individual allocations or deallocate the pool which would release all memory from the pool at once. Gunther