On Mon, Apr 20, 2009 at 10:34:21AM -0400, Priya Krishnan wrote:
> I am getting started in writing a provider for the iscsit (comstar). I 
> think I have made all the appropriate mods to sdt.h, sdt_subr.c, iscsit 
> files, Makefiles and created a new iscsit.d. I installed the archive built 
> from my workspace (bfu'ed). I see that iscsit is loaded and svcs reports 
> that the target is online
>
> # modinfo | grep iscsit
> 175 fffffffff8155000  16c30  98   1  iscsit (iSCSI Target)
>
> # svcs iscsi/target
> STATE          STIME    FMRI
> online          9:58:20 svc:/network/iscsi/target:default
>
> However I get a "dtrace: failed to match iscsit:::: No probe matches 
> description" if I try to observe the newly added probe.
>
> The symbol table (nm utility) does not display the newly added probe. I 
> know that the function which instruments the probe does get called.
>
> Can anyone suggest a way to check if the Dtrace subsystem is aware of the 
> newly added probe and provide hints/tips on debugging why the probes are 
> not loaded?

For kernel SDT if you perform an nm(1) of the actual kernel module you should
see some symbols that begin with '__dtrace'. That would be the first thing
you should check to make sure you're building the module properly. For
example:

$ nm /kernel/fs/nfs | grep dtrace
[1901]  |         0|         0|FUNC |GLOB |0    |UNDEF |__dtrace_probe___io_done
[1219]  |         0|         0|FUNC |GLOB |0    |UNDEF 
|__dtrace_probe___io_start
[1163]  |         0|         0|FUNC |GLOB |0    |UNDEF 
|__dtrace_probe___vtrace_TR_RFSCALL_END
[1586]  |         0|         0|FUNC |GLOB |0    |UNDEF 
|__dtrace_probe___vtrace_TR_RFSCALL_START
...

Adam

-- 
Adam Leventhal, Fishworks                     http://blogs.sun.com/ahl
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to