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
This commit is contained in:
parent
bf5f21dde4
commit
46bd89ef4c
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user