* Jose R. Santos (jrs@xxxxxxxxxx) wrote:This is base on a single scenario, which is wrong. A criteria needs to be establish that describes the justification for a static trace hook. Base on the previous comments on the thread, this list is already seems to big.
> To some people performance is the #1 priority and to other it is > flexibility. I would like to come up with a list of those probe point > that absolutely need to be inserted into the code statically. Those > that are not absolutely critical to have statically should be > implemented dynamically.
>
I agree with you that only very specific parts of the kernel have this kind of
high throughput. Using kprobes for lower thoughput tracepoints if perfectly
acceptable from my point of view, as it does not perturb the system too much.
I would suggest (as a beginning) those "standard" hi event rate tracepoints :
(taken from the highest rates in
http://sourceware.org/ml/systemtap/2005-q4/msg00451.html)
- syscall entry/exit
- irq entry/exit
- softirq entry/exit
- tasklet entry/exit
- trap entry/exit
- scheduler change
- wakeup
- network traffic (packet in/out)
- "select" and "poll" system calls
- page_alloc/page_free
(be warned : this list is probably incomplete, too exhaustive or can cause
dizziness under stress condition) :)
However, a tracing infrastructure should still provide the ability for
developers to instrument their own high traffic interrupt handler with a very
low overhead.