Messages in this thread | | | Date | Thu, 16 Dec 2010 15:50:43 -0500 | From | Mathieu Desnoyers <> | Subject | Re: [PATCH/RFC 1/2] jump label: make enable/disable o(1) |
| |
* Peter Zijlstra (peterz@infradead.org) wrote: > On Thu, 2010-12-16 at 15:36 -0500, Mathieu Desnoyers wrote: > > Tracepoints keep their own reference counts for enable/disable, so a > > simple "enable/disable" is fine as far as tracepoints are concerned. Why > > does perf need that refcounting done by the static jumps ? > > Because the refcount is all we have... Why not replace that tracepoint > refcount with the jumplabel thing?
The reason why tracepoints need to keep their own refcount is because they support dynamically loadable modules, and hence the refcount must be kept outside of the modules, in a table internal to tracepoints, so we can attach a probe to a yet unloaded module. Therefore, relying on this lower level jump label to keep the refcount is not appropriate for tracepoints, because the refcount only exists when the module is live.
I know that your point of view is "let users of modules suffer", but this represents a very large portion of Linux users I am not willing to let suffer knowingly.
Thanks,
Mathieu
-- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com
| |