freebsd-src/sys/vm
Alan Cox 782e896088 Add support for pmap_enter(..., psind=1) to the amd64 pmap. In other words,
add support for explicitly requesting that pmap_enter() create a 2MB page
mapping.  (Essentially, this feature allows the machine-independent layer to
create superpage mappings preemptively, and not wait for automatic promotion
to occur.)

Export pmap_ps_enabled() to the machine-independent layer.

Add a flag to pmap_pv_insert_pde() that specifies whether it should fail or
reclaim a PV entry when one is not available.

Refactor pmap_enter_pde() into two functions, one by the same name, that is
a general-purpose function for creating PDE PG_PS mappings, and another,
pmap_enter_2mpage(), that is used to prefault 2MB read- and/or execute-only
mappings for execve(2), mmap(2), and shmat(2).

Submitted by:	Yufeng Zhou <yz70@rice.edu> (an earlier version)
Reviewed by:	kib, markj
Tested by:	pho
MFC after:	10 days
Differential Revision:	https://reviews.freebsd.org/D11556
2017-07-23 06:33:58 +00:00
..
_vm_radix.h Add pctrie_init() and vm_radix_init() to initialize generic pctrie and 2017-07-19 20:52:47 +00:00
default_pager.c Provide introductory description of the default pager. 2016-12-14 23:36:32 +00:00
device_pager.c All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
memguard.c All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
memguard.h
phys_pager.c Implement the populate() pager method for phys pager. 2016-12-08 11:35:53 +00:00
pmap.h Add support for pmap_enter(..., psind=1) to the amd64 pmap. In other words, 2017-07-23 06:33:58 +00:00
redzone.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
redzone.h
sg_pager.c All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
swap_pager.c Remove unused function swap_pager_isswapped(). 2017-07-19 17:28:46 +00:00
swap_pager.h Remove unused function swap_pager_isswapped(). 2017-07-19 17:28:46 +00:00
uma.h Update a comment to reflect reality. 2017-03-13 18:45:25 +00:00
uma_core.c When we are in UMA_STARTUP use startup_alloc() for any zone, not for 2017-06-08 21:33:19 +00:00
uma_dbg.c Fix memguard(9) in kernels with INVARIANTS enabled. 2016-06-01 22:31:35 +00:00
uma_dbg.h Move uma_dbg_alloc() and uma_dbg_free() into uma_core.c, which allows 2016-02-03 22:02:36 +00:00
uma_int.h uma: eliminate uk_slabsize field 2017-03-11 16:35:36 +00:00
vm.h Implement address space guards. 2017-06-24 17:01:11 +00:00
vm_domain.c Remove cpu_spinwait after seq_consistent. 2016-12-30 06:26:17 +00:00
vm_domain.h Add an initial NUMA affinity/policy configuration for threads and processes. 2015-07-11 15:21:37 +00:00
vm_extern.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_fault.c Implement address space guards. 2017-06-24 17:01:11 +00:00
vm_glue.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_init.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_kern.c Use atop() instead of OFF_TO_IDX() for convertion of addresses or 2017-03-14 19:39:17 +00:00
vm_kern.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_map.c Disable stack growth when accessed by AIO daemons. 2017-07-19 19:00:32 +00:00
vm_map.h Treat the addr argument for mmap(2) request without MAP_FIXED flag as 2017-06-28 04:02:36 +00:00
vm_meter.c Emulate pre-r317061 ABI. 2017-05-02 18:40:41 +00:00
vm_mmap.c Treat the addr argument for mmap(2) request without MAP_FIXED flag as 2017-06-28 04:02:36 +00:00
vm_object.c Do not allocate struct kinfo_vmobject on stack. 2017-07-22 13:33:06 +00:00
vm_object.h Fix style: change spaces to tabs. 2017-07-21 14:14:47 +00:00
vm_page.c In vm_page_ps_test(), always check that the base pages within the specified 2017-07-23 05:54:56 +00:00
vm_page.h Generalize vm_page_ps_is_valid() to support testing other predicates on 2017-07-14 02:15:48 +00:00
vm_pageout.c Increase the pageout cluster size to 32 pages. 2017-06-24 17:10:33 +00:00
vm_pageout.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_pager.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_pager.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vm_param.h Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
vm_phys.c Ifdef out the unused vm_rr_selectdomain(). 2017-02-02 17:44:55 +00:00
vm_phys.h Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
vm_radix.c Add pctrie_init() and vm_radix_init() to initialize generic pctrie and 2017-07-19 20:52:47 +00:00
vm_radix.h Add pctrie_init() and vm_radix_init() to initialize generic pctrie and 2017-07-19 20:52:47 +00:00
vm_reserv.c All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
vm_reserv.h Relax the object type restrictions on vm_page_alloc_contig(). Specifically, 2016-12-28 18:32:13 +00:00
vm_unix.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
vnode_pager.c Some minor improvements to vnode_pager_generic_putpages(). 2017-06-15 14:34:33 +00:00
vnode_pager.h Extract calculation of ioflags from the vm_pager_putpages flags into a 2017-04-05 16:56:04 +00:00