aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2014-08-24 17:10:47 +0000
committerMark Johnston <markj@FreeBSD.org>2014-08-24 17:10:47 +0000
commit35127d3c0f8abbe70f6599d645976dc317fa15a2 (patch)
treeeef55d0bdd12861c338089e0ff2e12dff30e6137
parent7cb570d0ae25a56954f5356bf2f7dea9e82691bc (diff)
downloadsrc-35127d3c0f8abbe70f6599d645976dc317fa15a2.tar.gz
src-35127d3c0f8abbe70f6599d645976dc317fa15a2.zip
Restore the correct value when disabling probes. Otherwise the instrumented
tracepoints would continue to generate traps, which would be ignored but could consume noticeable amounts of CPU if, say, all functions in the kernel were instrumented. X-MFC-With: r270067
Notes
Notes: svn path=/head/; revision=270508
-rw-r--r--sys/cddl/dev/fbt/fbt.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/cddl/dev/fbt/fbt.c b/sys/cddl/dev/fbt/fbt.c
index 894eb6239544..a8b86a006177 100644
--- a/sys/cddl/dev/fbt/fbt.c
+++ b/sys/cddl/dev/fbt/fbt.c
@@ -121,7 +121,7 @@ fbt_doubletrap(void)
fbt = fbt_probetab[i];
for (; fbt != NULL; fbt = fbt->fbtp_next)
- *fbt->fbtp_patchpoint = fbt->fbtp_savedval;
+ fbt_patch_tracepoint(fbt, fbt->fbtp_savedval);
}
}
@@ -253,7 +253,7 @@ fbt_disable(void *arg, dtrace_id_t id, void *parg)
return;
for (; fbt != NULL; fbt = fbt->fbtp_next)
- fbt_patch_tracepoint(fbt, fbt->fbtp_patchval);
+ fbt_patch_tracepoint(fbt, fbt->fbtp_savedval);
}
static void
@@ -268,7 +268,7 @@ fbt_suspend(void *arg, dtrace_id_t id, void *parg)
return;
for (; fbt != NULL; fbt = fbt->fbtp_next)
- fbt_patch_tracepoint(fbt, fbt->fbtp_patchval);
+ fbt_patch_tracepoint(fbt, fbt->fbtp_savedval);
}
static void