Mail Archives: djgpp-workers/2000/05/09/12:43:22
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
- Raw text -