svn commit: r270508 - head/sys/cddl/dev/fbt

Mark Johnston markj at FreeBSD.org
Sun Aug 24 17:10:48 UTC 2014


Author: markj
Date: Sun Aug 24 17:10:47 2014
New Revision: 270508
URL: http://svnweb.freebsd.org/changeset/base/270508

Log:
  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

Modified:
  head/sys/cddl/dev/fbt/fbt.c

Modified: head/sys/cddl/dev/fbt/fbt.c
==============================================================================
--- head/sys/cddl/dev/fbt/fbt.c	Sun Aug 24 17:03:52 2014	(r270507)
+++ head/sys/cddl/dev/fbt/fbt.c	Sun Aug 24 17:10:47 2014	(r270508)
@@ -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, v
 		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, v
 		return;
 
 	for (; fbt != NULL; fbt = fbt->fbtp_next)
-		fbt_patch_tracepoint(fbt, fbt->fbtp_patchval);
+		fbt_patch_tracepoint(fbt, fbt->fbtp_savedval);
 }
 
 static void


More information about the svn-src-head mailing list