All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bodo Eggert <harvested.in.lkml@7eggert.dyndns.org>
To: Al Boldi <a1426z@gawab.com>,
	Helge Hafting <helge.hafting@aitel.hist.no>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	Arjan van de Ven <arjan@infradead.org>, Greg KH <greg@kroah.com>,
	linux-kernel@vger.kernel.org
Subject: Re: Linux in a binary world... a doomsday scenario
Date: Fri, 16 Dec 2005 07:57:21 +0100	[thread overview]
Message-ID: <E1En9Ws-00057W-3q@be1.lrz> (raw)
In-Reply-To: 5k6bw-AI-19@gated-at.bofh.it

Al Boldi <a1426z@gawab.com> wrote:
>> Disadvantages of a stable API:

>> * It encourages binary-only drivers, while we prefer source drivers.
>>    Changing the API often and without warning is one way of
>>    hampering binary-only driver development without harming
>>    open-source drivers.
> 
> You are really shooting yourself in the foot here.

If binary drivers were a nice idea, it would be so, but unfortunately they
aren't. E.g.:

Nvidia stuffes a userspace library into the kernel. BAD.

Ati can't work correctly if there are other graphic cards in the system,
because they include functions from a different layer in their driver,
which off cause can't interface correctly. The WXP divers are affected,
too. Doubleplusungood.

Both of these drivers are about 7 times larger than the whole kernel image.
Other binary drivers are similar. That's a waste of resources.

DOS didn't have an API for non-FAT filesystems. In order to support ISO9660,
the network support was abused instead of changing the internals. Obviously
this defeated reasonable caching, and the drivers needed to add their own
cache implementation, which had to be maintained seperately. Double work,
and a waste of resources.

(The DOS internals usurally can't be changed because they are stable. The
stable API was too cumbersome for the programmer's needs, so they started
using the internal structures directly. Therefore there was no way to
increase the max. path length beyond 64 bytes.)

>> Do a stable API save us work?  No, because whoever changes the API
>> also fixes all in-kernel users of said API.
> 
> That's very inefficient.

More inefficient than adding a compatibility layer?

If each change has to add another compatibility layer, the calls will have
to traverse several functions without doing anything usefull. Multiply this
with the number of users, and you'll see that one millisecond of CPU time
will accumulate to a quarter of an hour for each million users. Multiply
this with thousands of calls each user will do within each hour, and you'll
see that within each hour, you'd waste more than eleven days of CPU time.
Within one day and a half, you have wasted a whole year. Within that time,
you can easily change the API several times. That is, unless you hold
meetings about how it should look like.
-- 
Ich danke GMX dafür, die Verwendung meiner Adressen mittels per SPF
verbreiteten Lügen zu sabotieren.

       reply	other threads:[~2005-12-16  7:07 UTC|newest]

Thread overview: 259+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <5jMcG-5mY-19@gated-at.bofh.it>
     [not found] ` <5jWON-3xQ-29@gated-at.bofh.it>
     [not found]   ` <5jZk7-7iD-19@gated-at.bofh.it>
     [not found]     ` <5k6bw-AI-19@gated-at.bofh.it>
2005-12-16  6:57       ` Bodo Eggert [this message]
2005-12-14 21:13 Linux in a binary world... a doomsday scenario Al Boldi
2005-12-14 21:27 ` Arjan van de Ven
2005-12-15  4:49   ` Al Boldi
2005-12-15  5:24     ` Nick Piggin
2005-12-15  8:31       ` Al Boldi
2005-12-15  8:53         ` Arjan van de Ven
2005-12-15  9:24         ` Nick Piggin
2005-12-15  9:35         ` Sean
2005-12-15  9:35           ` Sean
2005-12-15 11:14         ` Helge Hafting
2005-12-15 18:29           ` Al Boldi
2005-12-15 19:01             ` Dmitry Torokhov
2005-12-15 19:06             ` Lee Revell
2005-12-15 19:09             ` Al Viro
2005-12-16  2:09             ` Nick Piggin
2005-12-19 10:57             ` Helge Hafting
2005-12-19 15:19               ` Al Boldi
2005-12-15  5:39     ` Kyle Moffett
2005-12-15  7:11     ` Arjan van de Ven
2005-12-15  9:11 ` Bernd Petrovitsch
  -- strict thread matches above, loose matches on Subject: below --
2005-12-13 23:54 art
2005-12-13 22:59 mreuther
2005-12-13 23:05 ` Bernd Petrovitsch
     [not found] <20051208083941.B233113E51@rhn.tartu-labor>
