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:
parent
5bf53acb74
commit
0cc3ac8b6c
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user