From owner-freebsd-dtrace@FreeBSD.ORG Sun Oct 19 19:22:40 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D1FE4128 for ; Sun, 19 Oct 2014 19:22:40 +0000 (UTC) Received: from gpo4.cc.swin.edu.au (gpo4.cc.swin.edu.au [136.186.1.33]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6F3F3C6C for ; Sun, 19 Oct 2014 19:22:39 +0000 (UTC) Received: from [136.186.229.37] (garmitage.caia.swin.edu.au [136.186.229.37]) by gpo4.cc.swin.edu.au (8.14.3/8.14.3) with ESMTP id s9JJMbol014252 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 20 Oct 2014 06:22:37 +1100 Message-ID: <54440F7D.3040700@swin.edu.au> Date: Mon, 20 Oct 2014 06:22:37 +1100 From: grenville armitage User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121107 Thunderbird/16.0.2 MIME-Version: 1.0 To: freebsd-dtrace@freebsd.org Subject: dtrace question -- TCP smoothed RTT ? Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Oct 2014 19:22:40 -0000 Hi, Just started playing with Dtrace two weeks ago, and am curious to see how much siftr(4) functionality can be replicated with a dtrace script. Apologies in advance if my question/proposal stems from simply having too much 'dtrace newbie' flowing in my veins. I'd like be able to use args[3]->tcps_srtt to extract the current smoothed TCP RTT when inside a tcp:::send or tcp:::receive probe. Currently this isn't available (as best as I can tell). My solution was to patch /usr/src/cddl/lib/libdtrace/tcp.d by adding two lines as follows: *** tcp.d-orig Fri Aug 15 16:35:44 2014 --- tcp.d Tue Oct 14 14:24:36 2014 *************** *** 116,121 **** --- 116,122 ---- uint32_t tcps_rto; /* round-trip timeout, msec */ uint32_t tcps_mss; /* max segment size */ int tcps_retransmit; /* retransmit send event, boolean */ + int tcps_srtt; /* smoothed RTT in units of (TCP_RTT_SCALE*hz) */ } tcpsinfo_t; /* *************** *** 200,205 **** --- 201,207 ---- tcps_rto = p == NULL ? -1 : p->t_rxtcur / 1000; /* XXX */ tcps_mss = p == NULL ? -1 : p->t_maxseg; tcps_retransmit = p == NULL ? -1 : p->t_rxtshift > 0 ? 1 : 0; + tcps_srtt = p == NULL ? -1 : p->t_srtt; /* smoothed RTT in units of (TCP_RTT_SCALE*hz) */ }; #pragma D binding "1.0" translator The result is args[3]->tcps_srtt with the same semantics as the smoothed RTT output by SIFTR. Would someone with commit bit like to take this change and run with it? Or poke holes? Or suggest an improvement? (If it matters, the above patch was applied to and tested on FB10-stable r269789 source.) cheers, gja From owner-freebsd-dtrace@FreeBSD.ORG Sun Oct 19 20:01:25 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B0E1C617 for ; Sun, 19 Oct 2014 20:01:25 +0000 (UTC) Received: from vps.hungerhost.com (vps.hungerhost.com [216.38.53.176]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 86AF8F80 for ; Sun, 19 Oct 2014 20:01:24 +0000 (UTC) Received: from cpe-72-182-123-83.austin.res.rr.com ([72.182.123.83]:23300 helo=[192.168.1.121]) by vps.hungerhost.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from ) id 1XfwfB-0004lS-2v; Sun, 19 Oct 2014 16:01:13 -0400 Message-ID: <54441885.3060603@neville-neil.com> Date: Sun, 19 Oct 2014 16:01:09 -0400 From: George Neville-Neil User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2 MIME-Version: 1.0 To: grenville armitage , freebsd-dtrace@freebsd.org Subject: Re: dtrace question -- TCP smoothed RTT ? References: <54440F7D.3040700@swin.edu.au> In-Reply-To: <54440F7D.3040700@swin.edu.au> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vps.hungerhost.com X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - neville-neil.com X-Get-Message-Sender-Via: vps.hungerhost.com: authenticated_id: gnn@neville-neil.com X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Oct 2014 20:01:25 -0000 On 10/19/2014 15:22, grenville armitage wrote: > Hi, > > Just started playing with Dtrace two weeks ago, and am curious to see > how much siftr(4) functionality can be replicated with a dtrace script. > Apologies in advance if my question/proposal stems from simply having > too much 'dtrace newbie' flowing in my veins. > > I'd like be able to use args[3]->tcps_srtt to extract the current > smoothed TCP RTT when inside a tcp:::send or tcp:::receive probe. > Currently this isn't available (as best as I can tell). My solution was > to patch /usr/src/cddl/lib/libdtrace/tcp.d by adding two lines as follows: > > > *** tcp.d-orig Fri Aug 15 16:35:44 2014 > --- tcp.d Tue Oct 14 14:24:36 2014 > *************** > *** 116,121 **** > --- 116,122 ---- > uint32_t tcps_rto; /* round-trip timeout, msec */ > uint32_t tcps_mss; /* max segment size */ > int tcps_retransmit; /* retransmit send event, > boolean */ > + int tcps_srtt; /* smoothed RTT in units of > (TCP_RTT_SCALE*hz) */ > } tcpsinfo_t; > /* > *************** > *** 200,205 **** > --- 201,207 ---- > tcps_rto = p == NULL ? -1 : p->t_rxtcur / 1000; /* > XXX */ > tcps_mss = p == NULL ? -1 : p->t_maxseg; > tcps_retransmit = p == NULL ? -1 : p->t_rxtshift > 0 ? 1 : 0; > + tcps_srtt = p == NULL ? -1 : p->t_srtt; /* > smoothed RTT in units of (TCP_RTT_SCALE*hz) */ > }; > #pragma D binding "1.0" translator > > > The result is args[3]->tcps_srtt with the same semantics as the smoothed > RTT output by SIFTR. > > Would someone with commit bit like to take this change and run with it? > Or poke holes? Or suggest an improvement? > > (If it matters, the above patch was applied to and tested on FB10-stable > r269789 source.) > I'll take a look at this, possibly today. Do you have any scripts that use this functionality? Best, George From owner-freebsd-dtrace@FreeBSD.ORG Tue Oct 21 04:00:41 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2658D612 for ; Tue, 21 Oct 2014 04:00:41 +0000 (UTC) Received: from gpo3.cc.swin.edu.au (gpo3.cc.swin.edu.au [136.186.1.32]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9EBC3915 for ; Tue, 21 Oct 2014 04:00:40 +0000 (UTC) Received: from [136.186.229.37] (garmitage.caia.swin.edu.au [136.186.229.37]) by gpo3.cc.swin.edu.au (8.14.3/8.14.3) with ESMTP id s9L40aZK023023 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 21 Oct 2014 15:00:37 +1100 Message-ID: <5445DA64.4060506@swin.edu.au> Date: Tue, 21 Oct 2014 15:00:36 +1100 From: grenville armitage User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121107 Thunderbird/16.0.2 MIME-Version: 1.0 To: freebsd-dtrace@freebsd.org Subject: dtrace tcps_rto bug? Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Oct 2014 04:00:41 -0000 I'm curious about dtrace's args[3]->tcps_rto calculation. Right now /usr/src/cddl/lib/libdtrace/tcp.d defines tcps_rto as: typedef struct tcpsinfo { [..] uint32_t tcps_rto; /* round-trip timeout, msec */ [..] } tcpsinfo_t; And then later derives tcps_rto from p->t_rxtcur like so: tcps_rto = p == NULL ? -1 : p->t_rxtcur / 1000; /* XXX */ I doubt this is right. t_rxtcur is the kernel's notion of RTO in ticks (as per netinet/tcp_var.h), so for a kernel where HZ=1000 the preceding calculation would result tcps_rto being the RTO in seconds (not milliseconds, as stated in the struct tcpsinfo definition). And for kernels where HZ != 1000, all bets are off. Inside a dtrace .d file we can use "`hz" to represent the running kernel's current tick rate (kern.hz), so I believe the correct expression for tcps_rto would be: tcps_rto = p == NULL ? -1 : (p->t_rxtcur * 1000) / `hz; (I've run a few simple tests, and this change seems to produce plausible RTO values in milliseconds when args[3]->tcps_rto is read from inside a tcp:::send probe.) cheers, gja From owner-freebsd-dtrace@FreeBSD.ORG Tue Oct 21 04:00:48 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DA9AF62B for ; Tue, 21 Oct 2014 04:00:48 +0000 (UTC) Received: from gpo1.cc.swin.edu.au (gpo1.cc.swin.edu.au [136.186.1.30]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5C35298C for ; Tue, 21 Oct 2014 04:00:47 +0000 (UTC) Received: from [136.186.229.37] (garmitage.caia.swin.edu.au [136.186.229.37]) by gpo1.cc.swin.edu.au (8.14.3/8.14.3) with ESMTP id s9L40jQA029196 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 21 Oct 2014 15:00:45 +1100 Message-ID: <5445DA6D.5010000@swin.edu.au> Date: Tue, 21 Oct 2014 15:00:45 +1100 From: grenville armitage User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121107 Thunderbird/16.0.2 MIME-Version: 1.0 To: freebsd-dtrace@freebsd.org Subject: Re: dtrace question -- TCP smoothed RTT ? References: <54440F7D.3040700@swin.edu.au> <54441885.3060603@neville-neil.com> In-Reply-To: <54441885.3060603@neville-neil.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Oct 2014 04:00:48 -0000 On 10/20/2014 07:01, George Neville-Neil wrote: [..] > I'll take a look at this, possibly today. Do you have any scripts that > use this functionality? Just confirming to the list, I'm sending George an example script to use this new field. cheers, gja From owner-freebsd-dtrace@FreeBSD.ORG Tue Oct 21 05:24:03 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4D0515A7 for ; Tue, 21 Oct 2014 05:24:03 +0000 (UTC) Received: from mail-pa0-x231.google.com (mail-pa0-x231.google.com [IPv6:2607:f8b0:400e:c03::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 223F7123 for ; Tue, 21 Oct 2014 05:24:03 +0000 (UTC) Received: by mail-pa0-f49.google.com with SMTP id hz1so601404pad.8 for ; Mon, 20 Oct 2014 22:24:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=h7UBiPUCiVvjo0Ug55wENhyFB4Q5vE9wP7neZPGx5Fs=; b=KUV0ayzvF5GwQFdWFKBmaOUgtebgKqLuUWe4PY+OlQ5vd8yJzYlEFw820gptUPqLcs FD8b1nEx/J+3rnqhJSsSKQjGsEGXosdh2yvzwPpFc+BDqvjQT7+hgA3zYw3Dbw5El0zt m87o93jZkagvsPy4oC/YzgBLxuW7iUZ1dK338gsQRHlmnbm6DYDaPvqmuzX7voIvm8Sl LuKUKl3kjMDMnTV+ymQAYjVmSuzKEEEKHo8Z3M7SJY4M88nIAXviPoud3qflX2pZG1q8 iDmudFEjg2xyn1V0H0DNUTgYfZoM4wWkAUemM61XBjG2Qg38n4z6mCeXjYaZmI5fx8PB hBDw== X-Received: by 10.68.211.6 with SMTP id my6mr8814228pbc.125.1413869042704; Mon, 20 Oct 2014 22:24:02 -0700 (PDT) Received: from charmander.picturesperfect.net (c-67-182-131-225.hsd1.wa.comcast.net. [67.182.131.225]) by mx.google.com with ESMTPSA id oq10sm1457653pac.47.2014.10.20.22.24.01 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Oct 2014 22:24:01 -0700 (PDT) Sender: Mark Johnston Date: Mon, 20 Oct 2014 22:23:56 -0700 From: Mark Johnston To: grenville armitage Subject: Re: dtrace tcps_rto bug? Message-ID: <20141021052356.GA38615@charmander.picturesperfect.net> References: <5445DA64.4060506@swin.edu.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5445DA64.4060506@swin.edu.au> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: freebsd-dtrace@freebsd.org X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Oct 2014 05:24:03 -0000 On Tue, Oct 21, 2014 at 03:00:36PM +1100, grenville armitage wrote: > > I'm curious about dtrace's args[3]->tcps_rto calculation. > > Right now /usr/src/cddl/lib/libdtrace/tcp.d defines tcps_rto as: > > typedef struct tcpsinfo { > [..] > uint32_t tcps_rto; /* round-trip timeout, msec */ > [..] > } tcpsinfo_t; > > And then later derives tcps_rto from p->t_rxtcur like so: > > tcps_rto = p == NULL ? -1 : p->t_rxtcur / 1000; /* XXX */ > > I doubt this is right. > > t_rxtcur is the kernel's notion of RTO in ticks (as per netinet/tcp_var.h), so for a kernel where HZ=1000 the preceding calculation would result tcps_rto being the RTO in seconds (not milliseconds, as stated in the struct tcpsinfo definition). And for kernels where HZ != 1000, all bets are off. Right. I'm not sure what I was thinking when I wrote that line. :( > > Inside a dtrace .d file we can use "`hz" to represent the running kernel's current tick rate (kern.hz), so I believe the correct expression for tcps_rto would be: > > tcps_rto = p == NULL ? -1 : (p->t_rxtcur * 1000) / `hz; > > (I've run a few simple tests, and this change seems to produce plausible RTO values in milliseconds when args[3]->tcps_rto is read from inside a tcp:::send probe.) I've committed the change as r273370. Thanks! -Mark From owner-freebsd-dtrace@FreeBSD.ORG Fri Oct 24 04:33:38 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C80C275E for ; Fri, 24 Oct 2014 04:33:38 +0000 (UTC) Received: from elf.hq.norma.perm.ru (unknown [IPv6:2a00:7540:1::5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.norma.perm.ru", Issuer "Norma UNIX CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 43E871C0 for ; Fri, 24 Oct 2014 04:33:37 +0000 (UTC) Received: from bsdrookie.norma.com. (bsdrookie.norma.com [192.168.7.224]) by elf.hq.norma.perm.ru (8.14.9/8.14.5) with ESMTP id s9O4XW54006520 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Fri, 24 Oct 2014 10:33:33 +0600 (YEKT) (envelope-from emz@norma.perm.ru) Message-ID: <5449D69C.6090009@norma.perm.ru> Date: Fri, 24 Oct 2014 10:33:32 +0600 From: "Eugene M. Zheganin" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: freebsd-dtrace@freebsd.org Subject: ufunc() doesn't work Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (elf.hq.norma.perm.ru [192.168.3.10]); Fri, 24 Oct 2014 10:33:33 +0600 (YEKT) X-Spam-Status: No hits=-101.0 bayes=0.5 testhits ALL_TRUSTED=-1, USER_IN_WHITELIST=-100 autolearn=unavailable version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on elf.hq.norma.perm.ru X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Oct 2014 04:33:38 -0000 Hi. I'm new to dtrace and I test various examples while learning, but it seems to me that I miss something. This example doesn't work on FreeBSD: dtrace -n 'profile-97/arg1/ { @[ufunc(arg1)] = count(); }' although it works fine on Solaris. As I understand, ufunc() is some kine of core function, not the stuff brought by some provider that is probably missing on FreeBSD. Why doesn't this work ? I use it on FreeBSD 10.0-STABLE r261282. Thanks. From owner-freebsd-dtrace@FreeBSD.ORG Fri Oct 24 05:08:19 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E5F13A4D for ; Fri, 24 Oct 2014 05:08:19 +0000 (UTC) Received: from mail-pd0-x22b.google.com (mail-pd0-x22b.google.com [IPv6:2607:f8b0:400e:c02::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BC27667A for ; Fri, 24 Oct 2014 05:08:19 +0000 (UTC) Received: by mail-pd0-f171.google.com with SMTP id r10so814473pdi.2 for ; Thu, 23 Oct 2014 22:08:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=/A5U83gmTm0TDbLI6ENdRJC4Vtkx6kCglgoqJwiAO1U=; b=PuZX35uLDsysfhyRwAdGB5bgSrUNb+ORpPCS8sBefZuP8wajYKsmSd/fy2IJH9sHTE u1vodlFJJobs48Sy5pxJFE0Y52NyRP1xMCQS8jLUbWasr3XQ08xC3cKu80FJya5z6pVZ Z7Fw+zhvGTWrgaUIJ2IUsfNPlD3fJD2sb7bvuhU4bFIgOHbS9TkEYHo9PElze+9B3Yp/ YIpJr8G8yh5/A1O9e1P1RNzX+8uwo7QOV1dhtg2RrrQVx0A3YM6bpzgjxTL+qGaGYMDV oL8J2+VZYPU9o+zUsa3tCVNSKZqjIoZu6OnbKbH/AYAK+dGbv2WvKo3GImhssM6n3E2J 2Y+A== X-Received: by 10.68.101.98 with SMTP id ff2mr2347419pbb.74.1414127299254; Thu, 23 Oct 2014 22:08:19 -0700 (PDT) Received: from raichu ([198.244.104.6]) by mx.google.com with ESMTPSA id gz11sm2890840pbd.20.2014.10.23.22.08.17 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Oct 2014 22:08:18 -0700 (PDT) Sender: Mark Johnston Date: Thu, 23 Oct 2014 22:08:04 -0700 From: Mark Johnston To: "Eugene M. Zheganin" Subject: Re: ufunc() doesn't work Message-ID: <20141024050804.GA25182@raichu> References: <5449D69C.6090009@norma.perm.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5449D69C.6090009@norma.perm.ru> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: freebsd-dtrace@freebsd.org X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Oct 2014 05:08:20 -0000 On Fri, Oct 24, 2014 at 10:33:32AM +0600, Eugene M. Zheganin wrote: > Hi. > > I'm new to dtrace and I test various examples while learning, but it > seems to me that I miss something. This example doesn't work on FreeBSD: > > dtrace -n 'profile-97/arg1/ { @[ufunc(arg1)] = count(); }' > > although it works fine on Solaris. As I understand, ufunc() is some kine > of core function, not the stuff brought by some provider that is > probably missing on FreeBSD. Why doesn't this work ? I use it on FreeBSD > 10.0-STABLE r261282. Hi, The ufunc function (as well as umod and sym) is available on HEAD but not in stable/10. I'll merge the change as soon as I've verified that it builds. Thanks for pointing this out. -Mark From owner-freebsd-dtrace@FreeBSD.ORG Fri Oct 24 17:54:38 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 20F27F9A for ; Fri, 24 Oct 2014 17:54:38 +0000 (UTC) Received: from mail-wi0-x232.google.com (mail-wi0-x232.google.com [IPv6:2a00:1450:400c:c05::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B11D574A for ; Fri, 24 Oct 2014 17:54:37 +0000 (UTC) Received: by mail-wi0-f178.google.com with SMTP id q5so1902569wiv.11 for ; Fri, 24 Oct 2014 10:54:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=QIDcI/zPgU+aoq3O2/1kq4l6GlZjTZZed4iRjD11Cgs=; b=IepXoGkP9ShGBZTMXdyYC2o8wjLvfMwginVSes8WIvxT1LXgz9uh8+jvoK5iwqkm++ Bo0VR9vPJG3HoJMIJ/vp69wRcsa+JfyVf+2amqKyUbUgNhAEfXTAok4zR6BEAFLcLW3y U3VQXPWPjkioCirK3ToDIJIPdZBE7r3akMIvPpfbQlUk71AWOBiaNnhfHXQcU6GBPnN4 u0Kf4iZUSFMshaWJrFFuCjH54/Az9au1re0RZNnrDqEGLiL1Vi8lY289DSDzXf5VY13J LO+4xIWYQ7PUrDJrhSM9moDbYH/d9iP5vxRS9QcIzIVwBpJshPAGQOCeqyEW3myBAeVs Yy+g== MIME-Version: 1.0 X-Received: by 10.180.39.65 with SMTP id n1mr5634282wik.13.1414173276061; Fri, 24 Oct 2014 10:54:36 -0700 (PDT) Sender: markjdb@gmail.com Received: by 10.194.18.241 with HTTP; Fri, 24 Oct 2014 10:54:35 -0700 (PDT) In-Reply-To: <20141024050804.GA25182@raichu> References: <5449D69C.6090009@norma.perm.ru> <20141024050804.GA25182@raichu> Date: Fri, 24 Oct 2014 10:54:35 -0700 X-Google-Sender-Auth: ah62pfd5DY1GSaoNccG61co350g Message-ID: Subject: Re: ufunc() doesn't work From: Mark Johnston To: "Eugene M. Zheganin" Content-Type: text/plain; charset=UTF-8 Cc: "freebsd-dtrace@freebsd.org" X-BeenThere: freebsd-dtrace@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "A discussion list for developers working on DTrace in FreeBSD." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Oct 2014 17:54:38 -0000 On Thu, Oct 23, 2014 at 10:08 PM, Mark Johnston wrote: > On Fri, Oct 24, 2014 at 10:33:32AM +0600, Eugene M. Zheganin wrote: >> Hi. >> >> I'm new to dtrace and I test various examples while learning, but it >> seems to me that I miss something. This example doesn't work on FreeBSD: >> >> dtrace -n 'profile-97/arg1/ { @[ufunc(arg1)] = count(); }' >> >> although it works fine on Solaris. As I understand, ufunc() is some kine >> of core function, not the stuff brought by some provider that is >> probably missing on FreeBSD. Why doesn't this work ? I use it on FreeBSD >> 10.0-STABLE r261282. > > Hi, > > The ufunc function (as well as umod and sym) is available on HEAD but > not in stable/10. I'll merge the change as soon as I've verified that it > builds. Thanks for pointing this out. ufunc() is available in stable/10 as of r273595.