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

Ingo Molnar
2012-01-16T08:55:39Z

* Greg KH <greg@kroah.com> wrote:

> So I think udev actually is a good example of how to do it
> right, we provide proper backwards compatibility in the kernel
> to keep userspace working.

I agree, i still have a udev system that i installed 5 years
ago, and it's working mostly fine with current kernels.

Compatibility is a desirable property, it is something that
preserves our users - and if done right it's almost never a big
issue technically. If it is hindering someone then there must be
other problems.

Of course to developers the simplest approach is always to just
develop without regard for compatibility. The simplest form of
that is that people write patches that work fine on their own
systems but crash the kernel on other systems. We fix those
bugs. Another, subtler form is when the patches work fine on
their systems but break apps on other systems. We fix those bugs
too.

That's why we have testing, regression tracking and maintainers,
to control that - compatibility is just another dimension to
'correctness', in the typical case with no inherent restrictions
on future features and possibilities.

Thanks,

Ingo