Re: [PATCH/RFC 1/2] jump label: make enable/disable o(1)

From: Mathieu Desnoyers
Date: Thu Dec 16 2010 - 16:40:55 EST


* Peter Zijlstra (peterz@xxxxxxxxxxxxx) 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/