From owner-freebsd-dtrace@FreeBSD.ORG Tue Sep 2 20:24:50 2014 Return-Path: Delivered-To: freebsd-dtrace@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AB23E80B; Tue, 2 Sep 2014 20:24:50 +0000 (UTC) Received: from mail-la0-x22c.google.com (mail-la0-x22c.google.com [IPv6:2a00:1450:4010:c03::22c]) (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 D49451E92; Tue, 2 Sep 2014 20:24:49 +0000 (UTC) Received: by mail-la0-f44.google.com with SMTP id hz20so8573030lab.31 for ; Tue, 02 Sep 2014 13:24:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=9Deun8zuZsqJYjWbjp7FEY6WEOGxPDoKk+niyPXo9p8=; b=Ymwyrj4xdb/uYVq2YYBirEbWwmgJ+Q8YtPFv+nLj8OpY0hLeCY63siY/wjNdO9hqrQ Q8UTbS4o8C3giJNiPeszIUbtQIE1BjMQ8IOxAayvGPlqELkimLGy0ieQYUl8/OeRVzwY Ve/uajW19OGBFdKxIR0BkXcsNCfVlWKPdBmTaKcy07f/mCco9zcsEkZqqWCSVGb3IqyY 71N4oUELH0nJY2ktq6jsXInAYai7dZgtUkCqLSH34TOdY9PUL02CDmdGPrXq/V7ZpT50 RWIN4kmZ1Y6y35IIjZ21CjWTCyYQ+jo5pltv3153NYWMaRx74BCH6kv6uKb7SOweSoAB 4aLA== MIME-Version: 1.0 X-Received: by 10.112.198.34 with SMTP id iz2mr4360069lbc.96.1409689487839; Tue, 02 Sep 2014 13:24:47 -0700 (PDT) Received: by 10.25.205.2 with HTTP; Tue, 2 Sep 2014 13:24:47 -0700 (PDT) Date: Tue, 2 Sep 2014 13:24:47 -0700 Message-ID: Subject: Usage of DTRACE_PROBE macro from sdt.h in kernel modules From: Shrikanth Kamath To: freebsd-hackers@freebsd.org, freebsd-dtrace@freebsd.org, markj@freebsd.org Content-Type: text/plain; charset=UTF-8 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, 02 Sep 2014 20:24:50 -0000 Adding a DTRACE_PROBE(name) in a kernel module does not create the SDT probe. I added the following to the module file before using DTRACE_PROBE. #include "opt_kdtrace.h" #include function_foo() { ... + DTRACE_PROBE(name); ... } I figured the sdt.h does declare SDT_PROVIDER_DECLARE(set); but that is not helping. Was expecting a sdt probe added under provider 'set'. The SDT probe creation returns from sdt_kld_load from here if (linker_file_lookup_set(lf, "sdt_providers_set", &begin, &end, NULL)) return; I did a nm on the kernel module and did not find anything matching "sdt_providers_set" nm -a module.ko | grep sdt 00000000 r __set_sdt_probes_set_sym_sdt_sdt______func____LINE__.103790 U __start_set_sdt_probes_set U __stop_set_sdt_probes_set U sdt_probe_func U sdt_provider_sdt 000006c0 d sdt_sdt______func____LINE__.103789 Can't seem to figure how to get the SDT probe created by using DTRACE_PROBE macro in a kernel module.