]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Be more aggressive in using superpages in all mappings of objects:
authorjhb <jhb@FreeBSD.org>
Fri, 19 Jul 2013 19:06:15 +0000 (19:06 +0000)
committerjhb <jhb@FreeBSD.org>
Fri, 19 Jul 2013 19:06:15 +0000 (19:06 +0000)
commitd67e7a1cc9054fbcf546edfe5ebc03bb5e29d4ca
tree7777baf0c52b0b66567d2147e4ab8ed497fc8e3c
parent7dbfd863d4e1dcba1978d736ffc507f0e23eaf26
Be more aggressive in using superpages in all mappings of objects:
- Add a new address space allocation method (VMFS_OPTIMAL_SPACE) for
  vm_map_find() that will try to alter the alignment of a mapping to match
  any existing superpage mappings of the object being mapped.  If no
  suitable address range is found with the necessary alignment,
  vm_map_find() will fall back to using the simple first-fit strategy
  (VMFS_ANY_SPACE).
- Change mmap() without MAP_FIXED, shmat(), and the GEM mapping ioctl to
  use VMFS_OPTIMAL_SPACE instead of VMFS_ANY_SPACE.

Reviewed by: alc (earlier version)
MFC after: 2 weeks
sys/dev/drm2/i915/i915_gem.c
sys/kern/sysv_shm.c
sys/vm/vm_map.c
sys/vm/vm_map.h
sys/vm/vm_mmap.c