From owner-freebsd-current@FreeBSD.ORG Thu Feb 5 17:04:17 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 60A41106564A for ; Thu, 5 Feb 2009 17:04:17 +0000 (UTC) (envelope-from klapperzhu@gmail.com) Received: from mail-gx0-f21.google.com (mail-gx0-f21.google.com [209.85.217.21]) by mx1.freebsd.org (Postfix) with ESMTP id 218598FC1B for ; Thu, 5 Feb 2009 17:04:16 +0000 (UTC) (envelope-from klapperzhu@gmail.com) Received: by gxk14 with SMTP id 14so389881gxk.19 for ; Thu, 05 Feb 2009 09:04:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=5szaLdIU6S62LUFJSKoC2T5jaiCFxRjDbhkiB8o1Xjw=; b=gck5rQCZi2M15nyKcvxU9jfWhl6bm/6Ef3xTE3r7agZSl9qQHDP+YRo00bZTJLgdru U7FDR8VRaniDEuWQ9r3oRHiwRyQv/6fgyEXBKVtM8LXAKCgaA/nGo6W8OKvm7KI4ucMO 0EmC+FD7+f1wQTrvG0JlC2e2KxiRM/dmUoV34= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=uXp4yPPpAtrah6bIq9yF1pbb1+729ubXW3PjCc3J7FZy2NpCGCP4i3QCEDdXxx78YT L63H3cp9mGi64oyBhXGb7zto5+tCQBSMVRQy6qM4aYDDQIXhy0373+3XEYuK6qcz34sD lM94gSf9U60wZgsiu/is+SCyQDMQrjayX0ffs= MIME-Version: 1.0 Received: by 10.151.113.11 with SMTP id q11mr691067ybm.143.1233851512400; Thu, 05 Feb 2009 08:31:52 -0800 (PST) Date: Thu, 5 Feb 2009 11:31:52 -0500 Message-ID: From: Klapper Zhu To: freebsd-current@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: To John Birrell: weird behaviors of DTrace on amd64 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Feb 2009 17:04:17 -0000 Hi John Birrell, I am exploring DTrace on "7.1-STABLE FreeBSD amd64" and I found several weird behaviors: 1) Not all kernel functions show up in fbt provider. Take isp(4) as example: "dtrace -l" shows static void isp_freeze_loopdown(ispsoftc_t *, int, char *); ___but not___ static void isp_handle_platform_atio2(ispsoftc_t *, at2_entry_t *); Both are static functions. But one shows up in fbt, another not. What's the rational behind it ? Any way to fix it ? 2) The symptom described below only shows in 64-bit platform (amd64). Here is the D Code: fbt::isp_handle_platform_atio2:entry { self->cdb =args[1]->at_cmnd.cdb_dl.sf.fcp_cmnd_cdb[0]; printf("%s(%x, %x, cdb_cmd %x)\n", probefunc, arg0, arg1, self->cdb); } It will never fire. I have to add another 2 probes on top of it, then it (fbt::isp_handle_platform_atio2:entry) will trace. Even the 2 probes on top of it never fire. --------------- dtrace:::BEGIN { tr = 0; } fbt:::entry /tr == 1/ { @a[probefunc] = count(); } fbt::isp_handle_platform_atio2:entry { self->cdb =args[1]->at_cmnd.cdb_dl.sf.fcp_cmnd_cdb[0]; printf("%s(%x, %x, cdb_cmd %x)\n", probefunc, arg0, arg1, self->cdb); } Thanks, Z. Zhu