Messages in this thread | | | Date | Thu, 13 Jul 2000 14:49:28 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [Announce] BKL shifting into drivers and filesystems - beware |
| |
On Thu, 13 Jul 2000, Jeff V. Merkey wrote: > > > > Breaking the device drivers, protocol stacks, disk drivers, file > systems, etc. out of the kernel proper and forcing them to always be > loadable modules would achieve this end with the added benefit of > allowing folks to plug in their own optimized binary versions -- Like > NetWare and NT are today.
No, it would be a complete disaster.
You'd get the same kind of disaster that all binary-only modules have: you cannot change fundamental interfaces.
In another five or ten years, we may be at the point where the fundamental interfaces _really_ don't change, and that we've handled all the scalability issues and that we have no need to add new interfaces. At THAT point we can just say "ok, drivers are truly independent".
It's not true today.
Basically, the thing that allows 2.4.x to scale as well as it does (and it does really well: look at the current SpecWeb99 world record numbers, and compare it to the also-ran second place), is exactly because we had all the source in one place, and we _could_ make fundamental changes. Claiming anything else is silly - if we had broken-up device drivers, we'd have been up shit creek without a paddle. End of story.
This is the thing that people don't understand. In theory it is wonderful to have modularization. It's the best thing on earth. But if that modularization means that you can't fix the module interfaces, then you're going to remain broken for all time.
This is why I rather fix module interfaces early and often. Make sure that we (a) have good interfaces that matches what the different parts of the kernel want to have and (b) make people used to the fact that a driver or a filesystem is not a static thing, and keep them aware of the fact that it depends on the kernel underneath it.
We're certainly getting closer to a good interface in many areas. The current VFS interfaces, for example, are pretty good - although many of the less important ones still depend on the kernel lock etc. But we're _not_ at the stage yet where we could just say "ok, a driver is a driver, and we don't need to worry about it".
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |