Vanishing Features of the 2.6 Kernel
Pages: 1, 2
Bye Bye Task Queues
The kernel often has to defer some tasks, scheduling them for later execution, though often as soon as possible. Commonly this is in interrupt service routines, where work is often divided between a "top half" and a "bottom half."
A typical top half stores incoming data and primes a device to be ready for new interrupts as quickly as possible. Other interrupts may even be disabled during this process, which highlights the necessity of quick execution. The bottom half performs less time-critical processing, such as filtering, copying to user space, etc. This helps increase device throughput.
Ancient kernels used a fixed set of 32 bottom half queues. These were superceded by the use of task queues, several of which were maintained by the kernel. Others could be created for specific purposes.
The task queue implementation has inherent limitations, and its use has been deprecated throughout the 2.4 series. For one thing, only one task queue could run at a time systemwide. For another, most task queues ran out of process context, which made it impossible for them to sleep. It also exposed them to all the other vulnerabilities of code running at "interrupt time."
The 2.4 kernel introduced tasklets as a partial replacement. Multiple tasklets of different types can run simultaneously. Tasklets always run on the CPU that scheduled them, which minimizes cache thrashing and, since it serializes things, simplifies re-entrancy problems and race conditions. However, tasklets still run in an interrupt-like context.
In the 2.5 kernel, task queues were gradually minimized and written out of existence. A new replacement called work queues took their place. Tasks are still placed on queues, but they run in process context, which permits sleeping. Unlike task queues, each work queue is tied to a set of threads, one per CPU, so a sleeping task doesn't block other work. One can also specify a minimum time period before the task is performed.
As a wrinkle, only GPL-licensed modules will be able to create their own work queues. Other modules will have to live with a default work queue maintained by the kernel.

