From nobody@FreeBSD.org  Mon Jul 12 03:36:31 2010
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1C1B51065670
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 12 Jul 2010 03:36:31 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 0C34B8FC1B
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 12 Jul 2010 03:36:31 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o6C3aUaq038668
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 12 Jul 2010 03:36:30 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id o6C3aUA9038667;
	Mon, 12 Jul 2010 03:36:30 GMT
	(envelope-from nobody)
Message-Id: <201007120336.o6C3aUA9038667@www.freebsd.org>
Date: Mon, 12 Jul 2010 03:36:30 GMT
From: Galimov Albert <wtfcrap@mail.ru>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [sysctl][patch] Document some sysctls
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         148510
>Category:       kern
>Synopsis:       [sysctl][patch] Document some sysctls
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    brucec
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 12 03:40:06 UTC 2010
>Closed-Date:    Sun Nov 21 13:07:41 UTC 2010
>Last-Modified:  Sun Nov 21 13:07:41 UTC 2010
>Originator:     Galimov Albert
>Release:        HEAD
>Organization:
>Environment:
HEAD
>Description:
Some sysctls are not documented
>How-To-Repeat:

>Fix:
Patch to sys/kern/vfs_subr.c

Patch attached with submission follows:

Index: sys/kern/vfs_subr.c
===================================================================
--- sys/kern/vfs_subr.c	(revision 209901)
+++ sys/kern/vfs_subr.c	(working copy)
@@ -121,7 +121,7 @@
  */
 static unsigned long	numvnodes;
 
-SYSCTL_LONG(_vfs, OID_AUTO, numvnodes, CTLFLAG_RD, &numvnodes, 0, "");
+SYSCTL_LONG(_vfs, OID_AUTO, numvnodes, CTLFLAG_RD, &numvnodes, 0, "Number of vnodes in existence");
 
 /*
  * Conversion tables for conversion from vnode types to inode formats
@@ -150,7 +150,7 @@
 SYSCTL_LONG(_vfs, OID_AUTO, wantfreevnodes, CTLFLAG_RW, &wantfreevnodes, 0, "");
 /* Number of vnodes in the free list. */
 static u_long freevnodes;
-SYSCTL_LONG(_vfs, OID_AUTO, freevnodes, CTLFLAG_RD, &freevnodes, 0, "");
+SYSCTL_LONG(_vfs, OID_AUTO, freevnodes, CTLFLAG_RD, &freevnodes, 0, "Number of vnodes in the free list");
 
 static int vlru_allow_cache_src;
 SYSCTL_INT(_vfs, OID_AUTO, vlru_allow_cache_src, CTLFLAG_RW,
@@ -162,7 +162,8 @@
  * XXX these are probably of (very) limited utility now.
  */
 static int reassignbufcalls;
-SYSCTL_INT(_vfs, OID_AUTO, reassignbufcalls, CTLFLAG_RW, &reassignbufcalls, 0, "");
+SYSCTL_INT(_vfs, OID_AUTO, reassignbufcalls, CTLFLAG_RW, &reassignbufcalls, 0, 
+	"Various variables used for debugging the new implementation of reassignbuf()");
 
 /*
  * Cache for the mount type id assigned to NFS.  This is used for
@@ -237,14 +238,14 @@
 static int syncer_maxdelay = SYNCER_MAXDELAY;	/* maximum delay time */
 static int syncdelay = 30;		/* max time to delay syncing data */
 static int filedelay = 30;		/* time to delay syncing files */
-SYSCTL_INT(_kern, OID_AUTO, filedelay, CTLFLAG_RW, &filedelay, 0, "");
+SYSCTL_INT(_kern, OID_AUTO, filedelay, CTLFLAG_RW, &filedelay, 0, "Time to delay syncing files");
 static int dirdelay = 29;		/* time to delay syncing directories */
-SYSCTL_INT(_kern, OID_AUTO, dirdelay, CTLFLAG_RW, &dirdelay, 0, "");
+SYSCTL_INT(_kern, OID_AUTO, dirdelay, CTLFLAG_RW, &dirdelay, 0, "Time to delay syncing directories");
 static int metadelay = 28;		/* time to delay syncing metadata */
-SYSCTL_INT(_kern, OID_AUTO, metadelay, CTLFLAG_RW, &metadelay, 0, "");
+SYSCTL_INT(_kern, OID_AUTO, metadelay, CTLFLAG_RW, &metadelay, 0, "Time to delay syncing metadata");
 static int rushjob;		/* number of slots to run ASAP */
 static int stat_rush_requests;	/* number of times I/O speeded up */
-SYSCTL_INT(_debug, OID_AUTO, rush_requests, CTLFLAG_RW, &stat_rush_requests, 0, "");
+SYSCTL_INT(_debug, OID_AUTO, rush_requests, CTLFLAG_RW, &stat_rush_requests, 0, "Number of times I/O speeded up (rush requests)");
 
 /*
  * When shutting down the syncer, run it at four times normal speed.
@@ -533,7 +534,11 @@
 
 static int timestamp_precision = TSP_SEC;
 SYSCTL_INT(_vfs, OID_AUTO, timestamp_precision, CTLFLAG_RW,
-    &timestamp_precision, 0, "");
+    &timestamp_precision, 0, "Knob to control the precision of file timestamps\n"
+	"0 = seconds only; nanoseconds zeroed\n"
+	"1 = seconds and nanoseconds, accurate within 1/HZ\n"
+	"2 = seconds and nanoseconds, truncated to microseconds\n"
+	">=3 = seconds and nanoseconds, maximum precision");
 
 /*
  * Get a current timestamp.
@@ -2357,7 +2362,7 @@
  */
 #ifdef DIAGNOSTIC
 static int busyprt = 0;		/* print out busy vnodes */
-SYSCTL_INT(_debug, OID_AUTO, busyprt, CTLFLAG_RW, &busyprt, 0, "");
+SYSCTL_INT(_debug, OID_AUTO, busyprt, CTLFLAG_RW, &busyprt, 0, "print out busy vnodes");
 #endif
 
 int
@@ -3666,17 +3671,17 @@
 	(vp)->v_type == VCHR ||	(vp)->v_type == VBAD)
 
 int vfs_badlock_ddb = 1;	/* Drop into debugger on violation. */
-SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_ddb, CTLFLAG_RW, &vfs_badlock_ddb, 0, "");
+SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_ddb, CTLFLAG_RW, &vfs_badlock_ddb, 0, "Drop into debugger on violation");
 
 int vfs_badlock_mutex = 1;	/* Check for interlock across VOPs. */
-SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_mutex, CTLFLAG_RW, &vfs_badlock_mutex, 0, "");
+SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_mutex, CTLFLAG_RW, &vfs_badlock_mutex, 0, "Check for interlock across VOPs");
 
 int vfs_badlock_print = 1;	/* Print lock violations. */
-SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_print, CTLFLAG_RW, &vfs_badlock_print, 0, "");
+SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_print, CTLFLAG_RW, &vfs_badlock_print, 0, "Print lock violations");
 
 #ifdef KDB
 int vfs_badlock_backtrace = 1;	/* Print backtrace at lock violations. */
-SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_backtrace, CTLFLAG_RW, &vfs_badlock_backtrace, 0, "");
+SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_backtrace, CTLFLAG_RW, &vfs_badlock_backtrace, 0, "Print backtrace at lock violations");
 #endif
 
 static void


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->analyzed 
State-Changed-By: vwe 
State-Changed-When: Sun Aug 15 22:45:05 UTC 2010 
State-Changed-Why:  
patch applies well 
for the committer taking this (that was a HINT!;), please also take a look at kern/148710 

