From owner-p4-projects@FreeBSD.ORG Thu Jul 20 15:46:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD34C16A4DF; Thu, 20 Jul 2006 15:46:25 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B678416A4DA for ; Thu, 20 Jul 2006 15:46:25 +0000 (UTC) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 824A843D46 for ; Thu, 20 Jul 2006 15:46:25 +0000 (GMT) (envelope-from howardsu@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6KFkPv4014049 for ; Thu, 20 Jul 2006 15:46:25 GMT (envelope-from howardsu@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6KFkPtY014046 for perforce@freebsd.org; Thu, 20 Jul 2006 15:46:25 GMT (envelope-from howardsu@FreeBSD.org) Date: Thu, 20 Jul 2006 15:46:25 GMT Message-Id: <200607201546.k6KFkPtY014046@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to howardsu@FreeBSD.org using -f From: Howard Su To: Perforce Change Reviews Cc: Subject: PERFORCE change 102002 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 15:46:26 -0000 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++];