PERFORCE change 102002 for review

Howard Su howardsu at FreeBSD.org
Thu Jul 20 15:46:26 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=102002

Change 102002 by howardsu at su_vm on 2006/07/20 15:45:59

	Fix sdt probe's stack. We need set caller pc.
	disable verbose output by default.

Affected files ...

.. //depot/projects/dtrace/src/sys/cddl/dev/sdt/sdt.c#7 edit

Differences ...

==== //depot/projects/dtrace/src/sys/cddl/dev/sdt/sdt.c#7 (text+ko) ====

@@ -103,12 +103,13 @@
 static sdt_probe_t		**sdt_probetab;
 static int			sdt_probetab_size;
 static int			sdt_probetab_mask;
-static int			sdt_verbose = 1;
+static int			sdt_verbose = 0;
 
 static int
 sdt_invop(uintptr_t addr, uintptr_t *stack, uintptr_t rval)
 {
- 	uintptr_t stack0, stack1, stack2, stack3, stack4;
+	struct pcpu *cpu = pcpu_find(curcpu);
+	uintptr_t stack0, stack1, stack2, stack3, stack4;
  	sdt_probe_t *sdt = sdt_probetab[SDT_ADDR2NDX(addr)];
 
  	 for (; sdt != NULL; sdt = sdt->sdp_hashnext) {
@@ -122,7 +123,8 @@
 	   		 * disabled.
 	   		 */
 	  		DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT);
-	  		stack0 = stack[i++];
+			cpu->pc_dtrace_caller = addr;
+			stack0 = stack[i++];
 	  		stack1 = stack[i++];
 	  		stack2 = stack[i++];
 	  		stack3 = stack[i++];


More information about the p4-projects mailing list