Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Operating Systems Software Linux

Linus Pooh-Pooh's Real-Time Patch 262

An anonymous reader submits "Speaking with CNet via email, Linus Torvalds appears to be in no hurry to accept the latest real-time patches from embedded specialist MontaVista into the mainstream kernel, at least not "at this time." Nontheless, MontaVista's new open-source real-time Linux project could broadly expand commercial opportunities for the open source OS, especially in telecom initially, where real-time Linux will likely play on "both ends of the wire." For example, Linux is already making progress in smartphones."
This discussion has been archived. No new comments can be posted.

Linus Pooh-Pooh's Real-Time Patch

Comments Filter:
  • by ryanmfw ( 774163 ) on Wednesday October 13, 2004 @04:51PM (#10517311)
    He might not be in a hurry, but I'd be surprised if he doesn't realize how this could help Linux. Maybe there are some stability problems with it, but then, I doubt that too. Does anyone have any experience with it? Maybe he's just waiting for the right time, not the earliest time.
  • Linus is right. (Score:4, Insightful)

    by Power Everywhere ( 778645 ) on Wednesday October 13, 2004 @04:54PM (#10517363) Homepage
    Linus is right not to accept this patch into the main kernel tree. What this would amount to is shoehorning Linux into a shoe it's too large to fill, and there is absolutely no reason burden all other Linux distros with this mess. Come on, MontaVista, don't try to cock things up for the rest of Linux just because you're too lazy to patch the kernel yourself.
  • Barely a story. (Score:5, Insightful)

    by Elwood P Dowd ( 16933 ) <judgmentalist@gmail.com> on Wednesday October 13, 2004 @04:56PM (#10517381) Journal
    Linus' job is to say no. Here, he even gives rationale.
  • by d_jedi ( 773213 ) on Wednesday October 13, 2004 @04:57PM (#10517398)
    While useful for certain applications (if I press the "abort" button on a missile, I want it processed NOW and not 5 seconds after it explodes..), I don't see what a hard realtime operating system would do for desktop systems.. then again, maybe I'm completely missing the point?
  • by chance2105 ( 678081 ) on Wednesday October 13, 2004 @05:00PM (#10517428)


    Is it just me, or does this article sound like it's fueling steam for a fork of Linux development? If not adding steam for a fork, I have to say it's arrogant ...

  • by Anonymous Coward on Wednesday October 13, 2004 @05:01PM (#10517443)
    I believe that it's appropriate to have a fork for realtime enhancements. I remember HP's philosophy in the 80's was to have a Real Time OS and a Business OS. They have competing goals. No need to blend them and end up with a compromise!
  • by Anonymous Coward on Wednesday October 13, 2004 @05:01PM (#10517445)
    RTLinux takes executive hold of the system and runs the Linux kernel as a mere user process.

    Perhaps Linus objects to this topsy-turvey approach and would prefer Linux to be re-written so it's actually completely preemptible, capable of handling interrupts with RT guarantees all by itself, etc?
  • Re:Linus is right. (Score:5, Insightful)

    by Rosco P. Coltrane ( 209368 ) on Wednesday October 13, 2004 @05:01PM (#10517451)
    Come on, MontaVista, don't try to cock things up for the rest of Linux just because you're too lazy to patch the kernel yourself.

    There are many good reasons for contributors to merge their patches into the kernel. For one thing, it means you don't have to play catch-up with the kernel releases and manage the patch on top of it, and also you get to offer your code for free review and testing.

    As for why Linus is always reluctant to accept new code in the kernel? simple: Firstly, if he accepted all (good or less good) ideas into the kernel, the damn thing would make coffee already, and I don't blame him to want to narrow the kernel's focus. But most importantly, just look at the size of the flippin' tarball already and you'll see why he doesn't want to include forever code that'll serve less than 0.5% of all Linux users.
  • by irokitt ( 663593 ) <archimandrites-iaur@@@yahoo...com> on Wednesday October 13, 2004 @05:02PM (#10517460)
    Not stability, complexity and responsiveness. Adding real-time elements to the mainstream kernel means that priority tasks get executed first, but the average time taken to finish a task is significantly higher. The result would be an excellent system for medical equipment or ilk, but it would make a sluggish desktop or server, and most Linux devices now are desktops or servers. And the complexity of adding this in would only be justified if it benefitted a lot of people. So Linus is waiting to see how things look a little later. It should be possible to create a custom kernel that uses these features, but they don't belong in the vanilla kernel yet.
  • Hmmm... (Score:3, Insightful)

    by temojen ( 678985 ) on Wednesday October 13, 2004 @05:02PM (#10517461) Journal
    What makes you think it wouldn't just be annother kernel config parameter to most people?
  • Re:Linus is right. (Score:3, Insightful)

    by johannesg ( 664142 ) on Wednesday October 13, 2004 @05:02PM (#10517463)
    Come on, MontaVista, don't try to cock things up for the rest of Linux just because you're too lazy to patch the kernel yourself.

    Aren't they just being good citizens by offering up their patches for inclusion? You know, like that GPL thing says they should?

  • by Anonymous Coward on Wednesday October 13, 2004 @05:04PM (#10517481)
    You are missing the point insofar that Linux doesn't aim just for the desktop and/or server market, but also, as stated above, for the embedded market where hard real time often is simply necessary. Or why else do you think OSs like QNX still exist? :)
    Whether this "aim for everything"-attitude is a good one for the Linux kernel as a whole remains unquestioned for now.
  • by metlin ( 258108 ) * on Wednesday October 13, 2004 @05:05PM (#10517496) Journal
    I'm guessing that maybe he has his own reasons that he does not want to divulge?

    Especially given the current sue-happy folks who're looking at suing everything that is Open Source, maybe Linus is just playing it safe.

    For all you know, he's trying to see if there are any IP violations before accepting them into the code-base. You never know.
  • by Zapman ( 2662 ) on Wednesday October 13, 2004 @05:09PM (#10517538)
    After digging around some (see the posts above), Linus seems to feel that the patches are too intrusive, which I can certainly understand. Hard Real time promises are not good in the general case, which is why most OSen don't bother. For the cases that require them, traditionally there are specialized OSen (QNX for example) that have the functionality needed. I'm not sure about this, but I believe that there are some specific hardware requirements for true RT. The scheduler is also radically different.

    It would not suppise me at all if this lives a long and fruitful life outside of the standard kernel, as a stand-alone patch set. That's not even a bad place to live, especially since the requirements are rather esoteric.
  • by ajs ( 35943 ) <ajsNO@SPAMajs.com> on Wednesday October 13, 2004 @05:14PM (#10517586) Homepage Journal
    As if Linux wasn't one of the bloated kernels already.

    People throw around bloat with great abandon, and usually without any real rationale behind the term. In this case, you have the creator and current maintainer of one of the world's most complex pieces of software which handles millions of different configurations across hundreds of devices and architectures saying, in effect, "this patch would make the kernel too complex." That speaks to me of a level of complexity which I cannot even reasonably grasp (and I can grasp a hell of a lot of complexity).

    Personally, I'd love to see RT linux for real (as opposed to semi-real-time features like low-latency and preemptability), but not at the cost of the stability of the OS. Let it mature the way PCMCIA did. Linus didn't accept that right off the bat either, and we were better off for it in the long run, as I think the PCMCIA subsystem had to work hard to maitain itself coherently while not shipping with the OS, and/or not being updated regularly.

    As for bloat... I've yet to see anything that is not modularly removable from the kernel which was not essential to a modern OS. There are many cases where I'd love to drop old hardware, but that's not usually realistic. There are many modules which I have no use for, but I can always turn those off. There are many features for hardware I don't use, but removing them would be unfair to people on those platforms.

    What bloat did you have in mind?
  • by richg74 ( 650636 ) on Wednesday October 13, 2004 @05:16PM (#10517602) Homepage
    He might not be in a hurry, but I'd be surprised if he doesn't realize how this could help Linux.

    I'd suggest the reason he is not in a hurry is that he does realize how this could help Linux, and also how it could hurt Linux. Adding real-time capability is not a free lunch.

    As the original C|NET article suggests, there is a class of applications that need real-time capability (which, BTW, is mostly about being able to say that interrupt X will be handled in not more than N time units). But for most applications, real-time capability is neither needed nor really desirable: having it comes at a cost in average processing efficiency.

    Incidentally, telecoms is mentioned as a possible application. I don't know enough about cellular telephony to say if it fits, and maybe there are some VoIP applications where it would make sense. But for conventional circuit-switched telecoms (e.g., a telephone switch), it really is not needed.

  • by dmaxwell ( 43234 ) on Wednesday October 13, 2004 @05:16PM (#10517605)
    Historically, Linus has never liked merging in great glops of code that touch the kernel in many places. It is disruptive to his maintenance of the kernel and it is disruptive to his lieutenants and their sub projects. The article even hinted at how Linus expects those with a major patch like this to handle things. Montavista needs to break this up into bite size chunks that can be slowly merged into the kernel and gives everybody time to get up to speed. Since it can have a major effect on how the kernel operates, it needs to at least be a compile-time option.

    Linus has even told IBM "no" on occasion. Not hurrying things like this is far better for the quality of Linux than any feature a contributor may want in. Linus isn't flatly refusing Montavista. He most certainly isn't flatly refusing a major feature like hard real time. He is expecting Montavista to participate the way other developers are expected to participate. In particular, Montavista doesn't get to disrupt the work of hundreds of developers because their gargantuan patch was simply dumped in the main dev tree.

    This isn't petty dictatorship. The kernel devs are a battle scarred lot who don't just chuck things in because it would be "cool".
  • good for linus (Score:1, Insightful)

    by Anonymous Coward on Wednesday October 13, 2004 @05:22PM (#10517656)
    Much as I think Linus is often an arrogant blowhard who often goes off about things he doesn't know about (microkernels, his original views on SMP, and his theory on solaris's /dev/poll implementation just to name a few), I would have to side with Linus here. Hard realtime is a different beast than soft realtime, and even if these patches work perfectly now, Linus doesn't want to be in a position to have to ensure that some update to a SATA or network driver or whatnot causes hard realtime to break. Validating the realtime response of the system is NOT a simple task, and has to be engineered in from the start. Linus knows Linux isn't built that way, and doesn't want to set the expectation that it will.
  • by augustz ( 18082 ) on Wednesday October 13, 2004 @05:22PM (#10517663)
    The article and reporters may enjoy "fueling steam", they tend to enjoy stiring up controversy.

    Linus saying it looks too invasive at the moment for him to roll-in without other testing? NO ONE is going to fault him for that. Linux has gotten where it is because people can actually use it, in contrast to plenty of other experimental efforts.

    No one is going to think he is arrogant for doing his jobs. These patches can work their way into some feeder kernels first, and the usual cycle can work itself out.

    Too many uninformed folks like to say, "Fork!" or "Arrrogant!" without ever having actually maintained any type of code base.

    What the dear poster probably doesn't realize is that there are ALREADY real time Linux kernel varients in use out there, moving stuff mainline is hardly a fork, if anything montevista is trying to get out of the separate kernel maintenance business.

    Am I missing something obviou here?
  • by The_Laughing_God ( 253693 ) on Wednesday October 13, 2004 @05:36PM (#10517803)
    There's a hard, probebly irremediable fact about Real Time Operating Systems: the price for being able to [i]guarantee[/i] a specific response time is a [i]slower overall response time[/i]. "Realtime" isn't magic (though, as with all buzzwords, people tend to act like it is). It still must heed all the inherent limitations of the hardware.

    Imagine that you run a pizza shop that MUST meet a certain delivery time guarantee or fail (go out of business--an RTOS MUST meet the guarantee to "be in business" at all). Before you were an RTOS, you could afford to promise pizzas in 15 minutes, with a 90%+ success rate, but if your head will roll if you fail at all, you won't advertise anything better than 30 -or even 60- minutes. I mean, what happens if a custom pizza gets ruined in the oven? You need time to make a new one.

    You'll also need more hardware for the same tasks (more delivery cars), restrict services (smaller delivery area, fewer options), and institute effort-intensive safeguards to assure that no pizza order slips through the cracks. As I said: RTOS isn't magic; adding NEW performance demands won''t magically enable you to do more with less. Quite the contrary, it usually means doing less with more -- but presumably doing it better (assuming that the new requirement *is* better for your specific needs).

    Would you embrace a hardware technology that slowed down your computers, and offered little or no benefit for most (or all) of the tasks you do? There are plenty of examples in he market, and we rightfully shun them as "unnecessary for us". That's the choice Linus faces: most users won't experience any benefit, so why include it in the kernel and make everyone pay the (performance and complexity) price?

    I applaud the availability of a Real-Time patch or variant (I've wanted one for a long time, and I've used Wind River for those applications), but for most people or even 99% of my applications, it's pure downside, even if reworking the kernel to allow its inclusion only decreases performance or complicates programming by 1%.

    Sure, in time --maybe a couple of years-- it may be streamlined until the RTOS burden is miniscule. Until then, Let the Real Time people deal with the issues and limitations inherent in their task. 99.99% of us don't need the unnecessary baggage in our OS. It'd be like mandating infan/child car seats in all cars, whether they carry kids or not.
  • Re:Hmmm... (Score:3, Insightful)

    by Mysticalfruit ( 533341 ) on Wednesday October 13, 2004 @05:47PM (#10517939) Homepage Journal
    Because it's not.

    It's not just adding support for a filesystem. It's fundimentally changing how the kernel creates and schedules userland processes and kernel threads, prioritizes I/O, allocates memory and handles interupts. This in turn has a ripple effect on how applications work.
  • by ZuperDee ( 161571 ) <zuperdee@@@yahoo...com> on Wednesday October 13, 2004 @05:54PM (#10518007) Homepage Journal
    Linus merely said "not at this time," and gave his rationale. To me, this hardly qualifies as "pooh-poohing." Therefore, I'd say the article headline is misleading, and designed merely to stir up emotions rather than foster rational dialog.
  • by discord5 ( 798235 ) on Wednesday October 13, 2004 @06:10PM (#10518174)

    Let me start out by saying that I'm not a kernel developer, as are most people on /., but I do get to maintain some C and C++ code on a regular basis.

    A lot of the stuff in 2.6 may be useless to most people, but it's there because it's being maintained, is 99% stable and compatible with the current kernel ABI. You see, thread locking in general is a complicated matter, and I can only imagine how complicated all the locking code in the kernel is.

    The RTL patch does some major adjustments to the internals of the linux kernel, and from what I gather has been just dumped into Linus' and co's mailbox. This is simply not done in ANY development project. Maintainers don't accept huge patches that change stuff everywhere on the belief that source code works. Hell, if there's a lock somewhere that isn't freed in some exceptional case your shiny new version of software X grinds to a halt often leaving end-users scratching their heads and developers gritting their teeth.

    I was on a development project once where one of the coders had an inspirational idea and rewrote some shabby but working code into (what he called) clean and efficient code. It was a hefty patch and didn't break the program at first. But due to a bug in thread locking in "some" conditions, only 2 months later we found out some really nasty things about this "clean and efficient" code. Alas, it was too late to revert to our old model, and eventually spent a lot of time debugging and banging our heads against the wall. The guy was fired.

    The point I'm trying to make is that you shouldn't judge people for being wary of accepting large globs of patches for software that already works great. Sure, linux can benefit a lot from this if it provides a foot in the door of telecom, but at the moment it's being used actively in many other areas. This article just seems bent on critisizing Linus for not including something because he believes there may be issues.

  • Re:Linus is right. (Score:5, Insightful)

    by 4of12 ( 97621 ) on Wednesday October 13, 2004 @06:11PM (#10518180) Homepage Journal

    why he doesn't want to include forever code that'll serve less than 0.5% of all Linux users.

    If the patched Linux goes into embedded devices there is a much bigger market than for conventional servers and desktop computers.

    The millions of current desktops and servers could become 0.5% of all Linux users if embedded devices run Linux.

    But I still agree that Linus' go-slow approach is wise and judicious.

  • Re:Patents ? (Score:5, Insightful)

    by AuMatar ( 183847 ) on Wednesday October 13, 2004 @06:17PM (#10518222)
    It saves as many versioning problems as it causes. Imagine there's a buffer overflow in libc. Would you prefer to patch every app on your system from ls to mozilla? Or would you rather update just libc?
  • No big deal (Score:2, Insightful)

    by B1gP4P4Smurf ( 790700 ) <rlrevell@joe-job.com> on Wednesday October 13, 2004 @06:55PM (#10518603)
    Speaking as someone who actually downloaded and tested these patches, I would not worry too much. This stuff is all very rough around the edges, though it has amazing potential.

    If the patches were mature and worked well, and Linus rejected them, it would be news. For now he is just saying "Show me the money". Nothing new, the burden of proof is on people who introduce new features like this to prove them stable, and it just hasn't happened, yet.
  • by Greyfox ( 87712 ) on Wednesday October 13, 2004 @07:24PM (#10518824) Homepage Journal
    I remember when there was a huge to-do in the community because the compressed kernel source had just hit 10 MB! For a long time my kernel compile time was consistently "overnight", first on a 386 SX/16 with 4MB of RAM and later on a 486/33. These days... not so much. I can compile it in about 10 minutes now.

    My point? Get off my lawn you damn kids! Heh heh heh...

  • by Anonymous Coward on Wednesday October 13, 2004 @07:35PM (#10518889)
    There is a difference between "hard" real-time, and "soft" real-time.

    http://www.linuxdevices.com/articles/AT3524337625. html [linuxdevices.com]

    Personally I agree with Linus. Many embedded applications don't need "hard" real-time. Actually, hard real-time is a bit more of a burden.

    I'm guessing that Linux can probably do most of what is required for a "soft" real-time system already....
  • by AaronW ( 33736 ) on Wednesday October 13, 2004 @07:39PM (#10518915) Homepage
    At my company we are using Timesys embedded Linux for its real-time options. For telecom, it is absolutely necessary to have real-time in many cases. I.e. if a packet is delayed, it will cause a glitch in the audio or somesuch. The major problem we have with Timesys is that their kernel is a bit out of date (2.4.18) and is missing some critical patches and that they have not applied their changes to the 2.6 kernel tree.

    Other things are things like priority inheritance support, to prevent problems caused by priority inversion (which caused problems in the original Mars rover).

    For voice support, if you don't mind crappy sound or are only handling one or two calls, you can get away without real-time, but for serious use, it is essential.

    Maybe for control path processing it isn't essential, but as soon as it becomes part of the data path, real-time is essential.
  • by warrendodge ( 76230 ) on Wednesday October 13, 2004 @08:03PM (#10519098)
    Hmmm, I think the whole story was just an elaborate setup for that joke.
  • by swillden ( 191260 ) * <shawn-ds@willden.org> on Wednesday October 13, 2004 @10:39PM (#10520116) Journal

    For all you know, he's trying to see if there are any IP violations before accepting them into the code-base. You never know.

    Very unlikely. With respect to copyrights, Linus requires contributors to take responsibility for the ownership of their contributions, and takes them at their word. He doesn't really have any way to do anything else since our screwed up copyright regime provides protection to unpublished works -- so how could he even check? Same holds with trade secrets. With respect to patents, Linus has publicly stated that he's been advised not to bother searching for patents, which is exactly the same advice corporate attorneys give to corporate software developers.

    I guess he could check the code for infringing trademarks. Not likely, though.

"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde

Working...