diff options
author | Mark Johnston <markj@FreeBSD.org> | 2014-08-24 17:10:47 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2014-08-24 17:10:47 +0000 |
commit | 35127d3c0f8abbe70f6599d645976dc317fa15a2 (patch) | |
tree | eef55d0bdd12861c338089e0ff2e12dff30e6137 | |
parent | 7cb570d0ae25a56954f5356bf2f7dea9e82691bc (diff) | |
download | src-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.c | 6 |
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 |