From: "H. Peter Anvin" <hpa@zytor.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Recent changes to sysctl.h breaks glibc
Date: Mon, 19 May 2003 17:30:06 -0700 [thread overview]
Message-ID: <3EC9770E.2080409@zytor.com> (raw)
In-Reply-To: <m14r3q331h.fsf@frodo.biederman.org>
Eric W. Biederman wrote:
> "H. Peter Anvin" <hpa@zytor.com> writes:
>
>>Yes. And guess what? Bugs happen. Sometimes you can't fix them either
>>because the "new" usage has gotten established. However, that's not the
>>point.
>>
>>Your message assumes that the ABI remains fixed. This is totally and
>>utterly and undeniably WRONG.
>
> It is correct by definition, the existing part of an ABI may not change.
>
"THE ABI" does not consitute "THE EXISTING PART OF AN ABI". They are
two different things.
>>>But there is no reason not to write documentation today about what the
>>>kernel interfaces are and convert glibc and the kernel later when
>>>it is convenient to their development cycles.
>>>
>>>What I do not is see the necessity of using automation to follow the
>>>documentation.
>>>
>>Otherwise you have three places to manually make your changes (usually
>>more) -- the documentation, the kernel, and glibc... and really you also
>>have klibc, uclibc, dietlibc, and God knows what else.
>
> But since the older interface still remains you don't have to change
> klibc, uclibc, dietlibc, and whatever else does not care. Making
> it easy to change an existing ABI is simply wrong.
No, it's not. It provides a chance to fix bugs quickly and easily.
Furthermore, it provides a clean, uniform way to distribute ABI
extensions.
> If you were to increment the syscall numbers by one no amount of automation
> in the world would make that a kernel that would be usable on a production
> box. The only way it could even work is if you were to declare that
> kernel uses a new ABI.
Syscall numbers are an extremely bad example (ioctl structures is more
like it), but since you brought it up: how would you deal with the
hypotetical case that two syscalls were assigned the same number?
You're screwed no matter what, and making it hard to fix doesn't improve
the situation in any way.
>>Automation is the way to maintain these together and in concert, to
>>avoid your "B_ U_ G_ S_." This isn't just a Good Thing, this is the
>>only sane possibility.
>
> If things must be maintained in concert it is a bug.
Things *DO* have to be maintained in concert if you want to get things
done. I'm not talking atomic changes as I'm talking getting changes in
within a reasonable time frame.
> With a fixed ABI people take advantage of new features as they
> care for them. And in general to use new features requires new code.
>
> If people are adding and changing ioctls/sysctls/prctls left and right,
> and that is what is causing the maintenance problem, then that is the
> problem. And that is where the problem needs to be reigned in at.
And your proposal for this is...?
Let's face it, you're going to need these kinds of things. You're also
going to need a way to push these features into use. You're also going
to want to have an automated way to make things like strace (my personal
favourite debugging tool) produce useful output.
>>Does that mean C source code is the only possible format? It most
>>certainly *doesn't* -- in fact one could argue it's not even a very good
>>format -- as long as C source code is one of the possible productions.
>
> Agreed.
>
> Calling it documentation simply makes it clear what the headers are,
> and suggest that the machine readable for does not need to be C source
> code.
What it really is is an ABI specification, not documentation. The
difference is that the specification *is* the ABI, by definition,
whereas documentation is a *description* of what the ABI is. The latter
may or may not be up to date and correct.
Automation prevents bugs. This is a good thing.
-hpa
next prev parent reply other threads:[~2003-05-20 0:17 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-18 20:21 Recent changes to sysctl.h breaks glibc Martin Schlemmer
2003-05-18 20:49 ` William Lee Irwin III
2003-05-18 21:12 ` Martin Schlemmer
2003-05-19 5:38 ` Christoph Hellwig
2003-05-19 10:43 ` Martin Schlemmer
2003-05-19 10:51 ` William Lee Irwin III
2003-05-19 11:14 ` Martin Schlemmer
2003-05-19 11:21 ` William Lee Irwin III
2003-05-19 11:33 ` Arjan van de Ven
2003-05-19 11:43 ` Christoph Hellwig
2003-05-19 12:52 ` Martin Schlemmer
2003-05-19 21:14 ` H. Peter Anvin
2003-05-19 22:44 ` William Lee Irwin III
2003-05-19 22:46 ` H. Peter Anvin
2003-05-19 22:56 ` William Lee Irwin III
2003-05-19 23:04 ` H. Peter Anvin
2003-05-20 6:06 ` Martin Schlemmer
2003-05-19 11:45 ` Christoph Hellwig
2003-05-19 12:56 ` Martin Schlemmer
2003-05-19 13:06 ` Christoph Hellwig
2003-05-19 16:56 ` Sam Ravnborg
2003-05-19 17:41 ` Linus Torvalds
2003-05-19 21:16 ` H. Peter Anvin
2003-05-19 22:18 ` Eric W. Biederman
2003-05-19 22:31 ` H. Peter Anvin
2003-05-19 22:20 ` Alan Cox
2003-05-19 23:28 ` Andries Brouwer
2003-05-20 10:35 ` Lionel Elie Mamane
2003-05-19 23:30 ` H. Peter Anvin
2003-05-19 23:05 ` Eric W. Biederman
2003-05-19 23:17 ` H. Peter Anvin
2003-05-19 23:55 ` Eric W. Biederman
2003-05-20 0:24 ` Valdis.Kletnieks
2003-05-20 0:40 ` Eric W. Biederman
2003-05-20 1:11 ` Valdis.Kletnieks
2003-05-20 22:10 ` H. Peter Anvin
2003-05-20 0:30 ` H. Peter Anvin [this message]
2003-05-20 0:54 ` David Woodhouse
2003-05-20 1:09 ` H. Peter Anvin
2003-05-20 1:42 ` Miles Bader
2003-05-20 4:12 ` H. Peter Anvin
2003-05-20 4:24 ` Miles Bader
2003-05-20 6:37 ` Eric W. Biederman
2003-05-20 7:24 ` H. Peter Anvin
2003-05-20 19:04 ` Eric W. Biederman
2003-05-20 7:44 ` Riley Williams
2003-05-20 14:01 ` Chris Friesen
2003-05-20 17:06 ` H. Peter Anvin
2003-05-21 4:39 ` Martin Schlemmer
2003-05-21 5:38 ` H. Peter Anvin
2003-05-21 5:58 ` Eric W. Biederman
2003-05-19 18:05 ` David Ford
2003-05-19 17:44 ` Alan Cox
2003-05-20 2:21 ` David Ford
2003-05-19 18:24 ` Christoph Hellwig
2003-05-19 17:59 ` David Ford
2003-05-19 18:06 ` Arjan van de Ven
2003-05-19 18:23 ` David Ford
2003-05-19 18:34 ` Arjan van de Ven
2003-05-19 19:43 ` Martin Schlemmer
2003-05-19 21:21 ` H. Peter Anvin
2003-05-19 21:35 ` Sam Ravnborg
2003-05-19 21:37 ` Arjan van de Ven
-- strict thread matches above, loose matches on Subject: below --
2003-05-19 19:54 Mudama, Eric
2003-05-19 20:36 ` Martin Schlemmer
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=3EC9770E.2080409@zytor.com \
--to=hpa@zytor.com \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox