Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Oct 1997 18:15:56 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        angio@angio.net (Dave Andersen)
Cc:        perlsta@cs.sunyit.edu, hackers@FreeBSD.ORG
Subject:   Re: help with fstat?
Message-ID:  <199710271815.LAA23283@usr04.primenet.com>
In-Reply-To: <199710270258.TAA02224@meowy.angio.net> from "Dave Andersen" at Oct 26, 97 07:58:46 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > unless mmap() maps in on demand... but i think i'll be eating up all my
> > address space...
> 
>    Pages that you mmap are only paged in on demand.  The simple act of
> mmapping a file doesn't cause it to be read in to memory.
> 
>    You're not going to eat up your address space with a few mmapped
> files per process.  Remember, you're dealing with a 32 bit address
> space - you could map in gigabytes per process and not have to worry.
> 
>    Remember also that each process has its own virtual address space.
> They can't "collide" with each other in some way.  Each process could 
> mmap huge chunks and you'd never have to worry.

Except if you linearly traverse the mapped file, and it's a big file.
Then it will force almost all other clean pages out of core via LRU.

So you can thrash the paging algorithm this way.

But you can also thrash it (albiet less quickly) using reads.

There used to be a MAP_SEQUENTIAL flag to get it to discard buffers
after they had been accesed, instead of forcing more pages off the
LRU, but BSD doesn't support this.  8-(.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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