In-Kernel Web Server Acceleration
Web servers often dish up static file content, and each request requires at least two system calls and context switches. The 2.4 kernel included the khttpd in-kernel Web accelerator to handle such requests directly within the kernel. More complicated requests and requests with questionable security were passed off to the external Web server, such as Apache.
While khttpd could raise the number of handled requests by a factor of two-to-five, a later kernel patch called TUX (also known as the Red Hat Content Accelerator)
by Ingo Molnar of Red Hat, achieved much higher speeds and included more
advanced features. TUX can coordinate with kernel and user space modules and
daemons that provide dynamic content. It also provides caching and can send a
mixture of dynamically generated data. Pre-generated objects also can be sent.
TUX uses zero-copy networking, can run its own CGI engine, and can be used as
an ftp server.
As a result khttpd became less popular and less maintained. Many developers
assumed TUX would take its place in the 2.6 kernel.
At the same time, important advances in user-space Web servers have helped them to reach performance levels previously available only to in-kernel Web accelerators. For example, the x15 server from Chromium uses a small pool of threads (4-8 per CPU) to control all network connections and network and disk I/O. Real time signals notify the server whenever data appears on a socket or when output is possible on the connection; no polling ever occurs. x15 avoids launching a thread for each connection and also benefits from zero-copy networking and other kernel enhancements. Dan Kegel has written an excellent summary of some of the issues involved in what he calls the C10K problem.
Many developers had been unhappy about pushing Web services into the kernel, feeling it was a slippery slope. Why not absorb all sorts of user-space facilities inside the kernel? Returning these features to user-space is thus quite welcome. TUX can also be applied as a patch and is available on all Red Hat systems.
Other Issues
The three issues we have highlighted are likely to affect a considerable number of users. Other worthy changes include:
kdev_t, which encodes device major and minor numbers, has morphed from what was effectively a 16-bit quantity into a structure. Eventually the structure will contain more device-specific information. The major and minor bit fields should expand to a total of 32 bits, which will permit more devices to be registered uniquely.The API for block drivers has undergone a significant overhaul as part of the major enhancement of I/O operations.
The remaining
pcibiosfunctions have been exterminated.The
kiobuf, kiovecmechanism of pinning down user pages to permit direct access has been replaced by theget_user_pages()function.Kernel building and its interface have been reworked. The old Tcl/Tk graphical interface to
xconfighas been replaced with a prettier and more functional GUI based on the QT graphical libraries.
Housecleaning is almost an obsession in Linux: features which have grown old or weak are euthanized, good ideas which no one ever used are obliterated, and sometimes mistakes are surgically removed before they grow out of control. This helps keep the kernel lean and understandable. Its growth in size is probably entirely due to new hardware devices and architectures, rather than new general features. Perhaps other deprecated features are yet to be removed before the new kernel debuts.
Jerry Cooperstein is a senior consultant and Linux training specialist at Axian Inc., in Beaverton Oregon, and lives in Corvallis, Oregon.
Return to the Linux DevCenter.
You must be logged in to the O'Reilly Network to post a talkback.
Showing messages 1 through 41 of 41.
-
RE: Why is Linux any Better Than Windows?
2003-01-01 21:43:07 anonymous2 [Reply | View]
the author of this post does not understand the principles of open source, and how they relate to incorporating other software. there has to be a line drawn at some point between what is offered as free software, and what is a work that can be sold. by exporting the system table to fee based binaries, that distinction is a blur, and linux itself is opened up to legal matters that it should not be forced to face. if you understand this, then you will realize the kernel developers had no other real choice.
-
RE: Congratulations -- Linux is 6 years late
2003-01-01 21:24:06 anonymous2 [Reply | View]
you are either stupid, or you know more than the developers of windows itself. iis is _not_ a kernel mode http service you idiot. what makes you think that? i bet you write __all__ programs in visual basic, and dont even know c/c++, which would give some hint as to your technical abilities. why do you suppose those iis worms didnt bring down the kernel, or use kernel functions, you moron??? god, some people read every other line in a marketing flash and take that knowledge in a twisted state. then, on top of that, they apply their own delusions of how they think it must work. why dont you read a small bit about what iis 6 is/was _supposed_ to offer. you may find that ms decided to give the option (for the first time) of running the server as a kernel thread(s). i do believe iis 6 is scheduled for the .net server family, so where did you pull the "1996" number from? idiot...
-
Re: Congratulations
2002-12-29 21:39:32 anonymous2 [Reply | View]
You know, it's *not* like Linux is about strengthening computing alternatives. It is about power, just like Microsoft is.
Linux would be in the position to deal a severe blow to MS operating system monopoly by providing drivers for *all* alternative operating systems. But they don't, they rather provide drivers for themselves only so the world may benefit from *their* view on things. (Now what if you don't like *either* Linux or Windows, like me?)
And it's not like they aren't *aware* of the alternatives.
If you don't know what I am talking about, check http://www.projectudi.org and http://www.gnu.org/philosophy/udi.html .
Wake up. RMS isn't the messias, and the GPL is not the bible. Stupid power games like that are exactly what hinders people from chosing their operating system by merits instead of driver availability. -
Re: Congratulations
2003-04-22 11:20:50 anonymous2 [Reply | View]
Please continue to research Linux end do so with an open mind. You seem to believe that Linux is a single entity whose primary role should be to strike blows at Microsoft; though I must admit that I might like to see an entity that had this mission, It is ignorant to believe that this is the job of a company called 'Linux.' Simalarly, 'Linux' doesn't dictate what developers must write. Developers work (often independently) to write what is needed to get Linux working the way they believe it should and this gets contributed to the common good so someone else doesn't have to reinvent the wheel. When a developer writes a driver for a particular piece of hardware under Linux, there is no law stating that he must also write an equivalent driver under every other non-MS OS; who's to say that this developer even knows how to write the driver for another OS. Should developers write drivers for Linux only if they know how to, and plan to write the equivalent for every other OS?
Anyway, it is obvious that you are already in the primary stages of looking at Linux but you are doing so with tinted glasses. I hope that this doesn't prevent you from finally discovering what Linux actually is. I think you will be impressed once you see more clearly.
-Frd -
Re: Congratulations
2003-01-22 17:36:29 anonymous2 [Reply | View]
"Linux would be in the position to deal a severe blow to MS operating system monopoly by providing drivers for *all* alternative operating systems. But they don't, they rather provide drivers for themselves only so the world may benefit from *their* view on things. (Now what if you don't like *either* Linux or Windows, like me?)"
The Linux drivers are open source, meaning if you want to use them on another system then you can simply port them - provided you have the documentation to that system. This not only makes it good for Linux users, but also for those of us writing other operating systems (just one example: http://sourceforge.net/projects/theosproject/) that can use the driver information to later develop their own drivers. GPL is good for kernels.
As others have said, understand GPL, BSD, and other licenses before commenting on this. The licenses are complex, and GPL is one of the simplest and most straight-forward of them all.
And just to note: Linus Torvalds has specifically stated that the binary modules can be loaded. (ask him) The fact that he himself said this bypasses the issue for the Linux Kernel.
In any case, read the licenses.
-
Re: Congratulations...
2002-12-24 16:59:09 anonymous2 [Reply | View]
Windows seems to have kernel mode everything! Take one thing out, BOOM! Buy 80 lbs. of potatoe chips or buy no potatoe chips at all. They remind me of a children's fable where this animal insisted it just had to have the coolest and neatest of all the other animals' parts: it took the tail of a peacock, the mouth of a pelican, the feet of flamingoes, etc.. in the end, this poor beast was slain quite easily by a roaming fox. (or maybe there was a happy ending, I don't remember). That is Microsoft, no steak.. just sizzle.
There is this word called "engineering" and it isn't the same word as "marketing" though they each have "i's" and "e's" inside, ..but what is really sad isn't that Microsoft continues to value the latter over the former. It's that with all the resources Microsoft has and despite all its dirty practices, it still has to continues to rely on FUDmarketing to make up for its deficiencies in the technical arena.
"NT also has an extremely open, well-documented, extensible driver interface."
Yes, we know how open Microsoft is. There is the interface that Microsoft sees and then there is the interface that the rest of the world sees.... unless you actually manage more with less, in which case, even that, Microsoft will take away from your company.
The GPL is a thorn indeed in Microsoft's side. It forces collaboration and a division of labor and of the spoils of war. How so anti-Microsoft, anti-monopoly can a license get!
Microsoft's only response to account for its plundering on the Windows platform is to say that if a company works with the GPL, it won't be able to be a monopolist and filthy rich like themselves -- I'm all in tears, but I suppose I can settle for less than billionaire status if my other option is to go bankrupt partnering with Microsoft.
Interesting article, by the way.
-
Congratulations -- Linux is 6 years late
2002-12-21 00:16:20 anonymous2 [Reply | View]
Wow, Linux finally has kernel-mode HTTP. NT/IIS has had this for four years, and it is available to any developer (fully documented). It's not even restricted to HTTP -- you can move FTP data in k-mode, etc. Also, NT has had zero-copy TCP/IP and UDP/IP from NT 4.0 on -- welcome to 1996, guys.
NT also has an extremely open, well-documented, extensible driver interface. No GPL restrictions.
Why is Linux shooting itself in the foot? Why insult & restrict the people who are SUPPORTING your platform -- device driver developers! You're just killing one of the few advantages that Linux has (or, soon, "had").
-
Congratulations -- Linux is 6 years late
2003-01-15 19:49:08 anonymous2 [Reply | View]
what kind of hole have you been in for about lthe last 4 years.. Hes talking about __REMOVEING__ KHTTPD from the 2.5/2.6 kernels. khttpd was started long ago and tux as well has been around for a few years..
It makes sense from a legal standpoint (as was mentioned b4) and as well from a security standpoint.. having all syscalls have to be registered allows for things like ACLs on syscals through LKMS.
Ahem.. Like Microsoft never restriced developers in what they could doo esp from a driver standpoint ??
-
Nice!
2002-12-19 19:20:07 anonymous2 [Reply | View]
Okay, so we have some issues here. In my mind the reason i use linux and stay up all night playing with it is because i can do anything i want to with it. At least we are able to have this discussion beforehand. Nothing is being crammed down our throats here. I believe that what is going on with linux is a good thing and i have been whacking my way through Linux from the very first RedHat distro. Many bloody noses later i appreciate the IMPROVEMENTS and sheer productivity increases in the operating system. Go back 5 years and see how much you like it or if your business could use it. Change is good.
-
Thanks alot for the wonderful article
2002-12-19 01:32:43 anonymous2 [Reply | View]
Really, I liked it alot, and wish to see more reviews about the new kernel, to help us determine early if we really want the new features or not.
Mohamed Eldesoky
-
Security and binary modules
2002-12-18 14:59:07 anonymous2 [Reply | View]
It appears to be a practical necessity, at least for now, to allow binary-only driver modules. Unless I'm mistaken, this opens a large security hole into the heart of the kernel; a module that isn't subject to peer review is liable to contain anything.
This suggests that it would be desirable to build a censor into the kernel API that accepts modules, so as to limit the facilities the module has access to.
-
the big issue is stability
2002-12-18 14:56:01 anonymous2 [Reply | View]
Look, how many times have you heard Microsoft mocked
for the frequency of crashes -- and how often have
you heard the defense: "Oh, it's not their fault,
it's caused by a buggy device driver"? You wouldn't
buy it? But if Linux device drivers can be closed
source and don't have any limitations on their
capabilities, then precisely that will happen
more and more often with Linux. In fact, Nvidia's
drivers have been notorious for causing kernel
crashes, and RedHat doesn't include them because
they don't know how to support them.
-
IP and drivers vs. hardware
2002-12-18 13:15:36 anonymous2 [Reply | View]
These vendors should go ahead and open their drivers - they make money off of selling hardware, not the driver. Or they could produce a GPL'd driver that doesn't expose IP secrets that might not perform as well, but also offer a higher performance non-GPL driver for sale. Either way, we users have more reasons to buy their hardware.
-
NDA's did not build LInux.
2002-12-17 15:35:01 anonymous2 [Reply | View]
To "Bait and switch," to "Push the vendor, kill the independent developer," to "Arrogance in action," and to anyone else this may concern:
Bait and switch would be much more likely to be the case if the license had been changed after the fact (like what MS does). I understand that you may have gotten a particular impression because licenses are words after all, subject to differing interpretations, one for each day of the week. Regardless, you have BSD to which you can port, while helping companies such as Apple and all the UNIX vendors and MIcrosoft and anyone else if that is what you wish. The real bait and switch would be if all the people that gave their time to Linux kernel coding, testing, auditing, documenting, supporting, etc. now found out that the kernel was released non-GPL (which would be illegal without major overhaul/crippling of the system).
A kernel hacker can go out and find time to give AND time to make money. I see no reason why module makers can't do the same. Just don't put all your eggs into one basket. Code AND support!
[ex. the maintainer of any module has some really "sweet" branding and advertising advantages. Most people/orgs don't want to figure things out -- they just want to pay someone some money to do it for them. Though you may want thousands for any serious time commitments, an amount most individuals won't pay, a 3rd party "Support" company can collect small $$ from many at a time and then invest this money, in part, by funding experts, offering awards for solutions, etc.]
GPL is about, anti-monopoly, anti-lock-in.
Today you may be a struggling, poor, small developer just trying to make some money, but tommorow you will EASILY sell out to the titans, and your innocent binary-only modules now form a significant part of someone's monopoly lever. Someone that cares next to nothing about all the people that made Linux what it is, and which can now fork off a proprietary Linux, with an added enticement to hardware vendors that they can now have Linux and closed source....
Before it gets to that stage, and 90% of everyone that built a business on Linux (not including the "lucky" few who will go off and work for the monopolist, etc.) are left out in the cold, things should be steered in the right direction. As someone else said, preventive better than reactive.
...At least the GPL is honest about its intentions (unlike most licenses that leave many get-out-of-jail clauses). If you don't want to participate in this endeavor you are more than Free to go port your binary only modules elsewhere.
And why all this protecting of the (large) companies. If Linux is GPL, that should put pressure, not on the little guy (well, yes, some pressure will be felt, obviously), but the real pressure should be on the large companies that will risk losing out to more open companies if they continue to insist on having their code supporters/developers sign NDA's.... or those that like NDA's can just go to BSD and help the other real titans. Not everyone cares about licenses (many even pirate), Some do care, however, and these will reward the companies that provide (GPL compatible) Linux drivers [I did].
The GPL, if about little else, is about enabling the little guy to compete. I would be very glad to know that the system was built right, from the get go, even if this took longer to happen. I don't like spending thousands of hours studying items that can be rendered nearly obsolete at the whim of anyone else. Maybe when you get really tired of being pushed around and smothered by the big guys, you'll decide to change your view on the GPL and realize that you CAN make money on GPL software, just not obscene amounts of it (unless you are overly clever or lucky).
-
Binary-only drivers use wrappers these days
2002-12-17 14:22:49 anonymous2 [Reply | View]
The kernel source tree is GPL, so any modifications that are made to it and released must also have their source released under the GPL.
The GCC compiler is also GPL. Modifications made to the compiler itself must be released with source, as with the Linux kernel. But, a program compiled with the GCC compiler can be released under any licence. There is a legal barrier between the gcc compiler and its output. This is well-understood. This legal barrier also exists between the compiled program and any preexisting C libraries on the system, even though that program may make use of those libraries at runtime.
Most third-party kernel modules are compiled outside of the kernel source tree, and are output by the GCC compiler just like other C programs. The only link to the kernel comes at runtime, similar to C libraries. Therefore, it is accepted that a kernel module has this legal barrier, and can be released under any licence.
However, what happens when the kernel module uses API's that were intended to be part of the internal workings of the kernel, and were only exported because it was technically necessary? The system call table would be an example. It becomes a gray area in this case.
The GPL's legal barrier only applies to interfaces intentionally defined by the architecture of the software, such as an application's plugin mechanism, or a compiler's runtime library and linker. When a kernel module takes advantage of an unintended API such as the system call table, does the legal barrier still apply? This is a difficult question to answer.
For this reason, many binary-only drivers use GPL wrappers these days. The GPL wrapper is a kernel module that is open source, interfacing with the kernel without requiring for the legal barrier. The binary-only driver communicates solely by using the API presented by this wrapper, and not the kernel. The GPL only covers distribution of software, not its original authorship (the original author is always free to redistribute their software under a different licence). As both wrapper and binary-only driver are written and copyrighted by the same author, there is no licence conflict.
This seems to work well, and also has the advantage of allowing the wrapper module to be upgraded along with the kernel. When the kernel API changes, the wrapper module can be kept in sync, without needing to change the binary-only driver. Linux is known for speed and robustness because it is free to throw out old obsolete functionality that is no longer needed, something that would not be possible if a binary-only driver depended on that functionality.
I support the use of open source wrappers around binary-only drivers, and find it to be a reasonable compromise. Drivers that use this technique will not be hurt by API evolution such as this in the new 2.6 kernel.
-
Some comments from the Author:
2002-12-17 08:17:57 coop [Reply | View]
I think (some) people are missing some points about
binary modules, the GPL (and other open source
licenses, I didn't mean to restrict things to GPL),
and how Linux "operates."
1) Binary modules (in fact any modules) are restricted only to use a certain API. Normally
device drivers do not have to monkey with basic
kernel internals -- there is no reason a mouse
driver has to manipulate scheduling or memory
management for instance. You can't do this in
closed source OS's either, such as Microsoft variants. If a device driver requires certain
changes in the core kernel, then the hardware
manufacturers should argue for those changes in
the open.
2) A 'tainted' kernel is just as functional as an
'untainted' one. The only thing you don't get is
free tech support from kernel developers. If you
don't want to pay for it (by opening your license)
why should you get help for free?
3) Anybody can patch the kernel to do anything
they want (and even violate the GPL) as long as
they don't distribute it (for money or for free).
If it is for your own use, go ahead and enjoy.
There are no Linux brain police going to stomp
on you.
4) The technical problems of exporting system calls are not trivial (race conditions especially)
but they are solvable. However, the will to solve them is not there because of licensing problems.
5) Linux is not run like Sun, Microsoft, or any other big company. And it never will be. People keep expecting "linux" to respond to customer complaints as if it had a responsibility to shareholders. It won't happen.
6) Those big companies often do make arbitrary changes to either content or licensing, ones that cost a lot of money to customers. These customers
have few options often except to pay for costly
'upgrades' and changes. The changes in Linux are not arbitrary and all the arguments are out in the open.
coop
-
Arrogance in action
2002-12-17 07:53:57 anonymous2 [Reply | View]
Remember when the FUD-o-matics at M$ said that the GPL is a "viral license"? Well, this is exactly the thing they were talking about.
What are you all thinking? Sure, I can see that anything provied with the stock kernel should be open sourced (GPL, BSD, whatever). Why do you care about the rest? Leave my freedom be.
As a driver developer I am in the situation of trying to justify the time I spend getting my company's hardware to work under Linux. The simple choice is closed source driver or no driver. The Linux kernel developers are *consistently* saying they would prefer nothing. Keep it up and that's what you will get...nothing.
No driver development, no apps being ported, no support, and no one in the business world will really care.
What you people are doing is just like what M$ did in the 80's and 90's. Give people a good, flexible, powerful alternative to the current offerings. Then once you have consolidated your power force everyone to do things your way.
That doesn't sound "free" to me...hell, it doesn't even sound ethical.
-
RE: this is all COMPLETELY STUPID (wah wah wah)
2002-12-17 07:26:25 anonymous2 [Reply | View]
Yes, your comment is completely stupid, I agree, but will comment anyway.
>Any module made by anyone under any license
>should be able to do whatever.
Oh, then you think there should be no legal enforecement of any copyright, and for that matter any law that protects the designer or creators of something? You and your atitude are the reason that fascism seemed like an attractive idea.
>I don't care if it's illegal or not, but I think someone
>should make a kernel patch that specifically removes
> these license limitations.
You don't care unless it's YOUR rights that are violated/stepped on/taken away from you. If you want to make a patch then go right ahead. I wonder how many people will use it (considering the mental ability of the author, I don't think a patch is forth coming, do you?)
cluge
-
Allow closed source modules!
2002-12-17 07:22:55 anonymous2 [Reply | View]
Look, as long as all of the modules that get shipped with the kernel are GPL, there is no issue with third parties providing closed source modules.
The module is its own binary. You can use it or not. The kernel developers do not have to use it, test it, or even be aware of it. If it is closed source, it is strictly the vendor's problem to make sure it works right.
The kernel itself should always remain pure GPL. This is goodness. However, do not yield to Stallmanesque fanaticism about all software having to be GPL. If open source is to succeed, it will only succeed by living happily with closed source code and enticing the closed source vendors into opening up, but you cannot get pushy with the vendors or they will take their toys and go home. And no matter what GPL advocates say, there is plenty of really valuable commercial software out there that would make Linux more successful as a platform.
-
Why is Linux any Better Than Windows?
2002-12-17 05:58:47 anonymous2 [Reply | View]
This seems like Linux isn't any better than Windows, only in the other direction. This is going to keep us from getting drivers for new hardware, something which is already tough enough to do without the additional requirment that the driver's code be GPL compliant. This is bogus, Linux is dead, and Stallman is a prick.
-
Why is Linux any Better Than Windows?
2003-10-30 14:47:47 anonymous2 [Reply | View]
Linux is much better then windows in many ways. With the new linux versions ocming out there isnt a thing windows can do that linux cant, linux even runs the microsoft ofice programs (for whatever they may be worth). Also dont you think theres a reason both NASA and the CIA prefer linux over windows? Linux is an open source, super secure, operating system. Its prefered in most other countries other then the U.S. because were stupid and lazy. I may be only 18 yeers old, but i've been with computers since i was 11, and to me Linux is by far the best way to go.
-
Linux kernel licensing
2002-12-17 03:34:57 anonymous2 [Reply | View]
well do move Linux/GPL to Linux/BSD and all licensing meta-problems will disappear.
GPL has too many strings and this is yet another example.
-
Binary-only modules
2002-12-17 03:34:49 anonymous2 [Reply | View]
From what I understand, nvidia would probably be amenable to make a completely GPL'ed module, but they *can't*. There's parts of it that are covered by technologies and patents they don't own, and don't have permission to release for free.
They're doing the best they can, and a pretty good job of it. Deliberately cutting them off because they're not perfectly conforming to the One True Way Which You Shall Follow Or Be Assimilated For Resistance Is Futile is a very Microsoft way of doing business.
What was that saying again Nietsche had about fighting monsters?
-
syscall table text is bollocks
2002-12-17 03:00:22 anonymous2 [Reply | View]
the export was removed because it was actually impossible to use it correct and racefree. Especially the combination of 2 modules overriding the same syscall is rather explosive (the example given is a clear way to do it wrong: the syscall table is restored to what it was before, however that might be a module that's no longer loader).
Binary only modules were not an argument to remove it; rather nothing using it correctly (and the impossibility thereof) was. THAT is a technical consideration, not a political.
-
Binary? Qt?
2002-12-17 02:11:15 anonymous2 [Reply | View]
I don't mind the Binary GPL restriction. I think that's a great idea. If you want to play with Linux you have to go with GPL. Otherwise everything will get scrambled by lawers and licenses.
As for the xconfig: WTF? Qt?
What if you don't have a large graphics environment or don't want a big fat hoggy graphics monster on your system? I don't use much with Qt because I don't like it's performance. Personally, I think this is worse than the Binaries.
-
Silly, if well-intentioned restriction
2002-12-17 00:11:20 anonymous2 [Reply | View]
First I want to say that I dislike binary modules as much as anyone for a variety reasons. However I find the idea of restricting non-GPL modules in a GPL kernel a bit silly. You can not stop someone from using a non-GPL module. The source code of the kernel is available to everyone. It is GPL after all. If someone wants to remove the module restriction, they will. Maybe this is not a trivial task, I haven't checked, but it could be done. They could then release a patch to the world and be perfectly within their rights under the GPL.
-
I'm all for freedom
2002-12-16 23:56:39 anonymous2 [Reply | View]
And by allowing only GPL'd modules we guarentee that we will continue to have the freedom we have enjoyed with Linux for all these years. Binary modules are a slipper slope I don't want to see the kernel head down. Binary modules benefit only the person selling the module/hardware. GPL software benefits us all.
-
Push the vendor, kill the independent developer
2002-12-16 23:47:49 anonymous2 [Reply | View]
Vendors may respond to this push towards GPL modules, but independent developers who put their own money and time into providing a driver for a certain piece of hardware for Linux who comply with the NDA set by the hardware vendor can only stop their effort and count their losses if this move continues. I run a philips webcam and this driver makes the kernel 'tainted'. Reading the comment of the author about this move makes it clear that he cannot make a GPL module (see http://www.smcc.demon.nl/webcam/tainting.html) because of the NDA. So 'more GPL kernel' means 'end of driver'.
-
Bait and switch
2002-12-16 21:20:49 anonymous2 [Reply | View]
I see that the GPL faithful, having gotten the support of commercial software vendors such as IBM, now want to play "bait and switch," cutting commercial software vendors off from the kernel. This is Stallman's strategy, and it's hateful and unethical.
-
GPL Or More
2002-12-16 18:08:14 anonymous2 [Reply | View]
Slight correction; additional code doesn't need to be GPL licensed, it can be BSD licensed as well. GPL is an additive license; BSD adds beyond even that. I can certainly write a BSD'd module for Linux; nobody has the right to force me to *restrict* my code :-)
--Dan
-
Good Thing
2002-12-16 15:25:01 anonymous2 [Reply | View]
I stupidly bought a nVidia graphics card - being just about the only graphics card manufacturer who insist on releasing their own binary code, it is buggy and unstable.
When the card died yesterday, I was actually relieved to have an excuse to go back to the less powerful (but supported) i810.
It is not just bad for the Linux kernel on a philosophical level, it is bad for users, who get buggy, poorly-written code which is unsupportable.
The reason you get a shirty response when you post a bug to LKML with a binary driver is not just philosophy, it's a practical issue too - if you are running code in your kernel but nobody - even kernel developers - knows what it is doing, it is not just unsupported, it is unsupportable.
-
The Right Path
2002-12-16 15:18:51 anonymous2 [Reply | View]
I'm proud kernel developers had taken The Correct decision. Go to hell, binary modules.
I WANT the source of my hardware that I payed with real bucks. For example.
Proliferation of all kind of binary modules is a dangerous posibility that has been terminated preventively in the good way.
That is the kernel. No kidding. Make your crap in user space and sell it if you wish.
-
restricting binary modules !
2002-12-16 15:11:15 anonymous2 [Reply | View]
this is stupid, Linux isn't about free vs. non-free -- linux is about choice.
-
restricting binary modules !
2003-01-15 19:56:38 anonymous2 [Reply | View]
and everyone still has choices in what they doo. A vendor needs to look at what they are goining to do with how they implement thier modules or write a wrapper to interface them. I really think everyone on this thread that is saying Bait adn switch etc etc.. :FREEDOM: etc.. needs to go take a big read of the GPL . the BSD adn the (various)Microsoft liscenses (pertaining to development) and start making informed decisions for themselves, adn mnot emotional responses to subjects they only have a mininimal, at best, understanding.
-
To me this is fair...
2002-12-16 15:10:45 anonymous2 [Reply | View]
The people who contributed code to the kernel have the ultimate say on how their symbols may be referenced. If that means that no non-GPL modules can reference the symbols, then that's their choice.
People who contributed code to the kernel, if they don't agree with this, should withdraw their code, and distribute it seperately.
-- Joe




Can system calls be hijacked from a module rather than from a kernel patch?