Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jul 2016 08:24:37 +0800
From:      Julian Elischer <julian@freebsd.org>
To:        Mark Johnston <markj@FreeBSD.org>
Cc:        freebsd-dtrace@freebsd.org, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: dtrace and kernel modules
Message-ID:  <c82dfb9d-2942-9e1d-2984-f0c4173a90ce@freebsd.org>
In-Reply-To: <20160712171404.GB71220@wkstn-mjohnston.west.isilon.com>
References:  <d99a41d6-fe55-fb09-4466-c1d8082a40d6@freebsd.org> <20160712171404.GB71220@wkstn-mjohnston.west.isilon.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 13/07/2016 1:14 AM, Mark Johnston wrote:
> 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.
>
yes that is the tricky part for sure.

for now function calls is probably enough because every syscall ends 
up calling a function somewhere :-)






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c82dfb9d-2942-9e1d-2984-f0c4173a90ce>