http://www.freebsd.org/cgi/query-pr.cgi?pr=148510 
Responsible-Changed-From-To: freebsd-bugs->brucec 
Responsible-Changed-By: brucec 
Responsible-Changed-When: Mon Aug 16 08:13:33 UTC 2010 
Responsible-Changed-Why:  
Take. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=148510 
State-Changed-From-To: analyzed->patched 
State-Changed-By: brucec 
State-Changed-When: Sun Nov 14 07:39:21 UTC 2010 
State-Changed-Why:  
Fixed in r215282. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=148510 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/148510: commit references a PR
Date: Sun, 14 Nov 2010 07:38:48 +0000 (UTC)

 Author: brucec
 Date: Sun Nov 14 07:38:42 2010
 New Revision: 215282
 URL: http://svn.freebsd.org/changeset/base/215282
 
 Log:
   Add descriptions to some more sysctls.
   
   PR:	kern/148510
   MFC after:	1 week
 
 Modified:
   head/sys/kern/vfs_subr.c
 
 Modified: head/sys/kern/vfs_subr.c
 ==============================================================================
 --- head/sys/kern/vfs_subr.c	Sun Nov 14 06:09:50 2010	(r215281)
 +++ head/sys/kern/vfs_subr.c	Sun Nov 14 07:38:42 2010	(r215282)
 @@ -121,7 +121,7 @@ static void	destroy_vpollinfo(struct vpo
   */
  static unsigned long	numvnodes;
  
 -SYSCTL_LONG(_vfs, OID_AUTO, numvnodes, CTLFLAG_RD, &numvnodes, 0, "");
 +SYSCTL_LONG(_vfs, OID_AUTO, numvnodes, CTLFLAG_RD, &numvnodes, 0, "Number of vnodes in existence");
  
  /*
   * Conversion tables for conversion from vnode types to inode formats
 @@ -150,7 +150,7 @@ static u_long wantfreevnodes;
  SYSCTL_LONG(_vfs, OID_AUTO, wantfreevnodes, CTLFLAG_RW, &wantfreevnodes, 0, "");
  /* Number of vnodes in the free list. */
  static u_long freevnodes;
 -SYSCTL_LONG(_vfs, OID_AUTO, freevnodes, CTLFLAG_RD, &freevnodes, 0, "");
 +SYSCTL_LONG(_vfs, OID_AUTO, freevnodes, CTLFLAG_RD, &freevnodes, 0, "Number of vnodes in the free list");
  
  static int vlru_allow_cache_src;
  SYSCTL_INT(_vfs, OID_AUTO, vlru_allow_cache_src, CTLFLAG_RW,
 @@ -162,7 +162,7 @@ SYSCTL_INT(_vfs, OID_AUTO, vlru_allow_ca
   * XXX these are probably of (very) limited utility now.
   */
  static int reassignbufcalls;
 -SYSCTL_INT(_vfs, OID_AUTO, reassignbufcalls, CTLFLAG_RW, &reassignbufcalls, 0, "");
 +SYSCTL_INT(_vfs, OID_AUTO, reassignbufcalls, CTLFLAG_RW, &reassignbufcalls, 0, "Number of calls to reassignbuf");
  
  /*
   * Cache for the mount type id assigned to NFS.  This is used for
 @@ -237,14 +237,14 @@ static struct cv sync_wakeup;
  static int syncer_maxdelay = SYNCER_MAXDELAY;	/* maximum delay time */
  static int syncdelay = 30;		/* max time to delay syncing data */
  static int filedelay = 30;		/* time to delay syncing files */
 -SYSCTL_INT(_kern, OID_AUTO, filedelay, CTLFLAG_RW, &filedelay, 0, "");
 +SYSCTL_INT(_kern, OID_AUTO, filedelay, CTLFLAG_RW, &filedelay, 0, "Time to delay syncing files (in seconds)");
  static int dirdelay = 29;		/* time to delay syncing directories */
 -SYSCTL_INT(_kern, OID_AUTO, dirdelay, CTLFLAG_RW, &dirdelay, 0, "");
 +SYSCTL_INT(_kern, OID_AUTO, dirdelay, CTLFLAG_RW, &dirdelay, 0, "Time to delay syncing directories (in seconds)");
  static int metadelay = 28;		/* time to delay syncing metadata */
 -SYSCTL_INT(_kern, OID_AUTO, metadelay, CTLFLAG_RW, &metadelay, 0, "");
 +SYSCTL_INT(_kern, OID_AUTO, metadelay, CTLFLAG_RW, &metadelay, 0, "Time to delay syncing metadata (in seconds)");
  static int rushjob;		/* number of slots to run ASAP */
  static int stat_rush_requests;	/* number of times I/O speeded up */
 -SYSCTL_INT(_debug, OID_AUTO, rush_requests, CTLFLAG_RW, &stat_rush_requests, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, rush_requests, CTLFLAG_RW, &stat_rush_requests, 0, "Number of times I/O speeded up (rush requests)");
  
  /*
   * When shutting down the syncer, run it at four times normal speed.
 @@ -544,7 +544,7 @@ enum { TSP_SEC, TSP_HZ, TSP_USEC, TSP_NS
  
  static int timestamp_precision = TSP_SEC;
  SYSCTL_INT(_vfs, OID_AUTO, timestamp_precision, CTLFLAG_RW,
 -    &timestamp_precision, 0, "");
 +    &timestamp_precision, 0, "File timestamp precision (0: seconds, 1: sec + ns accurate to 1/HZ, 2: sec + ns truncated to ms, 3+: sec + ns (max. precision))");
  
  /*
   * Get a current timestamp.
 @@ -2376,7 +2376,7 @@ vinactive(struct vnode *vp, struct threa
   */
  #ifdef DIAGNOSTIC
  static int busyprt = 0;		/* print out busy vnodes */
 -SYSCTL_INT(_debug, OID_AUTO, busyprt, CTLFLAG_RW, &busyprt, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, busyprt, CTLFLAG_RW, &busyprt, 0, "Print out busy vnodes");
  #endif
  
  int
 @@ -3712,17 +3712,17 @@ extattr_check_cred(struct vnode *vp, int
  	(vp)->v_type == VCHR ||	(vp)->v_type == VBAD)
  
  int vfs_badlock_ddb = 1;	/* Drop into debugger on violation. */
 -SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_ddb, CTLFLAG_RW, &vfs_badlock_ddb, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_ddb, CTLFLAG_RW, &vfs_badlock_ddb, 0, "Drop into debugger on lock violation");
  
  int vfs_badlock_mutex = 1;	/* Check for interlock across VOPs. */
 -SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_mutex, CTLFLAG_RW, &vfs_badlock_mutex, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_mutex, CTLFLAG_RW, &vfs_badlock_mutex, 0, "Check for interlock across VOPs");
  
  int vfs_badlock_print = 1;	/* Print lock violations. */
 -SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_print, CTLFLAG_RW, &vfs_badlock_print, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_print, CTLFLAG_RW, &vfs_badlock_print, 0, "Print lock violations");
  
  #ifdef KDB
  int vfs_badlock_backtrace = 1;	/* Print backtrace at lock violations. */
 -SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_backtrace, CTLFLAG_RW, &vfs_badlock_backtrace, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_backtrace, CTLFLAG_RW, &vfs_badlock_backtrace, 0, "Print backtrace at lock violations");
  #endif
  
  static void
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/148510: commit references a PR
Date: Sun, 21 Nov 2010 12:48:01 +0000 (UTC)

 Author: brucec
 Date: Sun Nov 21 12:47:54 2010
 New Revision: 215629
 URL: http://svn.freebsd.org/changeset/base/215629
 
 Log:
   MFC r215281, r215282, r215283, r215304:
   
   Add some descriptions to sys/kern sysctls.
   Fix style(9) issues.
   
   PR:	kern/148710
   PR:	kern/148510
 
 Modified:
   stable/8/sys/kern/kern_proc.c
   stable/8/sys/kern/kern_tc.c
   stable/8/sys/kern/subr_clock.c
   stable/8/sys/kern/sysv_sem.c
   stable/8/sys/kern/vfs_cache.c
   stable/8/sys/kern/vfs_subr.c
 Directory Properties:
   stable/8/sys/   (props changed)
   stable/8/sys/amd64/include/xen/   (props changed)
   stable/8/sys/cddl/contrib/opensolaris/   (props changed)
   stable/8/sys/contrib/dev/acpica/   (props changed)
   stable/8/sys/contrib/pf/   (props changed)
   stable/8/sys/dev/xen/xenpci/   (props changed)
 
 Modified: stable/8/sys/kern/kern_proc.c
 ==============================================================================
 --- stable/8/sys/kern/kern_proc.c	Sun Nov 21 12:40:16 2010	(r215628)
 +++ stable/8/sys/kern/kern_proc.c	Sun Nov 21 12:47:54 2010	(r215629)
 @@ -148,7 +148,8 @@ struct mtx ppeers_lock;
  uma_zone_t proc_zone;
  
  int kstack_pages = KSTACK_PAGES;
 -SYSCTL_INT(_kern, OID_AUTO, kstack_pages, CTLFLAG_RD, &kstack_pages, 0, "");
 +SYSCTL_INT(_kern, OID_AUTO, kstack_pages, CTLFLAG_RD, &kstack_pages, 0,
 +    "Kernel stack size in pages");
  
  CTASSERT(sizeof(struct kinfo_proc) == KINFO_PROC_SIZE);
  #ifdef COMPAT_FREEBSD32
 
 Modified: stable/8/sys/kern/kern_tc.c
 ==============================================================================
 --- stable/8/sys/kern/kern_tc.c	Sun Nov 21 12:40:16 2010	(r215628)
 +++ stable/8/sys/kern/kern_tc.c	Sun Nov 21 12:47:54 2010	(r215629)
 @@ -101,7 +101,7 @@ SYSCTL_NODE(_kern_timecounter, OID_AUTO,
  
  static int timestepwarnings;
  SYSCTL_INT(_kern_timecounter, OID_AUTO, stepwarnings, CTLFLAG_RW,
 -    &timestepwarnings, 0, "");
 +    &timestepwarnings, 0, "Log time steps");
  
  static void tc_windup(void);
  static void cpu_tick_calibrate(int);
 @@ -556,7 +556,8 @@ sysctl_kern_timecounter_hardware(SYSCTL_
  }
  
  SYSCTL_PROC(_kern_timecounter, OID_AUTO, hardware, CTLTYPE_STRING | CTLFLAG_RW,
 -    0, 0, sysctl_kern_timecounter_hardware, "A", "");
 +    0, 0, sysctl_kern_timecounter_hardware, "A",
 +    "Timecounter hardware selected");
  
  
  /* Report or change the active timecounter hardware. */
 @@ -579,7 +580,7 @@ sysctl_kern_timecounter_choice(SYSCTL_HA
  }
  
  SYSCTL_PROC(_kern_timecounter, OID_AUTO, choice, CTLTYPE_STRING | CTLFLAG_RD,
 -    0, 0, sysctl_kern_timecounter_choice, "A", "");
 +    0, 0, sysctl_kern_timecounter_choice, "A", "Timecounter hardware detected");
  
  /*
   * RFC 2783 PPS-API implementation.
 @@ -764,7 +765,8 @@ pps_event(struct pps_state *pps, int eve
   */
  
  static int tc_tick;
 -SYSCTL_INT(_kern_timecounter, OID_AUTO, tick, CTLFLAG_RD, &tc_tick, 0, "");
 +SYSCTL_INT(_kern_timecounter, OID_AUTO, tick, CTLFLAG_RD, &tc_tick, 0,
 +    "Approximate number of hardclock ticks in a millisecond");
  
  void
  tc_ticktock(void)
 
 Modified: stable/8/sys/kern/subr_clock.c
 ==============================================================================
 --- stable/8/sys/kern/subr_clock.c	Sun Nov 21 12:40:16 2010	(r215628)
 +++ stable/8/sys/kern/subr_clock.c	Sun Nov 21 12:47:54 2010	(r215629)
 @@ -50,7 +50,7 @@ __FBSDID("$FreeBSD$");
  #include <sys/timetc.h>
  
  #define ct_debug bootverbose
 -static int adjkerntz;		/* local offset from GMT in seconds */
 +static int adjkerntz;		/* local offset from UTC in seconds */
  static int wall_cmos_clock;	/* wall CMOS clock assumed if != 0 */
  
  int tz_minuteswest;
 @@ -61,7 +61,7 @@ int tz_dsttime;
   * kern.
   */
  SYSCTL_INT(_machdep, OID_AUTO, wall_cmos_clock,
 -	CTLFLAG_RW, &wall_cmos_clock, 0, "");
 +    CTLFLAG_RW, &wall_cmos_clock, 0, "CMOS clock keeps wall time");
  
  static int
  sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ARGS)
 @@ -74,7 +74,8 @@ sysctl_machdep_adjkerntz(SYSCTL_HANDLER_
  }
  
  SYSCTL_PROC(_machdep, OID_AUTO, adjkerntz, CTLTYPE_INT|CTLFLAG_RW,
 -	&adjkerntz, 0, sysctl_machdep_adjkerntz, "I", "");
 +    &adjkerntz, 0, sysctl_machdep_adjkerntz, "I",
 +    "Local offset from UTC in seconds");
  
  /*--------------------------------------------------------------------*
   * Generic routines to convert between a POSIX date
 
 Modified: stable/8/sys/kern/sysv_sem.c
 ==============================================================================
 --- stable/8/sys/kern/sysv_sem.c	Sun Nov 21 12:40:16 2010	(r215628)
 +++ stable/8/sys/kern/sysv_sem.c	Sun Nov 21 12:47:54 2010	(r215629)
 @@ -212,7 +212,7 @@ SYSCTL_INT(_kern_ipc, OID_AUTO, semvmx, 
  SYSCTL_INT(_kern_ipc, OID_AUTO, semaem, CTLFLAG_RW, &seminfo.semaem, 0,
      "Adjust on exit max value");
  SYSCTL_PROC(_kern_ipc, OID_AUTO, sema, CTLFLAG_RD,
 -    NULL, 0, sysctl_sema, "", "");
 +    NULL, 0, sysctl_sema, "", "Semaphore id pool");
  
  static struct syscall_helper_data sem_syscalls[] = {
  	SYSCALL_INIT_HELPER(__semctl),
 
 Modified: stable/8/sys/kern/vfs_cache.c
 ==============================================================================
 --- stable/8/sys/kern/vfs_cache.c	Sun Nov 21 12:40:16 2010	(r215628)
 +++ stable/8/sys/kern/vfs_cache.c	Sun Nov 21 12:47:54 2010	(r215629)
 @@ -186,30 +186,43 @@ SYSCTL_INT(_debug, OID_AUTO, vfscache, C
  
  /* Export size information to userland */
  SYSCTL_INT(_debug_sizeof, OID_AUTO, namecache, CTLFLAG_RD, 0,
 -	sizeof(struct namecache), "");
 +    sizeof(struct namecache), "sizeof(struct namecache)");
  
  /*
   * The new name cache statistics
   */
 -static SYSCTL_NODE(_vfs, OID_AUTO, cache, CTLFLAG_RW, 0, "Name cache statistics");
 -#define STATNODE(mode, name, var) \
 -	SYSCTL_ULONG(_vfs_cache, OID_AUTO, name, mode, var, 0, "");
 -STATNODE(CTLFLAG_RD, numneg, &numneg);
 -STATNODE(CTLFLAG_RD, numcache, &numcache);
 -static u_long numcalls; STATNODE(CTLFLAG_RD, numcalls, &numcalls);
 -static u_long dothits; STATNODE(CTLFLAG_RD, dothits, &dothits);
 -static u_long dotdothits; STATNODE(CTLFLAG_RD, dotdothits, &dotdothits);
 -static u_long numchecks; STATNODE(CTLFLAG_RD, numchecks, &numchecks);
 -static u_long nummiss; STATNODE(CTLFLAG_RD, nummiss, &nummiss);
 -static u_long nummisszap; STATNODE(CTLFLAG_RD, nummisszap, &nummisszap);
 -static u_long numposzaps; STATNODE(CTLFLAG_RD, numposzaps, &numposzaps);
 -static u_long numposhits; STATNODE(CTLFLAG_RD, numposhits, &numposhits);
 -static u_long numnegzaps; STATNODE(CTLFLAG_RD, numnegzaps, &numnegzaps);
 -static u_long numneghits; STATNODE(CTLFLAG_RD, numneghits, &numneghits);
 -static u_long numupgrades; STATNODE(CTLFLAG_RD, numupgrades, &numupgrades);
 +static SYSCTL_NODE(_vfs, OID_AUTO, cache, CTLFLAG_RW, 0,
 +    "Name cache statistics");
 +#define STATNODE(mode, name, var, descr) \
 +	SYSCTL_ULONG(_vfs_cache, OID_AUTO, name, mode, var, 0, descr);
 +STATNODE(CTLFLAG_RD, numneg, &numneg, "Number of negative cache entries");
 +STATNODE(CTLFLAG_RD, numcache, &numcache, "Number of cache entries");
 +static u_long numcalls; STATNODE(CTLFLAG_RD, numcalls, &numcalls,
 +    "Number of cache lookups");
 +static u_long dothits; STATNODE(CTLFLAG_RD, dothits, &dothits,
 +    "Number of '.' hits");
 +static u_long dotdothits; STATNODE(CTLFLAG_RD, dotdothits, &dotdothits,
 +    "Number of '..' hits");
 +static u_long numchecks; STATNODE(CTLFLAG_RD, numchecks, &numchecks,
 +    "Number of checks in lookup");
 +static u_long nummiss; STATNODE(CTLFLAG_RD, nummiss, &nummiss,
 +    "Number of cache misses");
 +static u_long nummisszap; STATNODE(CTLFLAG_RD, nummisszap, &nummisszap,
 +    "Number of cache misses we do not want to cache");
 +static u_long numposzaps; STATNODE(CTLFLAG_RD, numposzaps, &numposzaps, 
 +    "Number of cache hits (positive) we do not want to cache");
 +static u_long numposhits; STATNODE(CTLFLAG_RD, numposhits, &numposhits,
 +    "Number of cache hits (positive)");
 +static u_long numnegzaps; STATNODE(CTLFLAG_RD, numnegzaps, &numnegzaps,
 +    "Number of cache hits (negative) we do not want to cache");
 +static u_long numneghits; STATNODE(CTLFLAG_RD, numneghits, &numneghits,
 +    "Number of cache hits (negative)");
 +static u_long numupgrades; STATNODE(CTLFLAG_RD, numupgrades, &numupgrades,
 +    "Number of updates of the cache after lookup (write lock + retry)");
  
  SYSCTL_OPAQUE(_vfs_cache, OID_AUTO, nchstats, CTLFLAG_RD | CTLFLAG_MPSAFE,
 -	&nchstats, sizeof(nchstats), "LU", "VFS cache effectiveness statistics");
 +    &nchstats, sizeof(nchstats), "LU",
 +    "VFS cache effectiveness statistics");
  
  
  
 @@ -261,8 +274,8 @@ sysctl_debug_hashstat_rawnchash(SYSCTL_H
  	return (0);
  }
  SYSCTL_PROC(_debug_hashstat, OID_AUTO, rawnchash, CTLTYPE_INT|CTLFLAG_RD|
 -	CTLFLAG_MPSAFE, 0, 0, sysctl_debug_hashstat_rawnchash, "S,int",
 -	"nchash chain lengths");
 +    CTLFLAG_MPSAFE, 0, 0, sysctl_debug_hashstat_rawnchash, "S,int",
 +    "nchash chain lengths");
  
  static int
  sysctl_debug_hashstat_nchash(SYSCTL_HANDLER_ARGS)
 @@ -310,8 +323,8 @@ sysctl_debug_hashstat_nchash(SYSCTL_HAND
  	return (0);
  }
  SYSCTL_PROC(_debug_hashstat, OID_AUTO, nchash, CTLTYPE_INT|CTLFLAG_RD|
 -	CTLFLAG_MPSAFE, 0, 0, sysctl_debug_hashstat_nchash, "I",
 -	"nchash chain lengths");
 +    CTLFLAG_MPSAFE, 0, 0, sysctl_debug_hashstat_nchash, "I",
 +    "nchash chain lengths");
  #endif
  
  /*
 @@ -972,20 +985,21 @@ kern___getcwd(struct thread *td, u_char 
   */
  
  #undef STATNODE
 -#define STATNODE(name)							\
 +#define STATNODE(name, descr)						\
  	static u_int name;						\
 -	SYSCTL_UINT(_vfs_cache, OID_AUTO, name, CTLFLAG_RD, &name, 0, "")
 +	SYSCTL_UINT(_vfs_cache, OID_AUTO, name, CTLFLAG_RD, &name, 0, descr)
  
  static int disablefullpath;
  SYSCTL_INT(_debug, OID_AUTO, disablefullpath, CTLFLAG_RW, &disablefullpath, 0,
 -	"Disable the vn_fullpath function");
 +    "Disable the vn_fullpath function");
  
  /* These count for kern___getcwd(), too. */
 -STATNODE(numfullpathcalls);
 -STATNODE(numfullpathfail1);
 -STATNODE(numfullpathfail2);
 -STATNODE(numfullpathfail4);
 -STATNODE(numfullpathfound);
 +STATNODE(numfullpathcalls, "Number of fullpath search calls");
 +STATNODE(numfullpathfail1, "Number of fullpath search errors (ENOTDIR)");
 +STATNODE(numfullpathfail2,
 +    "Number of fullpath search errors (VOP_VPTOCNP failures)");
 +STATNODE(numfullpathfail4, "Number of fullpath search errors (ENOMEM)");
 +STATNODE(numfullpathfound, "Number of successful fullpath calls");
  
  /*
   * Retrieve the full filesystem path that correspond to a vnode from the name
 
 Modified: stable/8/sys/kern/vfs_subr.c
 ==============================================================================
 --- stable/8/sys/kern/vfs_subr.c	Sun Nov 21 12:40:16 2010	(r215628)
 +++ stable/8/sys/kern/vfs_subr.c	Sun Nov 21 12:47:54 2010	(r215629)
 @@ -121,7 +121,8 @@ static void	destroy_vpollinfo(struct vpo
   */
  static unsigned long	numvnodes;
  
 -SYSCTL_LONG(_vfs, OID_AUTO, numvnodes, CTLFLAG_RD, &numvnodes, 0, "");
 +SYSCTL_LONG(_vfs, OID_AUTO, numvnodes, CTLFLAG_RD, &numvnodes, 0,
 +    "Number of vnodes in existence");
  
  /*
   * Conversion tables for conversion from vnode types to inode formats
 @@ -150,7 +151,8 @@ static u_long wantfreevnodes;
  SYSCTL_LONG(_vfs, OID_AUTO, wantfreevnodes, CTLFLAG_RW, &wantfreevnodes, 0, "");
  /* Number of vnodes in the free list. */
  static u_long freevnodes;
 -SYSCTL_LONG(_vfs, OID_AUTO, freevnodes, CTLFLAG_RD, &freevnodes, 0, "");
 +SYSCTL_LONG(_vfs, OID_AUTO, freevnodes, CTLFLAG_RD, &freevnodes, 0,
 +    "Number of vnodes in the free list");
  
  static int vlru_allow_cache_src;
  SYSCTL_INT(_vfs, OID_AUTO, vlru_allow_cache_src, CTLFLAG_RW,
 @@ -162,7 +164,8 @@ SYSCTL_INT(_vfs, OID_AUTO, vlru_allow_ca
   * XXX these are probably of (very) limited utility now.
   */
  static int reassignbufcalls;
 -SYSCTL_INT(_vfs, OID_AUTO, reassignbufcalls, CTLFLAG_RW, &reassignbufcalls, 0, "");
 +SYSCTL_INT(_vfs, OID_AUTO, reassignbufcalls, CTLFLAG_RW, &reassignbufcalls, 0,
 +    "Number of calls to reassignbuf");
  
  /*
   * Cache for the mount type id assigned to NFS.  This is used for
 @@ -237,14 +240,18 @@ static struct cv sync_wakeup;
  static int syncer_maxdelay = SYNCER_MAXDELAY;	/* maximum delay time */
  static int syncdelay = 30;		/* max time to delay syncing data */
  static int filedelay = 30;		/* time to delay syncing files */
 -SYSCTL_INT(_kern, OID_AUTO, filedelay, CTLFLAG_RW, &filedelay, 0, "");
 +SYSCTL_INT(_kern, OID_AUTO, filedelay, CTLFLAG_RW, &filedelay, 0,
 +    "Time to delay syncing files (in seconds)");
  static int dirdelay = 29;		/* time to delay syncing directories */
 -SYSCTL_INT(_kern, OID_AUTO, dirdelay, CTLFLAG_RW, &dirdelay, 0, "");
 +SYSCTL_INT(_kern, OID_AUTO, dirdelay, CTLFLAG_RW, &dirdelay, 0,
 +    "Time to delay syncing directories (in seconds)");
  static int metadelay = 28;		/* time to delay syncing metadata */
 -SYSCTL_INT(_kern, OID_AUTO, metadelay, CTLFLAG_RW, &metadelay, 0, "");
 +SYSCTL_INT(_kern, OID_AUTO, metadelay, CTLFLAG_RW, &metadelay, 0,
 +    "Time to delay syncing metadata (in seconds)");
  static int rushjob;		/* number of slots to run ASAP */
  static int stat_rush_requests;	/* number of times I/O speeded up */
 -SYSCTL_INT(_debug, OID_AUTO, rush_requests, CTLFLAG_RW, &stat_rush_requests, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, rush_requests, CTLFLAG_RW, &stat_rush_requests, 0,
 +    "Number of times I/O speeded up (rush requests)");
  
  /*
   * When shutting down the syncer, run it at four times normal speed.
 @@ -544,7 +551,9 @@ enum { TSP_SEC, TSP_HZ, TSP_USEC, TSP_NS
  
  static int timestamp_precision = TSP_SEC;
  SYSCTL_INT(_vfs, OID_AUTO, timestamp_precision, CTLFLAG_RW,
 -    &timestamp_precision, 0, "");
 +    &timestamp_precision, 0, "File timestamp precision (0: seconds, "
 +    "1: sec + ns accurate to 1/HZ, 2: sec + ns truncated to ms, "
 +    "3+: sec + ns (max. precision))");
  
  /*
   * Get a current timestamp.
 @@ -2376,7 +2385,7 @@ vinactive(struct vnode *vp, struct threa
   */
  #ifdef DIAGNOSTIC
  static int busyprt = 0;		/* print out busy vnodes */
 -SYSCTL_INT(_debug, OID_AUTO, busyprt, CTLFLAG_RW, &busyprt, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, busyprt, CTLFLAG_RW, &busyprt, 0, "Print out busy vnodes");
  #endif
  
  int
 @@ -3015,7 +3024,7 @@ vfs_sysctl(SYSCTL_HANDLER_ARGS)
  }
  
  static SYSCTL_NODE(_vfs, VFS_GENERIC, generic, CTLFLAG_RD | CTLFLAG_SKIP,
 -	vfs_sysctl, "Generic filesystem");
 +    vfs_sysctl, "Generic filesystem");
  
  #if 1 || defined(COMPAT_PRELITE2)
  
 @@ -3136,7 +3145,7 @@ sysctl_vnode(SYSCTL_HANDLER_ARGS)
  }
  
  SYSCTL_PROC(_kern, KERN_VNODE, vnode, CTLTYPE_OPAQUE|CTLFLAG_RD,
 -	0, 0, sysctl_vnode, "S,xvnode", "");
 +    0, 0, sysctl_vnode, "S,xvnode", "");
  #endif
  
  /*
 @@ -3680,17 +3689,21 @@ extattr_check_cred(struct vnode *vp, int
  	(vp)->v_type == VCHR ||	(vp)->v_type == VBAD)
  
  int vfs_badlock_ddb = 1;	/* Drop into debugger on violation. */
 -SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_ddb, CTLFLAG_RW, &vfs_badlock_ddb, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_ddb, CTLFLAG_RW, &vfs_badlock_ddb, 0,
 +    "Drop into debugger on lock violation");
  
  int vfs_badlock_mutex = 1;	/* Check for interlock across VOPs. */
 -SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_mutex, CTLFLAG_RW, &vfs_badlock_mutex, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_mutex, CTLFLAG_RW, &vfs_badlock_mutex,
 +    0, "Check for interlock across VOPs");
  
  int vfs_badlock_print = 1;	/* Print lock violations. */
 -SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_print, CTLFLAG_RW, &vfs_badlock_print, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_print, CTLFLAG_RW, &vfs_badlock_print,
 +    0, "Print lock violations");
  
  #ifdef KDB
  int vfs_badlock_backtrace = 1;	/* Print backtrace at lock violations. */
 -SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_backtrace, CTLFLAG_RW, &vfs_badlock_backtrace, 0, "");
 +SYSCTL_INT(_debug, OID_AUTO, vfs_badlock_backtrace, CTLFLAG_RW,
 +    &vfs_badlock_backtrace, 0, "Print backtrace at lock violations");
  #endif
  
  static void
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: brucec 
State-Changed-When: Sun Nov 21 13:06:58 UTC 2010 
State-Changed-Why:  
Fixed in stable/8 r215629. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=148510 
>Unformatted:
