[dtrace-discuss] Asynchronous signal handling in fasttrap provider

Steve Peters scp at mac.com
Mon Feb 19 15:26:15 PST 2007


On Feb 19, 2007, at 3:01 PM, James McIlree wrote:

>
> On Feb 19, 2007, at 10:44 AM, Adam Leventhal wrote:
>
>> On Mon, Feb 19, 2007 at 05:23:25PM +0900, Saravanan S wrote:
>>> Does this mean,I can mail the Apple team asking for a porting guide.
>>> If so,can you please share their email ids.
>>
>> I'm sure some of them are subscribed to this list so feel free to  
>> use this
>> forum to make your appeal.
>
> Saravanan,
>
> 	We do not have a porting guide, like many a project, that fell under
> the pressure of "Is it done yet?" :-)
>
> 	As you may be aware, Apple is quite protective of any information  
> that
> hasn't been publicly disclosed, I will not be able to answer many  
> questions about
> our implementation until after it ships.
>
> 	In general, I've found the dtrace code to be exceptionally well  
> written.
> My only complaint to date is the fact that vowels apparently cost  
> $20 each when
> naming structure fields :-).
>
> 	If you're porting from scratch, I would concentrate on getting  
> just one
> provider working, say syscall or fbt. You can comment out large  
> sections of the
> code while bringing up dtrace. DTrace will work with quite a bit of  
> its functionality
> missing, and you can incrementally add them back in as you gain  
> understanding
> of the inner workings. The test suite is your friend!
>
> 	There will likely be several places where you have mismatches between
> whatever OS you are porting to and the Solaris implementation.  
> Depending on how
> often you plan on sync'ing with the Solaris source, you may find it  
> advantageous
> to write emulation libraries instead of rewriting the Solaris code.
>
> 	If you can delay making decisions on how to handle those situations
> until later (when you have a better understanding of how DTrace  
> works), you
> may save yourself a few code rewrites. Bringing up syscall or fbt  
> should be
> possible without hitting any major mismatches, every OS I know of  
> has either
> system calls or function calls :-).
>
> 	James M
>
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss at opensolaris.org

Saravanan,
Everything James said, and ....
I started the Mac OS X DTrace port on the *user* side, bringing up  
libdtrace and the dtrace(1) command line tool. Depending on your OS,  
lex/yacc "features" will require some taming. With a working dtrace 
(1), you can begin to think about a rudimentary kernel device driver  
that can answer to open/close/ioctl. The beautiful craftsmanship of  
the DTrace code makes all of this a pleasant and fun exercise.

SCP
--
Steve Peters
scp at mac.com



More information about the dtrace-discuss mailing list