Module Name: src Committed By: pooka Date: Wed Apr 22 16:42:24 UTC 2015
Modified Files: src/sys/kern: init_sysctl.c kern_clock.c Log Message: move clock sysctls from init_sysctl.c to kern_clock.c To generate a diff of this commit: cvs rdiff -u -r1.204 -r1.205 src/sys/kern/init_sysctl.c cvs rdiff -u -r1.131 -r1.132 src/sys/kern/kern_clock.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/init_sysctl.c diff -u src/sys/kern/init_sysctl.c:1.204 src/sys/kern/init_sysctl.c:1.205 --- src/sys/kern/init_sysctl.c:1.204 Sun Aug 3 09:15:21 2014 +++ src/sys/kern/init_sysctl.c Wed Apr 22 16:42:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: init_sysctl.c,v 1.204 2014/08/03 09:15:21 apb Exp $ */ +/* $NetBSD: init_sysctl.c,v 1.205 2015/04/22 16:42:24 pooka Exp $ */ /*- * Copyright (c) 2003, 2007, 2008, 2009 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: init_sysctl.c,v 1.204 2014/08/03 09:15:21 apb Exp $"); +__KERNEL_RCSID(0, "$NetBSD: init_sysctl.c,v 1.205 2015/04/22 16:42:24 pooka Exp $"); #include "opt_sysv.h" #include "opt_compat_netbsd.h" @@ -105,7 +105,6 @@ static int sysctl_kern_maxvnodes(SYSCTLF static int sysctl_kern_rtc_offset(SYSCTLFN_PROTO); static int sysctl_kern_maxproc(SYSCTLFN_PROTO); static int sysctl_kern_hostid(SYSCTLFN_PROTO); -static int sysctl_kern_clockrate(SYSCTLFN_PROTO); static int sysctl_msgbuf(SYSCTLFN_PROTO); static int sysctl_kern_defcorename(SYSCTLFN_PROTO); static int sysctl_kern_cptime(SYSCTLFN_PROTO); @@ -176,19 +175,6 @@ SYSCTL_SETUP(sysctl_kern_setup, "sysctl CTL_KERN, KERN_HOSTID, CTL_EOL); sysctl_createv(clog, 0, NULL, NULL, CTLFLAG_PERMANENT, - CTLTYPE_STRUCT, "clockrate", - SYSCTL_DESCR("Kernel clock rates"), - sysctl_kern_clockrate, 0, NULL, - sizeof(struct clockinfo), - CTL_KERN, KERN_CLOCKRATE, CTL_EOL); - sysctl_createv(clog, 0, NULL, NULL, - CTLFLAG_PERMANENT, - CTLTYPE_INT, "hardclock_ticks", - SYSCTL_DESCR("Number of hardclock ticks"), - NULL, 0, &hardclock_ticks, sizeof(hardclock_ticks), - CTL_KERN, KERN_HARDCLOCK_TICKS, CTL_EOL); - sysctl_createv(clog, 0, NULL, NULL, - CTLFLAG_PERMANENT, CTLTYPE_STRUCT, "vnode", SYSCTL_DESCR("System vnode table"), sysctl_kern_vnode, 0, NULL, 0, @@ -956,27 +942,6 @@ sysctl_kern_hostid(SYSCTLFN_ARGS) } /* - * sysctl helper routine for kern.clockrate. Assembles a struct on - * the fly to be returned to the caller. - */ -static int -sysctl_kern_clockrate(SYSCTLFN_ARGS) -{ - struct clockinfo clkinfo; - struct sysctlnode node; - - clkinfo.tick = tick; - clkinfo.tickadj = tickadj; - clkinfo.hz = hz; - clkinfo.profhz = profhz; - clkinfo.stathz = stathz ? stathz : hz; - - node = *rnode; - node.sysctl_data = &clkinfo; - return (sysctl_lookup(SYSCTLFN_CALL(&node))); -} - -/* * sysctl helper routine for kern.msgbufsize and kern.msgbuf. For the * former it merely checks the message buffer is set up. For the latter, * it also copies out the data if necessary. Index: src/sys/kern/kern_clock.c diff -u src/sys/kern/kern_clock.c:1.131 src/sys/kern/kern_clock.c:1.132 --- src/sys/kern/kern_clock.c:1.131 Sun Dec 2 01:05:16 2012 +++ src/sys/kern/kern_clock.c Wed Apr 22 16:42:24 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_clock.c,v 1.131 2012/12/02 01:05:16 chs Exp $ */ +/* $NetBSD: kern_clock.c,v 1.132 2015/04/22 16:42:24 pooka Exp $ */ /*- * Copyright (c) 2000, 2004, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -69,7 +69,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_clock.c,v 1.131 2012/12/02 01:05:16 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_clock.c,v 1.132 2015/04/22 16:42:24 pooka Exp $"); #include "opt_dtrace.h" #include "opt_ntp.h" @@ -101,6 +101,8 @@ __KERNEL_RCSID(0, "$NetBSD: kern_clock.c cyclic_clock_func_t cyclic_clock_func[MAXCPUS]; #endif +static int sysctl_kern_clockrate(SYSCTLFN_PROTO); + /* * Clock handling routines. * @@ -161,6 +163,7 @@ get_intr_timecount(struct timecounter *t void initclocks(void) { + static struct sysctllog *clog; int i; /* @@ -190,6 +193,19 @@ initclocks(void) panic("hardscheddiv"); } + sysctl_createv(&clog, 0, NULL, NULL, + CTLFLAG_PERMANENT, + CTLTYPE_STRUCT, "clockrate", + SYSCTL_DESCR("Kernel clock rates"), + sysctl_kern_clockrate, 0, NULL, + sizeof(struct clockinfo), + CTL_KERN, KERN_CLOCKRATE, CTL_EOL); + sysctl_createv(&clog, 0, NULL, NULL, + CTLFLAG_PERMANENT, + CTLTYPE_INT, "hardclock_ticks", + SYSCTL_DESCR("Number of hardclock ticks"), + NULL, 0, &hardclock_ticks, sizeof(hardclock_ticks), + CTL_KERN, KERN_HARDCLOCK_TICKS, CTL_EOL); } /* @@ -449,3 +465,24 @@ statclock(struct clockframe *frame) mutex_spin_exit(&p->p_stmutex); } } + +/* + * sysctl helper routine for kern.clockrate. Assembles a struct on + * the fly to be returned to the caller. + */ +static int +sysctl_kern_clockrate(SYSCTLFN_ARGS) +{ + struct clockinfo clkinfo; + struct sysctlnode node; + + clkinfo.tick = tick; + clkinfo.tickadj = tickadj; + clkinfo.hz = hz; + clkinfo.profhz = profhz; + clkinfo.stathz = stathz ? stathz : hz; + + node = *rnode; + node.sysctl_data = &clkinfo; + return (sysctl_lookup(SYSCTLFN_CALL(&node))); +}