This is the mail archive of the systemtap@sources.redhat.com 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]

Re: design: function-exit probes


Maneesh Soni wrote:
On Mon, Feb 14, 2005 at 09:01:38AM -0800, Jim Keniston wrote:
[..]

maxactive is specified by the user.  It is the number of instances of the
probed function that can be active concurrently.  For example, if the
function is non-recusrive and is called with a spinlock or mutex held,
maxactive = 1 should be enough.  If the function never sleeps and is
not recursive, NR_CPUS should be enough. (Right?)  maxactive is used to


If I am not wrong, here we should keep kernel premption also in mind. So,
in addition to above conditions, maxactive will be NR_CPUS when premption
is disabled.


1.5 Assumptions and Limitations

1.  This requires a probepoint (but not necessarily a user-defined
handler) at the entry to every function whose returns are traced.


I think we need to take care for the case when user explicitly
wants to probe function entry point. I am not sure if kprobe
handles two probe handler for the same address.

Currently, kprobes doesn't allow multiple probes for the same address. I would like to see this change. The return probes is one example where it would be useful for kprobes to allow multiple probes for the same address. One is an explicity probe placed at entry by the user and the other probe is an implicit probe to set thing up for the return probe. It could be possible for the instrumentation compiler to merge the probes together. However, things will get complicated if multiple sets of instrumentation (instrumentation modules) are running at the same time.


-Will


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