2005-12-08 17:13 ` Kasper Sandberg
2005-12-08 15:49 AW: " dirk
2005-12-08 16:14 ` Diego Calleja
2005-12-08 20:28   ` Horst von Brand
2005-12-08 10:27 Nicolas Mailhot
2005-12-09 15:59 ` Dirk Steuwer
2005-12-07 21:06 Salyzyn, Mark
2005-12-12 14:45 ` Andrea Arcangeli
2005-12-13  8:25 ` Helge Hafting
2005-12-13  9:44   ` Bernd Petrovitsch
2005-12-13 12:14     ` Alan Cox
2005-12-14  8:59     ` Helge Hafting
2005-12-14  9:14       ` Bernd Petrovitsch
2005-12-13 17:02   ` Gene Heskett
2005-12-14  8:48     ` Helge Hafting
2005-12-06 14:23 Aimo Asiakas
2005-12-06 14:36 ` Arjan van de Ven
2005-12-06 15:31 ` Pekka Enberg
2005-12-05 10:52 Arjan van de Ven
2005-12-05 11:39 ` Dave Airlie
2005-12-05 13:55   ` Xavier Bestel
2005-12-08 14:27   ` Graham Murray
2005-12-05 12:18 ` William Lee Irwin III
2005-12-05 13:07   ` Pekka Enberg
2005-12-05 18:44     ` Alistair John Strachan
2005-12-05 19:47       ` Gene Heskett
2005-12-06 10:51       ` Luke-Jr
2005-12-06 12:29         ` Ralf Baechle
2005-12-07  0:01       ` William Lee Irwin III
2005-12-06 17:03     ` Jon Masters
2005-12-06  1:18   ` Andrea Arcangeli
2005-12-05 14:31     ` Brian Gerst
2005-12-06  3:08       ` Andrea Arcangeli
2005-12-05 16:23         ` Brian Gerst
2005-12-06 18:42           ` David Woodhouse
2005-12-06 19:23             ` Alan Cox
2005-12-06 21:33               ` Jeff Garzik
2005-12-06 22:25               ` David Woodhouse
2005-12-06 22:49                 ` Alan Cox
2005-12-06 23:03                   ` David Woodhouse
2005-12-06 23:25                 ` Andrew Grover
2005-12-07  0:56                   ` David Woodhouse
2005-12-06 10:42         ` Sander
     [not found]         ` <f0cc38560512060307m2ccc6db8xd9180c2a1a926c5c@mail.gmail.com>
2005-12-06 11:44           ` Arjan van de Ven
2005-12-06  1:43             ` Brian Gerst
2005-12-06 14:09               ` linux-os (Dick Johnson)
2005-12-14 16:33                 ` Eric W. Biederman
2005-12-14 17:01                   ` linux-os (Dick Johnson)
2005-12-14 17:20                     ` Eric W. Biederman
2005-12-14 18:51                       ` linux-os (Dick Johnson)
2005-12-06 14:13               ` Rudolf Randal
2005-12-06 14:49               ` Arjan van de Ven
2005-12-06 21:39                 ` Nicolas Mailhot
2005-12-08  0:58                   ` Kasper Sandberg
2005-12-08  2:24                     ` Diego Calleja
2005-12-08  6:21                       ` Zwane Mwaikambo
2005-12-08 12:31                         ` Diego Calleja
2005-12-08 12:39                           ` Arjan van de Ven
2005-12-08 13:01                             ` Matan Peled
2005-12-08 16:55                           ` Kasper Sandberg
2005-12-08 19:32                     ` Horst von Brand
2005-12-08 21:10                       ` linux-os (Dick Johnson)
2005-12-09  6:12                         ` Ben Greear
2005-12-07  7:02                 ` Luke-Jr
2005-12-07  7:03                   ` Arjan van de Ven
2005-12-06 15:16               ` Andrea Arcangeli
2005-12-06 15:30               ` Florian Weimer
2005-12-06 15:49                 ` Paweł Sikora
2005-12-06 19:00                   ` Tomasz Torcz
2005-12-06 19:11                     ` Paweł Sikora
2005-12-06 19:34                       ` Tomasz Torcz
2005-12-06 20:29                       ` Dave Jones
2005-12-06 23:25                         ` Bernd Petrovitsch
2005-12-06 19:13               ` Jeff Garzik
2005-12-06 19:37                 ` Lee Revell
2005-12-06 19:41                   ` Jeff Garzik
2005-12-06 19:55                     ` Lee Revell
2005-12-06 20:25                       ` Alan Cox
2005-12-06 21:55                         ` Dave Airlie
2005-12-06 22:44                       ` Florian Weimer
2005-12-06 22:56                         ` Andrea Arcangeli
2005-12-06 23:17                         ` Lee Revell
2005-12-06 21:00               ` Francois Romieu
2005-12-08  1:04                 ` Kasper Sandberg
     [not found]             ` <6f6293f10512060404x57cfb97dqaa469f2701cd2528@mail.gmail.com>
2005-12-06 12:11               ` Arjan van de Ven
2005-12-06 15:09               ` Andrea Arcangeli
2005-12-06  9:07       ` Dirk Steuwer
2005-12-06 10:46         ` Sander
2005-12-06 16:41           ` Dirk Steuwer
2005-12-06 18:48             ` Lee Revell
2005-12-06 21:35               ` Grahame White
2005-12-07  8:09                 ` Dirk Steuwer
2005-12-07 12:47                   ` Lars Marowsky-Bree
2005-12-07  0:45             ` Horst von Brand
2005-12-09  5:49         ` Miles Bader
2005-12-09  9:49           ` Felix Oxley
2005-12-09  9:53             ` Bernd Petrovitsch
2005-12-06 15:17       ` Pavel Machek
2005-12-13  2:00         ` Rob Landley
2005-12-13  7:56           ` Arjan van de Ven
2005-12-13  9:07             ` Rob Landley
2005-12-13 10:18               ` Felix Oxley
2005-12-07 15:06       ` Rik van Riel
2005-12-08  7:14       ` Andrew McGregor
2005-12-06  8:29     ` Arjan van de Ven
2005-12-07 18:39       ` Rik van Riel
2005-12-07 18:44         ` Randy.Dunlap
2005-12-07 18:55           ` Arjan van de Ven
2005-12-07 19:53             ` Geert Uytterhoeven
2005-12-07 20:22               ` Gerrit Huizenga
2005-12-07 20:30                 ` Arjan van de Ven
2005-12-07 20:56                   ` Andrea Arcangeli
2005-12-07 21:02                 ` Dave Jones
2005-12-07 21:30                   ` Gerrit Huizenga
2005-12-07 21:38                     ` David S. Miller
2005-12-07 21:47                       ` Andrew Walrond
2005-12-07 21:53                       ` Gerrit Huizenga
2005-12-12 17:52                       ` Ric Wheeler
2005-12-13  8:17                         ` Andrew Walrond
2005-12-07 20:16             ` Andrea Arcangeli
2005-12-07 20:19               ` Arjan van de Ven
2005-12-07 20:40                 ` Andrea Arcangeli
2005-12-08 13:23                   ` Dirk Steuwer
2005-12-08 14:03                     ` Diego Calleja
2005-12-08 18:44                 ` Dave Neuer
2005-12-07 20:51               ` Rik van Riel
2005-12-07 19:34           ` Lee Revell
2005-12-07 23:17           ` Horst von Brand
2005-12-09  6:17             ` Ben Greear
2005-12-08 10:58           ` Sander
2005-12-06 12:26     ` Denis Vlasenko
2005-12-06 15:36       ` Hannu Savolainen
2005-12-06 18:51         ` Lee Revell
2005-12-06 20:26           ` Hannu Savolainen
2005-12-07 15:18         ` Avi Kivity
2005-12-07 20:10       ` Geert Uytterhoeven
     [not found]         ` <f0cc38560512071322m1d370589vd9f8a7684fa2ee1d@mail.gmail.com>
