public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* binary drivers and development
@ 2005-03-10 16:28 John Richard Moser
  2005-03-10 16:48 ` Greg KH
                   ` (3 more replies)
  0 siblings, 4 replies; 24+ messages in thread
From: John Richard Moser @ 2005-03-10 16:28 UTC (permalink / raw)
  To: linux-kernel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've been looking at the UDI project[1] and thinking about binary
drivers and the like, and wondering what most peoples' take on these are
and what impact that UDI support would have on the kernel's development.

I know the immediate first reactions are probably "Portable drivers are
slow" and "We don't support closed source crap."  I think benchmarks are
needed, and closed drivers can always be replaced by rewritten open
ones.  Really critical drivers that need the extra few microseconds can
always be low-level instead of abstracted.

The major considerations I come across mainly involve development focus
and kernel tree size.  UDI drivers would be separated from the kernel,
so their development would be focused; a driver fix would not warrent a
2.6, 2.4, and 2.2 patch, plus backports in 100 distributions (which
don't concern the LKML).  They'd also be in their own tarball, so the
kernel tree size would be a lot smaller if most drivers were UDI, though
by how much I'm not sure.

I'm aware that drivers would have to be loaded to the kernel like this,
being separated.  Aside from having the kernel build eat drivers from
some /lib/modules/udi/ directory, grub has a "module" command that can
load multiple modules.  If the kernel used that to load drivers (does it
now?), an initrd wouldn't be needed; a very straightforward bootloader
configuration would come in its place.

There is a 2.4 UDI reference model out with SCSI and NIC driver support.
 Perhaps some experimentation with these would be interesting, since the
disk and the network are performance focuses.  I don't think the UDI
reference model is ready quite yet for mainline, but it's ready for some
cross-examination by unbiased kernel developers.

[1] http://projectudi.sourceforge.net/

- --
All content of all messages exchanged herein are left in the
Public Domain, unless otherwise explicitly stated.

    Creative brains are a valuable, limited resource. They shouldn't be
    wasted on re-inventing the wheel when there are so many fascinating
    new problems waiting out there.
                                                 -- Eric Steven Raymond
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCMHW2hDd4aOud5P8RAnhSAJ9+8VdgR6EX0JwjUpysXsTMRl1ewwCeOWJR
g6mNs6NuEltgNS6qtVat5Mo=
=DrWO
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 24+ messages in thread
* Re: binary drivers and development
@ 2005-03-11  4:57 Albert Cahalan
  2005-03-19 11:29 ` Eric W. Biederman
  0 siblings, 1 reply; 24+ messages in thread
From: Albert Cahalan @ 2005-03-11  4:57 UTC (permalink / raw)
  To: linux-kernel mailing list; +Cc: diegocg, lsorense, riel, nigelenki

Lennart Sorensen writes:

> You forgot the very important:
>    - Only works on architecture it was compiled for.  So anyone not
>      using i386 (and maybe later x86-64) is simply out of luck.  What do
>      nvidia users that want accelerated nvidia drivers for X DRI do
>      right now if they have a powerpc or a sparc or an alpha?  How about
>      porting Linux to a new architecture.  With binary drivers you now
>      start out with no drivers on the new architecture except for the
>      ones you have source for.  Not very productive.

Rik van Riel writes:

> No, it wouldn't.  I can use a source code driver on x86,
> x86-64 and PPC64 systems, but a binary driver is only
> usable on the architecture it was compiled for.
>
> Source code is way more portable than binary anything.

The kernel already has an AML interpreter for ACPI. **duck**

As for portability, AML would do the job. It beats typical
vendor source code IMHO, because endianness and integer size
are well-defined. (like the Java VM and .net)

For the x86 and ia64 users, the AML interpreter is probably
already compiled into the kernel. Most people need it to
set up SMP or power management. So, no added bloat even.

AML code is fairly well controlled and isolated. There is
of course the backdoor via DMA for the truly determined
evil author, but such paranoia is rather extreme. AML is
really designed for this sort of task.

As with any interpreter, there are ways (JIT) to make the
AML interpreter go faster if need be.



^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2005-03-19 11:33 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-10 16:28 binary drivers and development John Richard Moser
2005-03-10 16:48 ` Greg KH
2005-03-10 17:19   ` John Richard Moser
2005-03-10 17:24     ` Greg KH
2005-03-10 17:02 ` Ralf Baechle
2005-03-10 17:25   ` John Richard Moser
2005-03-10 17:24 ` John Richard Moser
2005-03-10 20:03   ` Diego Calleja
2005-03-10 20:14     ` John Richard Moser
2005-03-10 21:21   ` Lennart Sorensen
2005-03-10 21:42     ` John Richard Moser
2005-03-10 22:31       ` Lee Revell
2005-03-10 21:59   ` Peter Chubb
2005-03-10 22:32     ` John Richard Moser
2005-03-12 15:53       ` Felipe Alfaro Solana
2005-03-13  5:01         ` John Richard Moser
2005-03-13  7:17           ` Mike Galbraith
2005-03-10 22:45   ` Rik van Riel
2005-03-11 10:39     ` Ben Dooks
2005-03-11 16:39       ` Benedikt Spranger
2005-03-11 16:10   ` Jon Smirl
2005-03-11  9:33 ` [TROLL] " Xavier Bestel
  -- strict thread matches above, loose matches on Subject: below --
2005-03-11  4:57 Albert Cahalan
2005-03-19 11:29 ` Eric W. Biederman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox