[dtrace-discuss] Asynchronous signal handling in fasttrap provider
James McIlree
jmcilree at apple.com
Mon Feb 19 15:01:22 PST 2007
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
More information about the dtrace-discuss
mailing list