Date: Thu, 20 Jul 2006 15:46:25 GMT From: Howard Su <howardsu@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 102002 for review Message-ID: <200607201546.k6KFkPtY014046@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=102002 Change 102002 by howardsu@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++];
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607201546.k6KFkPtY014046>