svn commit: r270883 - head/sys/kern

Alan Cox alc at FreeBSD.org
Sun Aug 31 17:38:42 UTC 2014


Author: alc
Date: Sun Aug 31 17:38:41 2014
New Revision: 270883
URL: http://svnweb.freebsd.org/changeset/base/270883

Log:
  Automatically prefault a limited number of mappings to resident pages in
  shmat(2), just like mmap(2).
  
  MFC after:	5 days
  Sponsored by:	EMC / Isilon Storage Division

Modified:
  head/sys/kern/sysv_shm.c

Modified: head/sys/kern/sysv_shm.c
==============================================================================
--- head/sys/kern/sysv_shm.c	Sun Aug 31 17:21:51 2014	(r270882)
+++ head/sys/kern/sysv_shm.c	Sun Aug 31 17:38:41 2014	(r270883)
@@ -410,9 +410,9 @@ kern_shmat(td, shmid, shmaddr, shmflg)
 	}
 
 	vm_object_reference(shmseg->object);
-	rv = vm_map_find(&p->p_vmspace->vm_map, shmseg->object,
-	    0, &attach_va, size, 0, shmaddr != NULL ? VMFS_NO_SPACE :
-	    VMFS_OPTIMAL_SPACE, prot, prot, MAP_INHERIT_SHARE);
+	rv = vm_map_find(&p->p_vmspace->vm_map, shmseg->object, 0, &attach_va,
+	    size, 0, shmaddr != NULL ? VMFS_NO_SPACE : VMFS_OPTIMAL_SPACE,
+	    prot, prot, MAP_INHERIT_SHARE | MAP_PREFAULT_PARTIAL);
 	if (rv != KERN_SUCCESS) {
 		vm_object_deallocate(shmseg->object);
 		error = ENOMEM;


More information about the svn-src-head mailing list