summaryrefslogtreecommitdiff
path: root/vm/vm_resident.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm/vm_resident.c')
-rw-r--r--vm/vm_resident.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/vm/vm_resident.c b/vm/vm_resident.c
index e276fe68..e3e34dc3 100644
--- a/vm/vm_resident.c
+++ b/vm/vm_resident.c
@@ -771,6 +771,15 @@ vm_page_t vm_page_grab(void)
simple_lock(&vm_page_queue_free_lock);
+ /*
+ * XXX Mach has many modules that merely assume memory is
+ * directly mapped in kernel space. Instead of updating all
+ * users, we assume those which need specific physical memory
+ * properties will wire down their pages, either because
+ * they can't be paged (not part of an object), or with
+ * explicit VM calls. The strategy is then to let memory
+ * pressure balance the physical segments with pageable pages.
+ */
mem = vm_page_alloc_pa(0, VM_PAGE_SEL_DIRECTMAP, VM_PT_KERNEL);
if (mem == NULL) {