Linux does not filesystem-sync file-backed writable mmap pages on

a regular basis.  Adjust our linux emulation to conform.  This will
cause more dirty pages to be left for the pagedaemon to deal with,
but our new low-memory handling code can deal with it.   The linux
way appears to be a trend, and we may very well make MAP_NOSYNC the
default for FreeBSD as well (once we have reasonable sequential
write-behind heuristics for random faults).
(will be MFC'd prior to 4.3 freeze)

Suggested by: Andrew Gallatin
This commit is contained in:
Matthew Dillon 2001-02-28 04:30:27 +00:00
parent 5bf53acb74
commit 0cc3ac8b6c

View File

@ -326,6 +326,8 @@ linux_mmap(struct proc *p, struct linux_mmap_args *args)
bsd_args.flags |= MAP_FIXED;
if (linux_args.flags & LINUX_MAP_ANON)
bsd_args.flags |= MAP_ANON;
else
bsd_args.flags |= MAP_NOSYNC;
if (linux_args.flags & LINUX_MAP_GROWSDOWN) {
bsd_args.flags |= MAP_STACK;