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