2005-12-08 12:19           ` Geert Uytterhoeven
2005-12-06 17:23     ` Jon Masters
2005-12-05 17:18 ` Jeff Garzik
2005-12-05 17:29   ` Jan-Benedict Glaw
2005-12-05 22:52     ` Bernd Petrovitsch
2005-12-06  6:28     ` Rob Landley
2005-12-05 18:26 ` Andrew Walrond
2005-12-05 18:34   ` Arjan van de Ven
2005-12-05 19:41     ` jmerkey
2005-12-06 16:27     ` Simon Oosthoek
2005-12-06 18:50       ` Luke-Jr
2005-12-08  8:14         ` Helge Hafting
2005-12-08 11:30           ` Luke-Jr
2005-12-12 11:27             ` Helge Hafting
2005-12-08 13:48           ` Nix
2005-12-12 12:01             ` Helge Hafting
2005-12-12 19:46               ` Nix
2005-12-13  8:10                 ` Helge Hafting
2005-12-13 22:21                   ` Nix
2005-12-14  8:14                     ` Helge Hafting
2005-12-16  7:38                       ` Nix
2005-12-05 21:19   ` David Woodhouse
2005-12-05 21:24     ` Arjan van de Ven
2005-12-05 21:54       ` David Woodhouse
2005-12-05 23:56         ` Tim Bird
2005-12-06  0:10           ` Dave Airlie
2005-12-06  0:23             ` Tim Bird
2005-12-06  0:26               ` Tim Bird
2005-12-06  4:08               ` Greg KH
2005-12-06  6:07                 ` Willy Tarreau
2005-12-06  7:06                   ` Neil Brown
2005-12-06  8:13                   ` David Woodhouse
2005-12-06  9:10                     ` Bernd Petrovitsch
2005-12-06 16:47                   ` Greg KH
2005-12-06  7:58                 ` Coywolf Qi Hunt
2005-12-06 16:11                   ` Greg KH
2005-12-07  1:38                     ` Coywolf Qi Hunt
2005-12-07  2:40                       ` Greg KH
2005-12-07  3:23                         ` Coywolf Qi Hunt
2005-12-07  5:29                           ` Greg KH
2005-12-07 18:57                           ` Horst von Brand
2005-12-06 18:56                   ` Luke-Jr
2005-12-07  1:42                     ` Coywolf Qi Hunt
2005-12-07  2:06                       ` Wed, 7 Dec 2005 03:06:35 +0100
2005-12-07  5:25                         ` Jeff Garzik
2005-12-06  4:18               ` Al Viro
2005-12-06  2:22             ` Gene Heskett
2005-12-06  3:56               ` Zwane Mwaikambo
2005-12-06  4:27                 ` Gene Heskett
2005-12-06 18:33                 ` Jesper Juhl
2005-12-06 19:12                   ` Zwane Mwaikambo
2005-12-06 19:15                     ` Jesper Juhl
2005-12-08 21:49                 ` Rob Landley
2005-12-10  2:38                   ` Lee Revell
2005-12-10  5:51                 ` Luke-Jr
2005-12-06 11:38               ` Jean-Christian de Rivaz
2005-12-06 19:12                 ` Jesper Juhl
2005-12-06 21:13                   ` Jon Masters
2005-12-06  0:14           ` Bernd Petrovitsch
2005-12-06  0:34           ` David Woodhouse
2005-12-06  0:53           ` Andrea Arcangeli
2005-12-06  1:20             ` Tim Bird
2005-12-06  1:35               ` Andrea Arcangeli
2005-12-06  1:55                 ` Jeff Garzik
2005-12-06  9:16               ` Xavier Bestel
2005-12-06  9:26               ` Bernd Petrovitsch
2005-12-06  9:56                 ` David Woodhouse
2005-12-06 10:09                   ` Jeff Garzik
2005-12-06 14:50                   ` Andrea Arcangeli
2005-12-06 15:25                     ` David Woodhouse
2005-12-06 19:58                       ` Alan Cox
2005-12-06 19:20                     ` Jeff Garzik
2005-12-06  4:12           ` Greg KH
2005-12-06  4:18             ` Michael Poole
2005-12-06 17:21               ` Benjamin LaHaise
2005-12-07 12:39                 ` Helge Hafting
2005-12-07 12:41                   ` Christoph Hellwig
2005-12-07 14:25               ` Rik van Riel
2005-12-07 15:56                 ` Michael Poole
2005-12-06 18:19             ` Theodore Ts'o
2005-12-06 19:27               ` Alan Cox
2005-12-06 19:38                 ` Theodore Ts'o
2005-12-06 20:18                   ` Alan Cox
2005-12-06 20:53                     ` Theodore Ts'o
2005-12-07 14:30           ` Rik van Riel
2005-12-05 23:24 ` Matthieu CASTET
2005-12-06 13:28   ` Ralf Baechle
2005-12-06  2:58 ` Andre Hedrick
2005-12-06 13:13 ` Rudolf Randal
2005-12-06 15:09   ` Mark Lord
2005-12-06 16:16 ` Jon Smirl
2005-12-06 16:32   ` Florian Weimer
2005-12-07 12:44     ` Helge Hafting
2005-12-07 12:49       ` Alan Cox
2005-12-07 16:15       ` Jon Smirl
2005-12-07 12:55     ` Lars Marowsky-Bree
2005-12-07 21:46   ` Chase Venters
2005-12-07 23:07     ` Alan Cox
2005-12-07 23:41       ` Jon Smirl
2005-12-07 23:59         ` Chase Venters
2005-12-08  8:24           ` Helge Hafting

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=E1En9Ws-00057W-3q@be1.lrz \
    --to=harvested.in.lkml@7eggert.dyndns.org \
    --cc=7eggert@gmx.de \
    --cc=a1426z@gawab.com \
    --cc=arjan@infradead.org \
    --cc=greg@kroah.com \
    --cc=helge.hafting@aitel.hist.no \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    /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.