architecture paper draft
William Cohen
wcohen@redhat.com
Thu Mar 31 17:10:00 GMT 2005
Chen, Brad wrote:
Vara has identified two basic kinds of taps:
- program-counter based
- interrupt based
Additional ones to think about:
-data memory locations accesses
track changes to value or determine functions modifying val
use hardware support in processor to watch location
-taps based on function pointers in data structures
lots of the ABIs in the kernel use data structures to describe operations.
These makes sense from the perspective of the Systemtap
implementor. From the perspective of the script writer,
they will likely be thinking about source-code constructs
rather than machine code:
- procedures (before, after, etc.). This is the "systemtapset", right?
- source-code features (call sites, line numbers, labels)
- software events (synchronous)
- hardware events (asynchronous)
I think the first three would be program-counter based and
the fourth would be interrupt based. So part of the design
ought to be considering both the implementation perspective
and the constructs that script writers would think about.
A third type I'd add to Vara's list is "compound taps".
For example, a subset of scheduler-related taps from the
systemtapset might be used as a part of the scheduler
tap set. You might also have a compound tap that was a
existing tap plus a condition, such as a procstatechange()
event when NewState==PROC_READY.
Brad
More information about the Systemtap
mailing list