Date: Mon, 18 Jul 2011 14:32:36 +0200 From: Uffe Jakobsen <uffe@uffe.org> To: freebsd-hackers@freebsd.org Subject: [PATCH] sysctl cleanup - unifying sysctls: vm.kvm_size and vm.kvm_free Message-ID: <4E2427E4.5080201@uffe.org>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------050702030708090303000702 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Please consider this patch - it unifies sysctls: vm.kvm_size and vm.kvm_free. Currently these sysctls are only found under i386 and amd64: sys/i386/i386/pmap.c sys/i386/xen/pmap.c sys/amd64/amd64/pmap.c It seems logical (to me) to move them into a generic location suce as sys/vm/vm_kern.c Patch against HEAD (revision 224180) attached. Kind regards Uffe Jakobsen --------------050702030708090303000702 Content-Type: text/plain; name="sysctl_vm_kvm.patch.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="sysctl_vm_kvm.patch.txt" Index: sys/vm/vm_kern.c =================================================================== --- sys/vm/vm_kern.c (revision 224180) +++ sys/vm/vm_kern.c (working copy) @@ -588,6 +588,26 @@ kmem_init_zero_region(); } +static int +kvm_size(SYSCTL_HANDLER_ARGS) +{ + unsigned long ksize = VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS; + + return sysctl_handle_long(oidp, &ksize, 0, req); +} +SYSCTL_PROC(_vm, OID_AUTO, kvm_size, CTLTYPE_LONG|CTLFLAG_RD, + 0, 0, kvm_size, "LU", "Size of KVM"); + +static int +kvm_free(SYSCTL_HANDLER_ARGS) +{ + unsigned long kfree = VM_MAX_KERNEL_ADDRESS - kernel_vm_end; + + return sysctl_handle_long(oidp, &kfree, 0, req); +} +SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG|CTLFLAG_RD, + 0, 0, kvm_free, "LU", "Amount of KVM free"); + #ifdef DIAGNOSTIC /* * Allow userspace to directly trigger the VM drain routine for testing Index: sys/i386/i386/pmap.c =================================================================== --- sys/i386/i386/pmap.c (revision 224180) +++ sys/i386/i386/pmap.c (working copy) @@ -2042,27 +2042,7 @@ } PMAP_LOCK_DESTROY(pmap); } - -static int -kvm_size(SYSCTL_HANDLER_ARGS) -{ - unsigned long ksize = VM_MAX_KERNEL_ADDRESS - KERNBASE; - return (sysctl_handle_long(oidp, &ksize, 0, req)); -} -SYSCTL_PROC(_vm, OID_AUTO, kvm_size, CTLTYPE_LONG|CTLFLAG_RD, - 0, 0, kvm_size, "IU", "Size of KVM"); - -static int -kvm_free(SYSCTL_HANDLER_ARGS) -{ - unsigned long kfree = VM_MAX_KERNEL_ADDRESS - kernel_vm_end; - - return (sysctl_handle_long(oidp, &kfree, 0, req)); -} -SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG|CTLFLAG_RD, - 0, 0, kvm_free, "IU", "Amount of KVM free"); - /* * grow the number of kernel page table entries, if needed */ Index: sys/i386/xen/pmap.c =================================================================== --- sys/i386/xen/pmap.c (revision 224180) +++ sys/i386/xen/pmap.c (working copy) @@ -1856,27 +1856,7 @@ mtx_unlock(&createdelete_lock); #endif } - -static int -kvm_size(SYSCTL_HANDLER_ARGS) -{ - unsigned long ksize = VM_MAX_KERNEL_ADDRESS - KERNBASE; - return sysctl_handle_long(oidp, &ksize, 0, req); -} -SYSCTL_PROC(_vm, OID_AUTO, kvm_size, CTLTYPE_LONG|CTLFLAG_RD, - 0, 0, kvm_size, "IU", "Size of KVM"); - -static int -kvm_free(SYSCTL_HANDLER_ARGS) -{ - unsigned long kfree = VM_MAX_KERNEL_ADDRESS - kernel_vm_end; - - return sysctl_handle_long(oidp, &kfree, 0, req); -} -SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG|CTLFLAG_RD, - 0, 0, kvm_free, "IU", "Amount of KVM free"); - /* * grow the number of kernel page table entries, if needed */ Index: sys/amd64/amd64/pmap.c =================================================================== --- sys/amd64/amd64/pmap.c (revision 224180) +++ sys/amd64/amd64/pmap.c (working copy) @@ -1926,27 +1926,7 @@ vm_page_free_zero(m); PMAP_LOCK_DESTROY(pmap); } - -static int -kvm_size(SYSCTL_HANDLER_ARGS) -{ - unsigned long ksize = VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS; - return sysctl_handle_long(oidp, &ksize, 0, req); -} -SYSCTL_PROC(_vm, OID_AUTO, kvm_size, CTLTYPE_LONG|CTLFLAG_RD, - 0, 0, kvm_size, "LU", "Size of KVM"); - -static int -kvm_free(SYSCTL_HANDLER_ARGS) -{ - unsigned long kfree = VM_MAX_KERNEL_ADDRESS - kernel_vm_end; - - return sysctl_handle_long(oidp, &kfree, 0, req); -} -SYSCTL_PROC(_vm, OID_AUTO, kvm_free, CTLTYPE_LONG|CTLFLAG_RD, - 0, 0, kvm_free, "LU", "Amount of KVM free"); - /* * grow the number of kernel page table entries, if needed */ --------------050702030708090303000702--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E2427E4.5080201>