Re: PATCH [0/4] perf: clean-up of power events API

Steven Rostedt
2010-10-10T01:39:28Z

On Sat, 2010-10-09 at 16:20 -0700, Linus Torvalds wrote:
> On Sat, Oct 9, 2010 at 2:15 PM, Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > The difference here compared to all other user interfaces, is that this
> > interface has the sole purpose of showing what is happening inside the
> > kernel.
>
> Bogus and dishonest argument.
>
> Listen to yourself, and read this thread again.
>
> The thread was about doing some kind of open-source library to allow
> non-open-source access to these events, and keeping backwards
> compatibility in user space. In fact, that is what you yourself said.
>
> So you claimed it could be backwards-compatible. If that's the case,
> then there is no excuse for not being so in the kernel.
>
> You can't have it both ways. Stop the f*cking waffling.

Let me rephrase it then, and lets forget about the library. I was just
brain storming ideas.

I'm all for labeling specific trace points as "ABI", such that, these
trace points have had sufficient thought and are not expected to change
in the near future. But I'm against the idea that any tracepoint that
has been shown to userspace can be considered stable.

With or without libraries, I'm for two kinds of interfaces: One that is
stable and has been thoroughly thought through, and one that is free for
the maintainers to have an interface to let them see what is happening
in the kernel, even on a production system, but be able to change them
whenever they feel the need.

That's the basis of my idea. A stable backward-compatible interface, and
an interface that is unstable for developers. Whether we put the stable
interface into a library (to keep the ugliness from developers, which
you obviously do not like), or two, distinctly label the tracepoint as
ABI, to let the developers and everyone else know what tracepoints an
application can count on and what ones they should not.

Thus my waffling is really wanting both, a stable ABI and an unstable
one. I've been hesitant in the pass from doing the TRACE_EVENT_ABI()
before, because Peter Zijlstra (who is currently MIA) has been strongly
against it.

-- Steve