Module Name: src
Committed By: jdolecek
Date: Mon Jan 7 22:48:01 UTC 2019
Modified Files:
src/sys/uvm: uvm_meter.c uvm_page.h
Log Message:
add sysctl to easily set ubc_direct
PR kern/53124
To generate a diff of this commit:
cvs rdiff -u -r1.68 -r1.69 src/sys/uvm/uvm_meter.c
cvs rdiff -u -r1.83 -r1.84 src/sys/uvm/uvm_page.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/uvm/uvm_meter.c
diff -u src/sys/uvm/uvm_meter.c:1.68 src/sys/uvm/uvm_meter.c:1.69
--- src/sys/uvm/uvm_meter.c:1.68 Mon Sep 3 16:29:37 2018
+++ src/sys/uvm/uvm_meter.c Mon Jan 7 22:48:01 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_meter.c,v 1.68 2018/09/03 16:29:37 riastradh Exp $ */
+/* $NetBSD: uvm_meter.c,v 1.69 2019/01/07 22:48:01 jdolecek Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_meter.c,v 1.68 2018/09/03 16:29:37 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_meter.c,v 1.69 2019/01/07 22:48:01 jdolecek Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -295,6 +295,14 @@ SYSCTL_SETUP(sysctl_vm_setup, "sysctl vm
SYSCTL_DESCR("Guard size of other threads"),
NULL, 0, &user_thread_stack_guard_size, 0,
CTL_VM, VM_THREAD_GUARD_SIZE, CTL_EOL);
+#ifdef PMAP_DIRECT
+ sysctl_createv(clog, 0, NULL, NULL,
+ CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
+ CTLTYPE_BOOL, "ubc_direct",
+ SYSCTL_DESCR("Use direct map for UBC I/O"),
+ NULL, 0, &ubc_direct, 0,
+ CTL_VM, CTL_CREATE, CTL_EOL);
+#endif
uvmpdpol_sysctlsetup();
}
Index: src/sys/uvm/uvm_page.h
diff -u src/sys/uvm/uvm_page.h:1.83 src/sys/uvm/uvm_page.h:1.84
--- src/sys/uvm/uvm_page.h:1.83 Sat May 19 15:03:26 2018
+++ src/sys/uvm/uvm_page.h Mon Jan 7 22:48:01 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_page.h,v 1.83 2018/05/19 15:03:26 jdolecek Exp $ */
+/* $NetBSD: uvm_page.h,v 1.84 2019/01/07 22:48:01 jdolecek Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -337,6 +337,7 @@ struct vm_page *uvm_phys_to_vm_page(padd
paddr_t uvm_vm_page_to_phys(const struct vm_page *);
#if defined(PMAP_DIRECT)
+extern bool ubc_direct;
int uvm_direct_process(struct vm_page **, u_int, voff_t, vsize_t,
int (*)(void *, size_t, void *), void *);
#endif