diff options
author | attilio <attilio@FreeBSD.org> | 2011-05-31 20:23:33 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2011-05-31 20:23:33 +0000 |
commit | 066c7ac96c87ad7070c7f2469bab58ef10a9f636 (patch) | |
tree | d811190871d9cb791aa676d24bde2a7f86176989 /sys/kern/kern_ktr.c | |
parent | b1bf71d3c513adb3ecd4c1c7f5448ff4e16ace0d (diff) | |
download | FreeBSD-src-066c7ac96c87ad7070c7f2469bab58ef10a9f636.zip FreeBSD-src-066c7ac96c87ad7070c7f2469bab58ef10a9f636.tar.gz |
Revert a change that crept in during MFC.
Diffstat (limited to 'sys/kern/kern_ktr.c')
-rw-r--r-- | sys/kern/kern_ktr.c | 61 |
1 files changed, 10 insertions, 51 deletions
diff --git a/sys/kern/kern_ktr.c b/sys/kern/kern_ktr.c index 3a91dd6..2e5e06f 100644 --- a/sys/kern/kern_ktr.c +++ b/sys/kern/kern_ktr.c @@ -40,10 +40,8 @@ __FBSDID("$FreeBSD$"); #include "opt_alq.h" #include <sys/param.h> -#include <sys/queue.h> #include <sys/alq.h> #include <sys/cons.h> -#include <sys/cpuset.h> #include <sys/kernel.h> #include <sys/ktr.h> #include <sys/libkern.h> @@ -70,6 +68,10 @@ __FBSDID("$FreeBSD$"); #define KTR_MASK (0) #endif +#ifndef KTR_CPUMASK +#define KTR_CPUMASK (~0) +#endif + #ifndef KTR_TIME #define KTR_TIME get_cyclecount() #endif @@ -82,6 +84,11 @@ FEATURE(ktr, "Kernel support for KTR kernel tracing facility"); SYSCTL_NODE(_debug, OID_AUTO, ktr, CTLFLAG_RD, 0, "KTR options"); +int ktr_cpumask = KTR_CPUMASK; +TUNABLE_INT("debug.ktr.cpumask", &ktr_cpumask); +SYSCTL_INT(_debug_ktr, OID_AUTO, cpumask, CTLFLAG_RW, + &ktr_cpumask, 0, "Bitmask of CPUs on which KTR logging is enabled"); + int ktr_mask = KTR_MASK; TUNABLE_INT("debug.ktr.mask", &ktr_mask); SYSCTL_INT(_debug_ktr, OID_AUTO, mask, CTLFLAG_RW, @@ -99,54 +106,6 @@ int ktr_version = KTR_VERSION; SYSCTL_INT(_debug_ktr, OID_AUTO, version, CTLFLAG_RD, &ktr_version, 0, "Version of the KTR interface"); -cpuset_t ktr_cpumask; -static char ktr_cpumask_str[CPUSETBUFSIZ]; -TUNABLE_STR("debug.ktr.cpumask", ktr_cpumask_str, sizeof(ktr_cpumask_str)); - -static void -ktr_cpumask_initializer(void *dummy __unused) -{ - - CPU_FILL(&ktr_cpumask); -#ifdef KTR_CPUMASK - if (cpusetobj_strscan(&ktr_cpumask, KTR_CPUMASK) == -1) - CPU_FILL(&ktr_cpumask); -#endif - - /* - * TUNABLE_STR() runs with SI_ORDER_MIDDLE priority, thus it must be - * already set, if necessary. - */ - if (ktr_cpumask_str[0] != '\0' && - cpusetobj_strscan(&ktr_cpumask, ktr_cpumask_str) == -1) - CPU_FILL(&ktr_cpumask); -} -SYSINIT(ktr_cpumask_initializer, SI_SUB_TUNABLES, SI_ORDER_ANY, - ktr_cpumask_initializer, NULL); - -static int -sysctl_debug_ktr_cpumask(SYSCTL_HANDLER_ARGS) -{ - char lktr_cpumask_str[CPUSETBUFSIZ]; - cpuset_t imask; - int error; - - memset(lktr_cpumask_str, 0, sizeof(lktr_cpumask_str)); - error = sysctl_handle_string(oidp, lktr_cpumask_str, - sizeof(lktr_cpumask_str), req); - if (error != 0 || req->newptr == NULL) - return (error); - if (cpusetobj_strscan(&imask, lktr_cpumask_str) == -1) - return (EINVAL); - CPU_COPY(&imask, &ktr_cpumask); - - return (error); -} -SYSCTL_PROC(_debug_ktr, OID_AUTO, cpumask, - CTLFLAG_RW | CTLFLAG_MPSAFE | CTLTYPE_STRING, NULL, 0, - sysctl_debug_ktr_cpumask, "S", - "Bitmask of CPUs on which KTR logging is enabled"); - volatile int ktr_idx = 0; struct ktr_entry ktr_buf[KTR_ENTRIES]; @@ -254,7 +213,7 @@ ktr_tracepoint(u_int mask, const char *file, int line, const char *format, if ((ktr_mask & mask) == 0) return; cpu = KTR_CPU; - if (!CPU_ISSET(cpu, &ktr_cpumask)) + if (((1 << cpu) & ktr_cpumask) == 0) return; #if defined(KTR_VERBOSE) || defined(KTR_ALQ) td = curthread; |