* Matt Dillon <[EMAIL PROTECTED]> [010930 14:59] wrote:
> 
> :
> :In message <[EMAIL PROTECTED]>, Matt Dillon writes:
> :>:  Second, application not always grows to 1G, most of the time it keeps
> :>:  as small as 500M ;). Why should we precommit 1G for 500M data? Doing
> :>:  multi-mmap memory management is additional pain.
> :>
> :>    Even using file-backed memory is fairly trivial.  You don't need to
> :>    do multi-mmap memory management or do any kernel tweaking.  Just
> :>    reserve 1G and use a single mmap() and file per process.
> :
> :I once had a patch to phkmalloc() which backed all malloc'ed VM with
> :hidden files in the users homedir.  It was written to put the VM
> :usage under QUOTA control, but it had many useful side effects as well.
> :
> :I can't seem to find it right now, but it is trivial to do: just
> :replace the sbrk(2) with mmap().  Only downside is the needed 
> :filedescriptor which some shells don't like.
> :
> :-- 
> :Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
> :[EMAIL PROTECTED]         | TCP/IP since RFC 956
> 
>     I think the file descriptor problem can be solved easily... simply
>     open the file, mmap() the entire 1G segment for this special application,
>     and then close() the file.  Then have sbrk() just eats out of the mapped 
>     segment.  Alternatively sbrk() could open/mmap/close in large 1MB or 4MB
>     segments, again leaving no file descriptors dangling.
Won't that cause fragmentation?  You're forgettng the need to 
ftruncate or pre-zero the file unless that's been fixed.

-- 
-Alfred Perlstein [[EMAIL PROTECTED]]
'Instead of asking why a piece of software is using "1970s technology,"
start asking why software is ignoring 30 years of accumulated wisdom.'

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to