Re: [RFC] Add kernel<->userspace ABI stability documentation

Benjamin LaHaise
2006-03-06T00:44:50Z

On Sun, Mar 05, 2006 at 05:12:48PM -0700, Eric W. Biederman wrote:
> Yes. But it does sure stick out like a sore thumb in a patch or when
> you try to use it. Especially if you do something evil like require
> user space to pass in a hash of the kernel code implementing the
> interface. So even the smallest changes of the implementation break
> user space.

I thought the decree / consensus was that You Can't Do That. Yes, some
people want to, but that doesn't mean we should let them.

> I don't know all of the answers. But if we are going to document something
> is half backed, let have the code behave like the interface is half backed
> and at least try to keep it out of the hands of most applications.

Why should it be merged into base then? If it's in the mainstream kernel,
it needs to be reasonably solid (which has always been a precondition for
merging patches, aiui).

> To a large extent I agree that we should have fully backed interfaces in
> the stable kernel. Is that always possible? How often do things not show
> up until they are being used in the real world? Is it possible to
> find those things out in experimental branches?

There's a big difference between those interfaces that have had a decent
amount of thought put into them and those which have not. Take ext2,
which is a good example as it can still mount a filesystem made back in
the early '90s today, yet it has undergone a huge amount of change. What
was the secret? The superblock has a few flags for compatible and
incompatible features.

API design is not rocket science, it just requires effort. So long as we
keep beating the drums about how important this is, people will learn and
we will get better at catching these issues during review.

-ben
--
"Time is of no importance, Mr. President, only life is important."
Don't Email: <dont@kvack.org>.