Index: sys/amd64/amd64/efirt_machdep.c =================================================================== --- sys/amd64/amd64/efirt_machdep.c +++ sys/amd64/amd64/efirt_machdep.c @@ -311,4 +311,5 @@ } SYSCTL_PROC(_debug, OID_AUTO, efi_time, CTLTYPE_INT | CTLFLAG_RW, NULL, 0, - efi_time_sysctl_handler, "I", ""); + efi_time_sysctl_handler, "I", + "EFI time"); Index: sys/cddl/dev/dtrace/dtrace_test.c =================================================================== --- sys/cddl/dev/dtrace/dtrace_test.c +++ sys/cddl/dev/dtrace/dtrace_test.c @@ -75,7 +75,8 @@ return (error); } -static SYSCTL_NODE(_debug, OID_AUTO, dtracetest, CTLFLAG_RD, 0, ""); +static SYSCTL_NODE(_debug, OID_AUTO, dtracetest, CTLFLAG_RD, 0, + "DTrace test parameters"); SYSCTL_PROC(_debug_dtracetest, OID_AUTO, sdttest, CTLTYPE_INT | CTLFLAG_RW, NULL, 0, dtrace_test_sdttest, "I", "Trigger the SDT test probe"); Index: sys/dev/firewire/if_fwe.c =================================================================== --- sys/dev/firewire/if_fwe.c +++ sys/dev/firewire/if_fwe.c @@ -83,7 +83,8 @@ static int rx_queue_len = FWMAXQUEUE; static MALLOC_DEFINE(M_FWE, "if_fwe", "Ethernet over FireWire interface"); -SYSCTL_INT(_debug, OID_AUTO, if_fwe_debug, CTLFLAG_RWTUN, &fwedebug, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, if_fwe_debug, CTLFLAG_RWTUN, &fwedebug, 0, + "Firewire ethernet emulation debug level"); SYSCTL_DECL(_hw_firewire); static SYSCTL_NODE(_hw_firewire, OID_AUTO, fwe, CTLFLAG_RD, 0, "Ethernet emulation subsystem"); Index: sys/dev/firewire/if_fwip.c =================================================================== --- sys/dev/firewire/if_fwip.c +++ sys/dev/firewire/if_fwip.c @@ -97,7 +97,8 @@ static int rx_queue_len = FWMAXQUEUE; static MALLOC_DEFINE(M_FWIP, "if_fwip", "IP over FireWire interface"); -SYSCTL_INT(_debug, OID_AUTO, if_fwip_debug, CTLFLAG_RW, &fwipdebug, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, if_fwip_debug, CTLFLAG_RW, &fwipdebug, 0, + "Firewire ip debug level"); SYSCTL_DECL(_hw_firewire); static SYSCTL_NODE(_hw_firewire, OID_AUTO, fwip, CTLFLAG_RD, 0, "Firewire ip subsystem"); Index: sys/dev/ncr/ncr.c =================================================================== --- sys/dev/ncr/ncr.c +++ sys/dev/ncr/ncr.c @@ -1292,7 +1292,8 @@ #ifdef _KERNEL static int ncr_debug = SCSI_NCR_DEBUG; -SYSCTL_INT(_debug, OID_AUTO, ncr_debug, CTLFLAG_RW, &ncr_debug, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, ncr_debug, CTLFLAG_RW, &ncr_debug, 0, + "ncr debug level"); static int ncr_cache; /* to be aligned _NOT_ static */ Index: sys/fs/nullfs/null_vnops.c =================================================================== --- sys/fs/nullfs/null_vnops.c +++ sys/fs/nullfs/null_vnops.c @@ -191,8 +191,9 @@ #include static int null_bug_bypass = 0; /* for debugging: enables bypass printf'ing */ -SYSCTL_INT(_debug, OID_AUTO, nullfs_bug_bypass, CTLFLAG_RW, - &null_bug_bypass, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, nullfs_bug_bypass, CTLFLAG_RW, + &null_bug_bypass, 0, + "nullfs bypass debugging"); /* * This is the 10-Apr-92 bypass routine. Index: sys/geom/bde/g_bde_work.c =================================================================== --- sys/geom/bde/g_bde_work.c +++ sys/geom/bde/g_bde_work.c @@ -90,7 +90,8 @@ * C++ would call these constructors and destructors. */ static u_int g_bde_nwork; -SYSCTL_UINT(_debug, OID_AUTO, gbde_nwork, CTLFLAG_RD, &g_bde_nwork, 0, ""); +SYSCTL_UINT(_debug, OID_AUTO, gbde_nwork, CTLFLAG_RD, &g_bde_nwork, 0, + "Number of GBDE workers"); static MALLOC_DEFINE(M_GBDE, "gbde", "GBDE data structures"); @@ -129,7 +130,8 @@ */ static u_int g_bde_nsect; -SYSCTL_UINT(_debug, OID_AUTO, gbde_nsect, CTLFLAG_RD, &g_bde_nsect, 0, ""); +SYSCTL_UINT(_debug, OID_AUTO, gbde_nsect, CTLFLAG_RD, &g_bde_nsect, 0, + "Number of GBDE sectors"); static void g_bde_delete_sector(struct g_bde_softc *sc, struct g_bde_sector *sp) @@ -183,7 +185,8 @@ */ static u_int g_bde_ncache; -SYSCTL_UINT(_debug, OID_AUTO, gbde_ncache, CTLFLAG_RD, &g_bde_ncache, 0, ""); +SYSCTL_UINT(_debug, OID_AUTO, gbde_ncache, CTLFLAG_RD, &g_bde_ncache, 0, + "Number of GBDE caches"); static void g_bde_purge_one_sector(struct g_bde_softc *sc, struct g_bde_sector *sp) Index: sys/kern/kern_ktr.c =================================================================== --- sys/kern/kern_ktr.c +++ sys/kern/kern_ktr.c @@ -249,7 +249,8 @@ #ifdef KTR_VERBOSE int ktr_verbose = KTR_VERBOSE; TUNABLE_INT("debug.ktr.verbose", &ktr_verbose); -SYSCTL_INT(_debug_ktr, OID_AUTO, verbose, CTLFLAG_RW, &ktr_verbose, 0, ""); +SYSCTL_INT(_debug_ktr, OID_AUTO, verbose, CTLFLAG_RW, &ktr_verbose, 0, + "Verbose logging"); #endif #ifdef KTR_ALQ Index: sys/kern/kern_lockf.c =================================================================== --- sys/kern/kern_lockf.c +++ sys/kern/kern_lockf.c @@ -91,7 +91,8 @@ #include static int lockf_debug = 0; /* control debug output */ -SYSCTL_INT(_debug, OID_AUTO, lockf_debug, CTLFLAG_RW, &lockf_debug, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, lockf_debug, CTLFLAG_RW, &lockf_debug, 0, + "lockf debug level"); #endif static MALLOC_DEFINE(M_LOCKF, "lockf", "Byte-range locking structures"); Index: sys/kern/kern_mutex.c =================================================================== --- sys/kern/kern_mutex.c +++ sys/kern/kern_mutex.c @@ -144,10 +144,12 @@ static struct lock_delay_config __read_frequently mtx_delay; -SYSCTL_INT(_debug_mtx, OID_AUTO, delay_base, CTLFLAG_RW, &mtx_delay.base, - 0, ""); -SYSCTL_INT(_debug_mtx, OID_AUTO, delay_max, CTLFLAG_RW, &mtx_delay.max, - 0, ""); +SYSCTL_INT(_debug_mtx, OID_AUTO, delay_base, CTLFLAG_RW, + &mtx_delay.base, 0, + "Base lock delay"); +SYSCTL_INT(_debug_mtx, OID_AUTO, delay_max, CTLFLAG_RW, + &mtx_delay.max, 0, + "Maximum lock delay"); LOCK_DELAY_SYSINIT_DEFAULT(mtx_delay); #endif @@ -158,9 +160,11 @@ static struct lock_delay_config __read_frequently mtx_spin_delay; SYSCTL_INT(_debug_mtx_spin, OID_AUTO, delay_base, CTLFLAG_RW, - &mtx_spin_delay.base, 0, ""); + &mtx_spin_delay.base, 0, + "Base lock delay"); SYSCTL_INT(_debug_mtx_spin, OID_AUTO, delay_max, CTLFLAG_RW, - &mtx_spin_delay.max, 0, ""); + &mtx_spin_delay.max, 0, + "Maximum lock delay"); LOCK_DELAY_SYSINIT_DEFAULT(mtx_spin_delay); Index: sys/kern/kern_rwlock.c =================================================================== --- sys/kern/kern_rwlock.c +++ sys/kern/kern_rwlock.c @@ -99,15 +99,19 @@ static int __read_frequently rowner_loops = 10000; static SYSCTL_NODE(_debug, OID_AUTO, rwlock, CTLFLAG_RD, NULL, "rwlock debugging"); -SYSCTL_INT(_debug_rwlock, OID_AUTO, retry, CTLFLAG_RW, &rowner_retries, 0, ""); -SYSCTL_INT(_debug_rwlock, OID_AUTO, loops, CTLFLAG_RW, &rowner_loops, 0, ""); +SYSCTL_INT(_debug_rwlock, OID_AUTO, retry, CTLFLAG_RW, &rowner_retries, 0, + "Number of spin retries"); +SYSCTL_INT(_debug_rwlock, OID_AUTO, loops, CTLFLAG_RW, &rowner_loops, 0, + "Number of spin delay loops"); static struct lock_delay_config __read_frequently rw_delay; -SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_base, CTLFLAG_RW, &rw_delay.base, - 0, ""); -SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_max, CTLFLAG_RW, &rw_delay.max, - 0, ""); +SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_base, CTLFLAG_RW, + &rw_delay.base, 0, + "Delay base value"); +SYSCTL_INT(_debug_rwlock, OID_AUTO, delay_max, CTLFLAG_RW, + &rw_delay.max, 0, + "Delay max value"); LOCK_DELAY_SYSINIT_DEFAULT(rw_delay); #endif Index: sys/kern/kern_sig.c =================================================================== --- sys/kern/kern_sig.c +++ sys/kern/kern_sig.c @@ -3251,7 +3251,8 @@ return (0); } SYSCTL_PROC(_debug, OID_AUTO, ncores, CTLTYPE_INT|CTLFLAG_RW, - 0, sizeof(int), sysctl_debug_num_cores_check, "I", ""); + 0, sizeof(int), sysctl_debug_num_cores_check, "I", + "Number of core files"); #define GZ_SUFFIX ".gz" Index: sys/kern/kern_sx.c =================================================================== --- sys/kern/kern_sx.c +++ sys/kern/kern_sx.c @@ -147,16 +147,21 @@ #ifdef ADAPTIVE_SX static __read_frequently u_int asx_retries = 10; static __read_frequently u_int asx_loops = 10000; -static SYSCTL_NODE(_debug, OID_AUTO, sx, CTLFLAG_RD, NULL, "sxlock debugging"); -SYSCTL_UINT(_debug_sx, OID_AUTO, retries, CTLFLAG_RW, &asx_retries, 0, ""); -SYSCTL_UINT(_debug_sx, OID_AUTO, loops, CTLFLAG_RW, &asx_loops, 0, ""); +static SYSCTL_NODE(_debug, OID_AUTO, sx, CTLFLAG_RD, NULL, + "sxlock debugging"); +SYSCTL_UINT(_debug_sx, OID_AUTO, retries, CTLFLAG_RW, &asx_retries, 0, + "Number of spin retries"); +SYSCTL_UINT(_debug_sx, OID_AUTO, loops, CTLFLAG_RW, &asx_loops, 0, + "Amount of spin delay loops"); static struct lock_delay_config __read_frequently sx_delay; -SYSCTL_INT(_debug_sx, OID_AUTO, delay_base, CTLFLAG_RW, &sx_delay.base, - 0, ""); -SYSCTL_INT(_debug_sx, OID_AUTO, delay_max, CTLFLAG_RW, &sx_delay.max, - 0, ""); +SYSCTL_INT(_debug_sx, OID_AUTO, delay_base, CTLFLAG_RW, + &sx_delay.base, 0, + "Base lock delay"); +SYSCTL_INT(_debug_sx, OID_AUTO, delay_max, CTLFLAG_RW, + &sx_delay.max, 0, + "Maximum lock delay"); LOCK_DELAY_SYSINIT_DEFAULT(sx_delay); #endif Index: sys/kern/kern_umtx.c =================================================================== --- sys/kern/kern_umtx.c +++ sys/kern/kern_umtx.c @@ -254,7 +254,7 @@ static int umtx_verbose_rb = 1; SYSCTL_INT(_debug_umtx, OID_AUTO, robust_faults_verbose, CTLFLAG_RWTUN, &umtx_verbose_rb, 0, - ""); + "Robust faults verbose cleanup logging"); #ifdef UMTX_PROFILING static long max_length; Index: sys/kern/subr_lock.c =================================================================== --- sys/kern/subr_lock.c +++ sys/kern/subr_lock.c @@ -114,11 +114,13 @@ static u_int __read_mostly starvation_limit = 131072; SYSCTL_INT(_debug_lock_delay, OID_AUTO, starvation_limit, CTLFLAG_RW, - &starvation_limit, 0, ""); + &starvation_limit, 0, + "Lock delay starvation limit"); static u_int __read_mostly restrict_starvation = 0; SYSCTL_INT(_debug_lock_delay, OID_AUTO, restrict_starvation, CTLFLAG_RW, - &restrict_starvation, 0, ""); + &restrict_starvation, 0, + "Ignore lock starvation"); void lock_delay(struct lock_delay_arg *la) Index: sys/kern/subr_witness.c =================================================================== --- sys/kern/subr_witness.c +++ sys/kern/subr_witness.c @@ -393,7 +393,8 @@ #else int witness_kdb = 0; #endif -SYSCTL_INT(_debug_witness, OID_AUTO, kdb, CTLFLAG_RWTUN, &witness_kdb, 0, ""); +SYSCTL_INT(_debug_witness, OID_AUTO, kdb, CTLFLAG_RWTUN, &witness_kdb, 0, + "Enter kernel debugger after a lock order violation"); #endif /* KDB */ #if defined(DDB) || defined(KDB) @@ -404,7 +405,8 @@ * - locks are held when going to sleep. */ int witness_trace = 1; -SYSCTL_INT(_debug_witness, OID_AUTO, trace, CTLFLAG_RWTUN, &witness_trace, 0, ""); +SYSCTL_INT(_debug_witness, OID_AUTO, trace, CTLFLAG_RWTUN, &witness_trace, 0, + "Print stack traces for lock violations"); #endif /* DDB || KDB */ #ifdef WITNESS_SKIPSPIN @@ -412,13 +414,16 @@ #else int witness_skipspin = 0; #endif -SYSCTL_INT(_debug_witness, OID_AUTO, skipspin, CTLFLAG_RDTUN, &witness_skipspin, 0, ""); +SYSCTL_INT(_debug_witness, OID_AUTO, skipspin, CTLFLAG_RDTUN, + &witness_skipspin, 0, + "Skip checks on spinlocks"); int badstack_sbuf_size; int witness_count = WITNESS_COUNT; -SYSCTL_INT(_debug_witness, OID_AUTO, witness_count, CTLFLAG_RDTUN, - &witness_count, 0, ""); +SYSCTL_INT(_debug_witness, OID_AUTO, witness_count, CTLFLAG_RDTUN, + &witness_count, 0, + "Number of witnesses in the system"); /* * Output channel for witness messages. By default we print to the console. @@ -462,10 +467,12 @@ static u_int pending_cnt; static int w_free_cnt, w_spin_cnt, w_sleep_cnt; -SYSCTL_INT(_debug_witness, OID_AUTO, free_cnt, CTLFLAG_RD, &w_free_cnt, 0, ""); -SYSCTL_INT(_debug_witness, OID_AUTO, spin_cnt, CTLFLAG_RD, &w_spin_cnt, 0, ""); +SYSCTL_INT(_debug_witness, OID_AUTO, free_cnt, CTLFLAG_RD, &w_free_cnt, 0, + "Number of witnesses freed"); +SYSCTL_INT(_debug_witness, OID_AUTO, spin_cnt, CTLFLAG_RD, &w_spin_cnt, 0, + "Number of spin locks waiting"); SYSCTL_INT(_debug_witness, OID_AUTO, sleep_cnt, CTLFLAG_RD, &w_sleep_cnt, 0, - ""); + "Number of sleep locks waiting"); static struct witness *w_data; static uint8_t **w_rmatrix; Index: sys/kern/tty_compat.c =================================================================== --- sys/kern/tty_compat.c +++ sys/kern/tty_compat.c @@ -58,7 +58,8 @@ static int ttcompatspeedtab(int speed, struct speedtab *table); static int ttydebug = 0; -SYSCTL_INT(_debug, OID_AUTO, ttydebug, CTLFLAG_RW, &ttydebug, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, ttydebug, CTLFLAG_RW, &ttydebug, 0, + "TTY debug level"); static struct speedtab compatspeeds[] = { #define MAX_SPEED 17 Index: sys/net/if_tap.c =================================================================== --- sys/net/if_tap.c +++ sys/net/if_tap.c @@ -163,7 +163,8 @@ MALLOC_DECLARE(M_TAP); MALLOC_DEFINE(M_TAP, CDEV_NAME, "Ethernet tunnel interface"); -SYSCTL_INT(_debug, OID_AUTO, if_tap_debug, CTLFLAG_RW, &tapdebug, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, if_tap_debug, CTLFLAG_RW, &tapdebug, 0, + "tap debug level"); SYSCTL_DECL(_net_link); static SYSCTL_NODE(_net_link, OID_AUTO, tap, CTLFLAG_RW, 0, Index: sys/net/if_tun.c =================================================================== --- sys/net/if_tun.c +++ sys/net/if_tun.c @@ -111,7 +111,8 @@ static int tundclone = 1; static struct clonedevs *tunclones; static TAILQ_HEAD(,tun_softc) tunhead = TAILQ_HEAD_INITIALIZER(tunhead); -SYSCTL_INT(_debug, OID_AUTO, if_tun_debug, CTLFLAG_RW, &tundebug, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, if_tun_debug, CTLFLAG_RW, &tundebug, 0, + "tun debug level"); SYSCTL_DECL(_net_link); static SYSCTL_NODE(_net_link, OID_AUTO, tun, CTLFLAG_RW, 0, Index: sys/nlm/nlm_prot_impl.c =================================================================== --- sys/nlm/nlm_prot_impl.c +++ sys/nlm/nlm_prot_impl.c @@ -110,7 +110,8 @@ * so that it can be changed on a live system. */ static int nlm_debug_level; -SYSCTL_INT(_debug, OID_AUTO, nlm_debug, CTLFLAG_RW, &nlm_debug_level, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, nlm_debug, CTLFLAG_RW, &nlm_debug_level, 0, + "Network Lock Manager debug level"); #define NLM_DEBUG(_level, args...) \ do { \ Index: sys/sparc64/sparc64/trap.c =================================================================== --- sys/sparc64/sparc64/trap.c +++ sys/sparc64/sparc64/trap.c @@ -224,7 +224,8 @@ int debugger_on_signal = 0; SYSCTL_INT(_debug, OID_AUTO, debugger_on_signal, CTLFLAG_RW, - &debugger_on_signal, 0, ""); + &debugger_on_signal, 0, + "Enter debugger on trap signal"); u_int corrected_ecc = 0; SYSCTL_UINT(_machdep, OID_AUTO, corrected_ecc, CTLFLAG_RD, &corrected_ecc, 0, Index: sys/ufs/ffs/ffs_alloc.c =================================================================== --- sys/ufs/ffs/ffs_alloc.c +++ sys/ufs/ffs/ffs_alloc.c @@ -2805,7 +2805,8 @@ #define DEBUG 1 #ifdef DEBUG static int fsckcmds = 0; -SYSCTL_INT(_debug, OID_AUTO, fsckcmds, CTLFLAG_RW, &fsckcmds, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, fsckcmds, CTLFLAG_RW, &fsckcmds, 0, + "Log fsck command information"); #endif /* DEBUG */ static int buffered_write(struct file *, struct uio *, struct ucred *, Index: sys/ufs/ffs/ffs_snapshot.c =================================================================== --- sys/ufs/ffs/ffs_snapshot.c +++ sys/ufs/ffs/ffs_snapshot.c @@ -187,12 +187,14 @@ #ifdef DEBUG #include -SYSCTL_INT(_debug, OID_AUTO, dopersistence, CTLFLAG_RW, &dopersistence, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, dopersistence, CTLFLAG_RW, &dopersistence, 0, + "Enable snapshot persistence for file contents"); static int snapdebug = 0; -SYSCTL_INT(_debug, OID_AUTO, snapdebug, CTLFLAG_RW, &snapdebug, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, snapdebug, CTLFLAG_RW, &snapdebug, 0, + "Snapshot debug level"); int collectsnapstats = 0; -SYSCTL_INT(_debug, OID_AUTO, collectsnapstats, CTLFLAG_RW, &collectsnapstats, - 0, ""); +SYSCTL_INT(_debug, OID_AUTO, collectsnapstats, CTLFLAG_RW, &collectsnapstats, 0, + "Whether to collect snapshot stats"); #endif /* DEBUG */ /* Index: sys/ufs/ffs/ffs_vfsops.c =================================================================== --- sys/ufs/ffs/ffs_vfsops.c +++ sys/ufs/ffs/ffs_vfsops.c @@ -56,6 +56,7 @@ #include #include #include +#include #include #include @@ -1086,9 +1087,9 @@ return (0); } -#include static int bigcgs = 0; -SYSCTL_INT(_debug, OID_AUTO, bigcgs, CTLFLAG_RW, &bigcgs, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, bigcgs, CTLFLAG_RW, &bigcgs, 0, + "Use basic block size as cylinder group size"); /* * Sanity checks for loading old filesystem superblocks. Index: sys/ufs/ufs/ufs_extattr.c =================================================================== --- sys/ufs/ufs/ufs_extattr.c +++ sys/ufs/ufs/ufs_extattr.c @@ -76,8 +76,9 @@ static MALLOC_DEFINE(M_UFS_EXTATTR, "ufs_extattr", "ufs extended attribute"); static int ufs_extattr_sync = 0; -SYSCTL_INT(_debug, OID_AUTO, ufs_extattr_sync, CTLFLAG_RW, &ufs_extattr_sync, - 0, ""); +SYSCTL_INT(_debug, OID_AUTO, ufs_extattr_sync, CTLFLAG_RW, + &ufs_extattr_sync, 0, + "Extended attribute synchronization"); static int ufs_extattr_valid_attrname(int attrnamespace, const char *attrname); Index: sys/ufs/ufs/ufs_lookup.c =================================================================== --- sys/ufs/ufs/ufs_lookup.c +++ sys/ufs/ufs/ufs_lookup.c @@ -73,7 +73,8 @@ static int dirchk = 0; #endif -SYSCTL_INT(_debug, OID_AUTO, dircheck, CTLFLAG_RW, &dirchk, 0, ""); +SYSCTL_INT(_debug, OID_AUTO, dircheck, CTLFLAG_RW, &dirchk, 0, + "Perform full directory validation during inode lookup"); /* true if old FS format...*/ #define OFSFMT(vp) ((vp)->v_mount->mnt_maxsymlinklen <= 0) Index: sys/x86/x86/mp_watchdog.c =================================================================== --- sys/x86/x86/mp_watchdog.c +++ sys/x86/x86/mp_watchdog.c @@ -150,7 +150,8 @@ return (0); } SYSCTL_PROC(_debug, OID_AUTO, watchdog, CTLTYPE_INT|CTLFLAG_RW, 0, 0, - sysctl_watchdog, "I", ""); + sysctl_watchdog, "I", + "CPU number of the watchdog cpu"); /* * Drop into the debugger by sending an IPI NMI to the boot processor. Index: sys/x86/x86/mp_x86.c =================================================================== --- sys/x86/x86/mp_x86.c +++ sys/x86/x86/mp_x86.c @@ -1057,23 +1057,31 @@ u_int xhits_gbl[MAXCPU]; u_int xhits_pg[MAXCPU]; u_int xhits_rng[MAXCPU]; -static SYSCTL_NODE(_debug, OID_AUTO, xhits, CTLFLAG_RW, 0, ""); +static SYSCTL_NODE(_debug, OID_AUTO, xhits, CTLFLAG_RW, 0, + "Invlalidate TLB cache stats"); SYSCTL_OPAQUE(_debug_xhits, OID_AUTO, global, CTLFLAG_RW, &xhits_gbl, - sizeof(xhits_gbl), "IU", ""); + sizeof(xhits_gbl), "IU", + "Global invalidate TLB counts"); SYSCTL_OPAQUE(_debug_xhits, OID_AUTO, page, CTLFLAG_RW, &xhits_pg, - sizeof(xhits_pg), "IU", ""); + sizeof(xhits_pg), "IU", + "Page invalidate TLB counts"); SYSCTL_OPAQUE(_debug_xhits, OID_AUTO, range, CTLFLAG_RW, &xhits_rng, - sizeof(xhits_rng), "IU", ""); + sizeof(xhits_rng), "IU", + "Range invalidate TLB counts"); u_int ipi_global; u_int ipi_page; u_int ipi_range; u_int ipi_range_size; -SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_global, CTLFLAG_RW, &ipi_global, 0, ""); -SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_page, CTLFLAG_RW, &ipi_page, 0, ""); -SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_range, CTLFLAG_RW, &ipi_range, 0, ""); -SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_range_size, CTLFLAG_RW, &ipi_range_size, - 0, ""); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_global, CTLFLAG_RW, &ipi_global, 0, + "Inter-processor interrupt global count"); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_page, CTLFLAG_RW, &ipi_page, 0, + "Inter-processor interrupt page count"); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_range, CTLFLAG_RW, &ipi_range, 0, + "Inter-processor interrupt range count"); +SYSCTL_INT(_debug_xhits, OID_AUTO, ipi_range_size, CTLFLAG_RW, + &ipi_range_size, 0, + "Inter-processor interrupt range size"); #endif /* COUNT_XINVLTLB_HITS */ /*