From: Michael Meissner Message-ID: <20000509131606.21347@cse.cygnus.com> Date: Tue, 9 May 2000 13:16:06 -0400 To: law AT cygnus DOT com Cc: Jamie Lokier , Laurynas Biveinis , gcc AT gcc DOT gnu DOT org, DJGPP Workers Subject: Re: Perfomance of gc-simple References: <20000508182530 DOT B30332 AT pcep-jamie DOT cern DOT ch> <3353 DOT 957812862 AT upchuck> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.84 In-Reply-To: <3353.957812862@upchuck>; from Jeffrey A Law on Mon, May 08, 2000 at 01:07:42PM -0600 Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Mon, May 08, 2000 at 01:07:42PM -0600, Jeffrey A Law wrote: > In message <20000508182530 DOT B30332 AT pcep-jamie DOT cern DOT ch>you write: > > Jeffrey A Law wrote: > > > Actually, older BSD systems (4.3 era) don't provide a usable > > > mmap implementation. > > > > What's broken? > Unfortunately, I don't remember offhand; I just know it doesn't work > the way we need and we fall back to valloc (which is rather wasteful > given BSD mallocs). IIRC, as stated originally BSD systems just reserved the system call vector, but did not implement it. Later implementations provided a mmap, but only allowed it's use to talk to special memory like the frame buffer. As an additional hinderence, there have been systems out there that supported mmap to files, but you could not intermix I/O via mmap and read/write without doing additional synchronization system calls (this was because the buffer cache did not know about mmap, so if data was in the buffer cache, and you modify it via mmap, when you reread the data, it would give you the earlier data). I know gc doesn't do I/O to files, but I just happened to think of it while writing the above paragrapph. -- Michael Meissner, Cygnus Solutions, a Red Hat company. PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886, USA Work: meissner AT redhat DOT com phone: +1 978-486-9304 Non-work: meissner AT spectacle-pond DOT org fax: +1 978-692-4482