All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicholas Miell <nmiell@comcast.net>
To: Greg KH <greg@kroah.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>,
	Linus Torvalds <torvalds@osdl.org>, Greg KH <gregkh@suse.de>,
	Benjamin LaHaise <bcrl@kvack.org>,
	linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
	davej@redhat.com, perex@suse.cz,
	Kay Sievers <kay.sievers@vrfy.org>
Subject: Re: [RFC] Add kernel<->userspace ABI stability documentation
Date: Tue, 28 Feb 2006 17:17:49 -0800	[thread overview]
Message-ID: <1141175870.2989.17.camel@entropy> (raw)
In-Reply-To: <20060301003452.GG23716@kroah.com>

On Tue, 2006-02-28 at 16:34 -0800, Greg KH wrote:
> On Tue, Feb 28, 2006 at 01:32:07AM -0500, Theodore Ts'o wrote:
> > On Mon, Feb 27, 2006 at 03:45:25PM -0800, Greg KH wrote:
> > > > So I just don't see any upsides to documenting anything private or 
> > > > unstable. I see only downsides: it's an excuse to hide behind for 
> > > > developers.
> > > 
> > > So should we just not even document anything we consider "unstable"?
> > > The first trys at things are usually really wrong, and that only can be
> > > detected after we've tried it out for a while and have a few serious
> > > users.  Should we brand anything new as "testing" if the developer feels
> > > it is ready to go?
> > 
> > How about "we don't let anything into mainline that we consider
> > 'unstable' from an interface point of view"?
> 
> In a perfect world, where we are all kick-ass programmers and never get
> anything wrong and can always anticipate exactly how people will use the
> interfaces we create, sure we could say this.
> 
> But until then, there's no way this can happen :)
> 
> For example, look at all of the gyrations that the sys_futex call went
> through.  It took people really using the thing before the final version
> of how it would work could be added.
> 
> And another example, /proc.  How many times over the past 15 years have
> we had to upgrade the procps package to handle the addition or change of
> one thing or another?  We evolve over time to handle the issues that
> come up with different architectures and needs.  That's what makes Linux
> so great.

This is a really bad example.

All the /proc related contortions are a direct result of the fact that
the multitudes of /proc "formats" are completely undocumented,
non-extensible, and largely unintended for programmatic usage[1]. (/sys
was supposed to solve some of these things, but it seems to be going the
same route, unfortunately.)

Honestly, despite what the ASCII fetish crowd[2] may say, Solaris got it
right by just exporting C structs. The parsing is certainly a hell of a
lot easier when you're dealing with actual C datatypes instead of
character strings and people hacking on /proc are probably less likely
to make ABI breaking changes when they're dealing with a struct instead
of a sprintf statement.





[1] Where's my EBNF?

[2] "But ASCII is easily manipulated by shell tools!!!!"
 Well, then write a very small C program that spits out ASCII and stick
it in procps.


-- 
Nicholas Miell <nmiell@comcast.net>


  reply	other threads:[~2006-03-01  1:17 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-27 19:01 [RFC] Add kernel<->userspace ABI stability documentation Greg KH
2006-02-27 19:08 ` Arjan van de Ven
2006-02-27 19:11   ` Greg KH
2006-02-27 19:17     ` Arjan van de Ven
2006-02-27 19:22 ` Kumar Gala
2006-02-27 19:30   ` Greg KH
2006-02-27 19:31 ` Andi Kleen
2006-02-27 19:44   ` Greg KH
2006-03-01 13:53     ` Lars Marowsky-Bree
2006-03-01 14:10       ` Gabor Gombas
2006-03-01 14:35         ` Jes Sorensen
2006-03-01 16:30         ` Lars Marowsky-Bree
2006-02-27 20:06   ` Jesper Juhl
2006-02-27 19:35 ` Diego Calleja
2006-02-27 19:49   ` Greg KH
2006-02-27 19:57     ` Diego Calleja
2006-02-27 20:00       ` Greg KH
2006-02-27 20:13         ` Diego Calleja
2006-02-28  0:26           ` Greg KH
2006-02-27 19:36 ` Benjamin LaHaise
2006-02-27 19:46   ` Greg KH
2006-02-27 20:01     ` Benjamin LaHaise
2006-02-27 20:13       ` Greg KH
2006-02-27 20:22         ` John W. Linville
2006-02-27 22:00           ` Greg KH
2006-02-27 20:10     ` Arjan van de Ven
2006-02-27 22:58       ` Olivier Galibert
2006-02-27 20:20     ` Linus Torvalds
2006-02-27 21:04       ` Al Viro
2006-02-27 23:33         ` Nicholas Miell
2006-02-27 23:45       ` Greg KH
2006-02-28  1:52         ` Jason Lunz
2006-02-28  6:32         ` Theodore Ts'o
2006-02-28  6:41           ` Dave Jones
2006-03-01  0:34           ` Greg KH
2006-03-01  1:17             ` Nicholas Miell [this message]
2006-03-02  4:24               ` Greg KH
2006-03-05 16:17                 ` Eric W. Biederman
2006-03-05 23:23                   ` Benjamin LaHaise
2006-03-06  0:12                     ` Eric W. Biederman
2006-03-06  0:39                       ` Benjamin LaHaise
2006-03-06  2:15                         ` Eric W. Biederman
2006-03-07  3:56                           ` Greg KH
2006-02-27 19:52 ` Alistair John Strachan
2006-02-27 19:57   ` Greg KH
2006-02-27 20:05     ` Alistair John Strachan
2006-02-27 20:12       ` Greg KH
2006-02-27 20:15         ` Greg KH
2006-02-27 22:56           ` Olivier Galibert
2006-02-28  0:11             ` Greg KH
2006-02-27 20:01 ` Jesper Juhl
2006-03-01  0:21   ` Greg KH
2006-02-28 11:39 ` Nikita Danilov
2006-03-01  0:23   ` Greg KH
2006-03-01  7:27     ` Arjan van de Ven
2006-03-01 20:56       ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2006-03-07 14:44 Al Boldi
2006-03-07 15:21 ` Josh Boyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1141175870.2989.17.camel@entropy \
    --to=nmiell@comcast.net \
    --cc=akpm@osdl.org \
    --cc=bcrl@kvack.org \
    --cc=davej@redhat.com \
    --cc=greg@kroah.com \
    --cc=gregkh@suse.de \
    --cc=kay.sievers@vrfy.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@suse.cz \
    --cc=torvalds@osdl.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.