aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAttilio Rao <attilio@FreeBSD.org>2011-05-23 23:50:21 +0000
committerAttilio Rao <attilio@FreeBSD.org>2011-05-23 23:50:21 +0000
commit217e1c0ebc721da34b79b21d54688b870493cc47 (patch)
treee52f70aa1b363fc74273dde688cfceeb4bda017e
parenta9ff18a21073e386812695e19b987f52690de096 (diff)
downloadsrc-217e1c0ebc721da34b79b21d54688b870493cc47.tar.gz
src-217e1c0ebc721da34b79b21d54688b870493cc47.zip
Revert a patch that unvolountary sneaked in while I was MFCing.
Notes
Notes: svn path=/projects/largeSMP/; revision=222235
-rw-r--r--sys/conf/NOTES2
-rw-r--r--sys/kern/kern_cpuset.c36
-rw-r--r--sys/kern/kern_ktr.c25
-rw-r--r--sys/sparc64/include/ktr.h2
-rw-r--r--sys/sys/cpuset.h1
-rw-r--r--sys/sys/ktr.h1
6 files changed, 11 insertions, 56 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index 966b3cfbc2c6..94311c61cfda 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -441,7 +441,7 @@ options KTR
options KTR_ENTRIES=1024
options KTR_COMPILE=(KTR_INTR|KTR_PROC)
options KTR_MASK=KTR_INTR
-options KTR_CPUMASK=("0x3")
+options KTR_CPUMASK=0x3
options KTR_VERBOSE
#
diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c
index 5ca3be2b5597..3b2c653de9ef 100644
--- a/sys/kern/kern_cpuset.c
+++ b/sys/kern/kern_cpuset.c
@@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$");
#include <sys/cpuset.h>
#include <sys/sx.h>
#include <sys/queue.h>
-#include <sys/libkern.h>
#include <sys/limits.h>
#include <sys/bus.h>
#include <sys/interrupt.h>
@@ -661,41 +660,6 @@ cpusetobj_strprint(char *buf, const cpuset_t *set)
}
/*
- * Build a valid cpuset_t object from a string representation.
- * It expects an incoming buffer at least sized as CPUSETBUFSIZ.
- */
-int
-cpusetobj_strscan(cpuset_t *set, const char *buf)
-{
- u_int nwords;
- int i;
-
- if (strlen(buf) > CPUSETBUFSIZ - 1)
- return (-1);
-
- /* Allow to pass a shorter version of the mask when necessary. */
- nwords = 1;
- for (i = 0; buf[i] != '\0'; i++)
- if (buf[i] == ',')
- nwords++;
- if (nwords > _NCPUWORDS)
- return (-1);
-
- CPU_ZERO(set);
- for (i = nwords - 1; i > 0; i--) {
- if (!sscanf(buf, "%lx, ", &set->__bits[i]))
- return (-1);
- buf = strstr(buf, " ");
- if (buf == NULL)
- return (-1);
- buf++;
- }
- if (!sscanf(buf, "%lx", &set->__bits[0]))
- return (-1);
- return (0);
-}
-
-/*
* Apply an anonymous mask to a single thread.
*/
int
diff --git a/sys/kern/kern_ktr.c b/sys/kern/kern_ktr.c
index c62f78498525..2e5e06f671b2 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,10 +84,10 @@ FEATURE(ktr, "Kernel support for KTR kernel tracing facility");
SYSCTL_NODE(_debug, OID_AUTO, ktr, CTLFLAG_RD, 0, "KTR options");
-static char ktr_cpumask[CPUSETBUFSIZ];
-TUNABLE_STR("debug.ktr.cpumask", ktr_cpumask, sizeof(ktr_cpumask));
-SYSCTL_STRING(_debug_ktr, OID_AUTO, cpumask, CTLFLAG_RW, ktr_cpumask,
- sizeof(ktr_cpumask), "Bitmask of CPUs on which KTR logging is enabled");
+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);
@@ -196,7 +198,6 @@ ktr_tracepoint(u_int mask, const char *file, int line, const char *format,
u_long arg1, u_long arg2, u_long arg3, u_long arg4, u_long arg5,
u_long arg6)
{
- cpuset_t intern_cpumask;
struct ktr_entry *entry;
#ifdef KTR_ALQ
struct ale *ale = NULL;
@@ -211,16 +212,8 @@ ktr_tracepoint(u_int mask, const char *file, int line, const char *format,
return;
if ((ktr_mask & mask) == 0)
return;
-#ifndef KTR_CPUMASK
- CPU_FILL(&intern_cpumask);
-#else
- if (ktr_cpumask[0] == '\0')
- strncpy(ktr_cpumask, KTR_CPUMASK, sizeof(ktr_cpumask));
- if (cpusetobj_strscan(&intern_cpumask, ktr_cpumask) == -1)
- return;
-#endif
cpu = KTR_CPU;
- if (!CPU_ISSET(cpu, &intern_cpumask))
+ if (((1 << cpu) & ktr_cpumask) == 0)
return;
#if defined(KTR_VERBOSE) || defined(KTR_ALQ)
td = curthread;
diff --git a/sys/sparc64/include/ktr.h b/sys/sparc64/include/ktr.h
index 0cd96e162494..5948ba29fb3e 100644
--- a/sys/sparc64/include/ktr.h
+++ b/sys/sparc64/include/ktr.h
@@ -85,9 +85,7 @@ l2: add r2, 1, r3 ; \
lduw [PCPU(MID)], r1 ; \
mov 1, r2 ; \
sllx r2, r1, r1 ; \
-#if 0
TEST(ktr_cpumask, r1, r2, r3, l3) ; \
-#endif
ATR(desc, r1, r2, r3, l1, l2)
#endif /* LOCORE */
diff --git a/sys/sys/cpuset.h b/sys/sys/cpuset.h
index 55ba5d1cdc23..e06df54ab018 100644
--- a/sys/sys/cpuset.h
+++ b/sys/sys/cpuset.h
@@ -216,7 +216,6 @@ int cpuset_create_root(struct prison *, struct cpuset **);
int cpuset_setproc_update_set(struct proc *, struct cpuset *);
int cpusetobj_ffs(const cpuset_t *);
char *cpusetobj_strprint(char *, const cpuset_t *);
-int cpusetobj_strscan(cpuset_t *, const char *);
#else
__BEGIN_DECLS
diff --git a/sys/sys/ktr.h b/sys/sys/ktr.h
index 6fe72de3b038..3b78101dd1b4 100644
--- a/sys/sys/ktr.h
+++ b/sys/sys/ktr.h
@@ -107,6 +107,7 @@ struct ktr_entry {
u_long ktr_parms[KTR_PARMS];
};
+extern int ktr_cpumask;
extern int ktr_mask;
extern int ktr_entries;
extern int ktr_verbose;