[dtrace-discuss] Question on pid provider for 'static' C functions

Adam Leventhal ahl at eng.sun.com
Thu Jul 5 09:32:31 PDT 2007


Hi Andreas,

It may be that the pid provider can no longer verify that the function is
safe to instrument due to certain constructs in generated code. Can you
send the disassemably of the old and new versions of the function?

Adam

On Thu, Jul 05, 2007 at 02:20:29PM +0200, Andreas.Haas at Sun.COM wrote:
> Hi all,
> 
> last year in October we discussed in this thread the requirements for pid-provider probes 
> to function. Outcome was that pid provider can be used as long as no_inline #pragma is used 
> to ensure C functions will be found by dtrace as documented in
> 
>     http://bugs.opensolaris.org/view_bug.do?bug_id=6480235
> 
> now we have an issue in our Dtrace monitor for Sun Grid Engine master
> 
>     http://wiki.gridengine.info/wiki/index.php/Dtrace#Implementation
> 
> the issue is that one particular pid-provider is not found anymore by Dtrace 
> when Sun Studio compiler v12 is used. But when the same C module is compiled with 
> Sun Studio v10 the pid-provider for the function gets found and the monitor works!
> 
> Regarding compile options nothing changed ("-Xc -v -fast -xchip=generic 
> -xcache=generic -ftrap=division -KPIC") excpet Sun Studio v10 option 
> "-xarch=amd64" became Studio compiler v12 "-m64". Curiously 'dbx' does find 
> the function when 'stop in sge_mirror_process_events' is used and in 'nm' 
> output shows no difference either:
> 
> Sun Studio v10
> 
>     nm sge_mirror.o | grep process_events
>     [63]    |         14800|        4292|FUNC |GLOB |0    |2 |sge_mirror_process_events
> 
> Sun Stuido v12
> 
>     nm sge_mirror.o | grep process_events
>     [67]    |         10016|         982|FUNC |GLOB |0    |2 |sge_mirror_process_events
> 
> note, the 'nm' output unveils the functions object became much smaller. Also we 
> noticed our binary distribution size went down from 32MB to 24MB.
> 
> Anyone knowing of a Sun Studio compiler v12 degradation that matches this 
> phenomenon?
> 
> Thanks,
> Andreas
> 
> On Tue, 10 Oct 2006, Andreas.Haas at Sun.COM wrote:
> 
> > On Tue, 10 Oct 2006, Adam Leventhal wrote:
> >
> >> On Tue, Oct 10, 2006 at 03:32:33PM +0200, Andreas.Haas at Sun.COM wrote:
> >>> (1) I think the inlined function caveat must be mentioned in the
> >>>     "pid Provider" chapter of "Solaris Dynamic Tracing Guide"
> >>>
> >>>        http://docs.sun.com/app/docs/doc/817-6223/6mlkidlls?q=dtrace&a=view
> >>>
> >>>     Adam, please let me know, if I somehow can help to get this fixed in
> >>>     the dtrace docs.
> >> 
> >> I completely agree. Please file a bug though opensolaris.org in the 
> >> category
> >> doc/dtrace.
> >
> > Done. It's #6480235.
> >
> > Cheers,
> > Andreas
> > _______________________________________________
> > dtrace-discuss mailing list
> > dtrace-discuss at opensolaris.org
> >
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss at opensolaris.org

-- 
Adam Leventhal, Solaris Kernel Development       http://blogs.sun.com/ahl


More information about the dtrace-discuss mailing list