User: Password:
|
|
Subscribe / Log in / New account

out of tree

out of tree

Posted Jul 31, 2009 15:06 UTC (Fri) by mikov (subscriber, #33179)
In reply to: out of tree by ebiederm
Parent article: A tempest in a tty pot

No direct control? Device driver patches are accepted readily, so if you aren't getting your patches accepted something very strange is going on.

Let's say I am a manufacturer and I receive a bug report from a customer. How am I supposed to fix it? Submit a patch to LKML and tell the customer to wait for a new kernel version? That is absurd. So, I have to maintain an out-of-tree driver in any case. I want my customers to use the same driver in all kernel versions.

In general linking a particular driver version to a particular kernel version is just stupid. If I have one a single misbehaving driver I have to update my entire kernel, making many more unnecessary changes. That is is a support and maintenance nightmare.

As for manufacturers doing a better job with out of tree drivers quite often hardware manufacturers build a device for a short while sell it and quickly become no longer interested in it. Which makes a community model where all the people who care (not just the hardware manufacturer) can participate a better thing.

All drivers must still be GPL, of course, so people can participate if they want. But before all, it must be easy for the original manufacturer to participate because that is the most efficient way to do it. Currently, it is very expensive to do that and that is at least part of the reason why many hardware manufacturers aren't doing it at all.


(Log in to post comments)

out of tree

Posted Jul 31, 2009 15:17 UTC (Fri) by mjg59 (subscriber, #23239) [Link]

On the other side of the issue, we've seen that vendor drivers often provide custom interfaces, engage in awkward hacks and generally provide a lower level of integration with existing kernel functionality than in-tree drivers. Users generally prefer in-tree drivers because they get a more consistent experience.

out of tree

Posted Jul 31, 2009 16:28 UTC (Fri) by johill (subscriber, #25196) [Link]

It's not that hard to backport. We do it almost automatically: http://wireless.kernel.org/en/users/Download

out of tree

Posted Aug 1, 2009 10:04 UTC (Sat) by nix (subscriber, #2304) [Link]

Let's say I am a manufacturer and I receive a bug report from a customer. How am I supposed to fix it? Submit a patch to LKML and tell the customer to wait for a new kernel version? That is absurd. So, I have to maintain an out-of-tree driver in any case. I want my customers to use the same driver in all kernel versions.
What? You maintain a git repo, the same way anyone else doing kernel development does, and feed one branch to Linus and the other to your customers. This is really not even slightly rocket science, and git has plenty of tools to help keep the branches in sync.

out of tree

Posted Aug 1, 2009 16:29 UTC (Sat) by mikov (subscriber, #33179) [Link]

Oh, come on, the issue here is not the source control tool. Git is not magically going port your driver between versions. (BTW, I am a git fanatic, but that's another subject).

A successful compilation is not sufficient. Every release has to be exhaustively tested. Maintaining several slightly different versions of the same driver, plus tracking the yet different version which may or may not have been accepted in the mainline, is a lot of work. Especially if you have direct customers.

You absolutely need to maintain an out-of-tree driver. There is no two ways about it.

Look, this is not theoretical. This is my real experience and it has been that out of tree drivers are much more convenient for the users. If I need support for a piece of hardware, I download the module source, compile it and use it. No kernel upgrades, no backports, no crap. If I am going to install an out-of-tree driver, I actually prefer the mainline not to have one.

So, anything that makes it easier to maintain out of tree drivers would be good in my book. Of course everything must be GPL, and it would be nice if there was a centralized repository for these drivers so you don't have to hunt for them.

out of tree

Posted Aug 2, 2009 1:39 UTC (Sun) by foom (subscriber, #14868) [Link]

This is my real experience and it has been that out of tree drivers are much more convenient for the users.

As a user: yuck. Not only are out of tree drivers more irritating to use/install/upgrade than in-tree ones, my experience has been that they're also always buggier.

And I don't want to have to download the module source, compile it, and use it: I want the device to just work when I plug it in, without even thinking about it.

On the other hand, I do like it, when the driver is brand new, if an out-of-tree version is made available for use with older kernel versions. Certainly it's helpful to provide an out-of-tree version for the first year or two until everyone's upgraded to a kernel with the driver included already.

out of tree

Posted Aug 2, 2009 14:03 UTC (Sun) by alex (subscriber, #1355) [Link]

It would be nice if the distros could compile out-of-tree snapshots in a nice user friendly way. But for this to work they have to be GPL source code and not arbitrary binary blobs.

Certainly for me as a developer the current wireless testing tree/compat layer is an example of doing it right. I can run wireless with my distro kernel but still have the latest greatest without upgrading the kernel if I want. I wonder if more out-of-tree's could follow the wireless model.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds