This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Random ideas about systemtap dependencies


As I've been thinking about the operation of SystemTap
(as I understand it), I got to wondering about something.

Please excuse this long-winded introduction...

I maintain a system called KFT - Kernel Function Trace,
which allows you to monitor the entry and exit of every
kernel function.  It does this by using GCC compiler
flags to put callouts in the prolog and epilog
of every function, at compile time.  KFT can log
all the functions, but in normal usage it filters
by function duration and only shows those functions which
take a long time to execute.  (Finding long-duration
functions is really it's primary purpose, although it
can be used for other things.)  However, KFT can
also filter by function address, allowing you
to only invoke the event handler when certain
specified functions are entered and exited.

Would it be theoretically possible to adapt
SystemTap to use this as a method of monitoring
function entry and exit, rather than using Kprobes?
I ask because I think that some embedded platforms
don't have Kprobe support, but every platform I know
of supports the GCC compiler switches for instrumenting
functions.  Use of this would have lots of drawbacks,
so I'm not recommending it.  I'm just thinking out
loud.  Does SystemTap have any dependencies
on other kernel features that are not available on all
architectures?
(Things like timers are architecture dependent, but
a board will always have at least gettimeofday, though
it may have cruddy resolution).

Anyway, just an idle thought.
 -- Tim


=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Electronics
=============================


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]