[lttng-dev] Perf ABI (was: Re: [PATCH 09/11] sched: export task_prio to GPL modules)

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Jan 12 11:27:56 EST 2012


* Steven Rostedt (rostedt at goodmis.org) wrote:
> On Thu, 2012-01-12 at 10:39 -0500, Mathieu Desnoyers wrote:
> 
> > pipe()/pipe2()
> > dup()/dup2()/dup3()
> > umount()/umount2()
> > mmap()/mmap2()
> > madvise()/madvise1()
> > eventfd()/eventfd2()
> > 
> > Those look very much like major version numbers to me. And these are
> > entirely compatible with your statement above about using -ENOSYS to
> > detect if the major version number is implemented or not.
> 
> That's a stretch in calling version numbers. All but the madvise case
> above are how many parameters it takes, not really a "version" number.
> 
> It's adding a new syscall, not updating a version and then deprecating
> the old one. As I believe all the above are still supported.
> 
> > 
> > If your only concern is that the major version number should be part of
> > the ABI name (as in the examples above), that can be arranged.
> 
> > > 
> > > We've done this without version numbers. Just look at all the udev
> > > changes.
> > 
> > Are you seriously refering to udev as an example of how to handle
> > changes, or as one of the worse ABI breakage mess that happened in the
> > Linux kernel history ? My own experience as a Linux users (in the
> > era around 2.6.12 kernels if my memory serves me right) lead me to think
> > it's the latter. And because udev is part of the runtime support, that
> > indeed led to non-bootable systems and lots of frustrated users.
> 
> Yeah, I know it sucked, as I got burned by it too. But having "version"
> numbers wouldn't have helped at all. In fact, it should have kept both
> ways working much longer, or at least had the new udev support both. 
> 
> What udev did is more like what you want to do than what I did with
> trace-cmd.

OK. Then how can trace-cmd support the LTTng features ?

Thanks,

Mathieu

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list