From owner-freebsd-current@freebsd.org Tue Jul 12 17:10:37 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B0A89B83F7E; Tue, 12 Jul 2016 17:10:37 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-pa0-x22d.google.com (mail-pa0-x22d.google.com [IPv6:2607:f8b0:400e:c03::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1CE721BC7; Tue, 12 Jul 2016 17:10:37 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-pa0-x22d.google.com with SMTP id fi15so8402053pac.1; Tue, 12 Jul 2016 10:10:37 -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-disposition:in-reply-to:user-agent; bh=0DAuO1Zfz9+69gxeup/Eoy0Lr6WazcmNMr0VIH4WtoM=; b=qa+sDYa6NnpSJVgsPG85362snOgWq/mruExCMbsSEbyqfix+dBDALoMM4Tp34rPjt9 mDWj8FMcRva2yusF33yjA1UcyrtfmGsA9OS2ry/oCa9SZzLzgyhnPGN5q3G0q0Lry7Ez wwlTjkmLxEs5boWvmIMXLEbV9vffo9MQxbQHczSXFeeWLEY/StzjVF3Rrw+eAelZoz8L c5Xa7XelFAvkvsh3kb5qjTWy39vhQSyJW88g7RGZuADLZmza+7HbHxs+1f/MxBwUafqP TWwJoZoidV+j7xmSzRDYbSvXbrAm/PWAXgwUnNLuSwjPV5D3YKxuqQjpP4fNpezHxrIw xhCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=0DAuO1Zfz9+69gxeup/Eoy0Lr6WazcmNMr0VIH4WtoM=; b=QEZUCo+oyuiC1I1mqQChOv7kBXR3aSqpGR+rmPV5HFUifXsyvMO31Jyck3IbahWham Ctugnu1luEiCd5L5vdU+lfjUwWw1Uf76aXn6TM5BOOVheiW3VC8KSZrhk3OqJNPsv5sg CF0smc+vRW74nqoXH/pfsZrtQlslFUIUggOl78xx+4Fm4nFk/kYvnsCJAuCVLjIDO00y wraUT7xXUBhRsPceZ2jHMCJAE9hA0/fUpdmCB1BpR3FAMHJndwiaem9KEwGPX7zsqPqv pipdG/9LLfiD8m6/UQsMAN2tvXCqJEPwbVypdU9TL7tSsllxxxk+uZLXCl1+QTQ0ZPFp 0s7w== X-Gm-Message-State: ALyK8tJ1QKN9qNJVyEtOhSmXQ6S1oTgaD3oCsOAQSxkwgwn4uweq+xG588hQ2FdRwHvy3g== X-Received: by 10.66.254.196 with SMTP id ak4mr5829418pad.62.1468343436442; Tue, 12 Jul 2016 10:10:36 -0700 (PDT) Received: from wkstn-mjohnston.west.isilon.com (c-76-104-201-218.hsd1.wa.comcast.net. [76.104.201.218]) by smtp.gmail.com with ESMTPSA id c82sm7546666pfb.72.2016.07.12.10.10.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Jul 2016 10:10:35 -0700 (PDT) Sender: Mark Johnston Date: Tue, 12 Jul 2016 10:14:04 -0700 From: Mark Johnston To: Julian Elischer Cc: freebsd-dtrace@freebsd.org, freebsd-current Subject: Re: dtrace and kernel modules Message-ID: <20160712171404.GB71220@wkstn-mjohnston.west.isilon.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.1 (2016-04-27) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.22 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: Tue, 12 Jul 2016 17:10:37 -0000 On Thu, Jul 07, 2016 at 12:51:52PM +0800, Julian Elischer wrote: > I'm specifically interested in the case of kernel modules that > instantiate new syscalls. > > How much support do we have for that? In the one example in our > sources of a kld with a syscall (kgssapi.ko) dtrace seems to find > regular function entrypoints but not the syscall. > > > root@porridge:/usr/src # dtrace -n ":kgssapi::entry {}" > dtrace: description ':kgssapi::entry ' matched 138 probes > ^C > > root@porridge:/usr/src # dtrace -n "syscall:kgssapi::entry {}" > dtrace: invalid probe specifier syscall:kgssapi::entry {}: probe > description syscall:kgssapi::entry does not match any probes > root@porridge:/usr/src # > > > Do we have plans to support dynamic syscall support? I don't know of any plans to add support. It would be fairly straightforward to dynamically create syscall probes using a hook or eventhandler in syscall_register(), but getting argument type info would be more difficult. Right now, argument types are specified by code generated by makesyscalls.sh using the types in syscalls.master. I'm not sure how one might obtain these types for dynamically-registered syscalls.