Slashdot Mirror


Linus Pooh-Pooh's Real-Time Patch

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."

262 comments

  1. Better link by Anonymous Coward · · Score: 5, Informative

    Direct link to they story.

    1. Re:Better link by Anonymous Coward · · Score: 2, Interesting

      And a link to the Slashdot story where we discussed the real-time patches on Saturday.

    2. Re:Better link by Anonymous Coward · · Score: 0

      I see that all linux based mobile phones are in china, any one for a "In China.." joke?

      Remember you read about it, first here.

  2. Wrong Link by hendridm · · Score: 0, Redundant

    The 'appears' hyperlink in the summary is pointing to the wrong link. I think the author intended this article instead.

    1. Re:Wrong Link by Anonymous Coward · · Score: 0

      I tie for first with this notificate and send a couple letters to the editor. He gets +5 Informative, I get -1 Redundant. I guess the mods don't like karma whoring. Overrated? Maybe. But why would first occurance of a comment be marked redundant?

    2. Re:Wrong Link by Anonymous Coward · · Score: 0

      Because you suck.

  3. Patents ? by Anonymous Coward · · Score: 2, Interesting

    Wouldn't a real time patch violate software update patents

    1. Re:Patents ? by ryanmfw · · Score: 2, Interesting

      It's not a *real time patch*, it's a *real time* patch. It doesn't change the kernel while running, it changes the behavior of the kernel to be a real time one. I'm a little hazy on the difference, but I think it mainly has to do with scheduling, and that it will give high priority tasks all the time they need.

      --
      Hurricane Ivan: A 17th century prison collapsed. All of the inmates escaped.
    2. Re:Patents ? by Rosco+P.+Coltrane · · Score: 3, Interesting

      Perhaps Victor Yodaiken might want to pull another one of his lame patent stunts on Montavista. That'd be rather amusing actually...

      --
      "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    3. Re:Patents ? by d_jedi · · Score: 5, Informative

      RTFA.

      A hard realtime operating system is one where calls to the operating system are guaranteed to be executed within a certain timeframe.

      --
      I am the maverick of Slashdot
    4. Re:Patents ? by valkraider · · Score: 3, Funny

      and that it will give high priority tasks all the time they need.

      DOS did this back in the 80's....

    5. Re:Patents ? by pavon · · Score: 3, Informative

      Uhm, no. He has given an irrevocable, royalty-free licence for it's use in GPL'd software. Montavista RT Linux is GPL'd. Besides if you read the patent you will see that it is for something that has nothing to do with Montavista's code. Yodaiken's approach was to run the linux kernal as a process of a smaller realtime kernal, and it is that technique that he patented. Montavista is modifying the Linux kernal itself to be run-time, which is a much more difficult task, and would not infringe on this patent whatsoever.

    6. Re:Patents ? by tchuladdiass · · Score: 4, Informative

      Shared libraries also save ram -- multiple programs using the same shared library all point to the same copy that is in memory. Which also ends up giving a speed boost (more memory free).

    7. Re:Patents ? by AuMatar · · Score: 4, Insightful

      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?

      --
      I still have more fans than freaks. WTF is wrong with you people?
    8. Re:Patents ? by eraserewind · · Score: 1

      Which is why DOS is still used as the basis for many real time projects.

    9. Re:Patents ? by mrchaotica · · Score: 1

      Either way, it's all just 'emerge -uDv world' to me...

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    10. Re:Patents ? by Anonymous Coward · · Score: 0

      Either way is insane, but would you rather emerge world compiles just glibc, once, few hours perhaps, or _EVERY FRICKING PACKAGE ON YOUR MACHINE_ after that, a week perhaps?

  4. is Linus ever in a hurry? by Anonymous Coward · · Score: 2, Funny

    - i don't think so!

  5. RTOS by darth_MALL · · Score: 4, Informative

    I learned something new!
    Real Time Operating Systems. Now you know!

  6. Might not be in a hurry.... by ryanmfw · · Score: 3, Insightful

    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.

    --
    Hurricane Ivan: A 17th century prison collapsed. All of the inmates escaped.
    1. Re:Might not be in a hurry.... by Elwood+P+Dowd · · Score: 5, Informative
      He might not be in a hurry, but I'd be surprised if he doesn't realize how this could help Linux.

      I'd be shocked if he didn't realize exactly how this patch would impact Linux. From the article:
      "Almost nobody wants hard real-time, even in embedded devices," Torvalds said in an e-mail interview. Adding the feature makes the operating system more complex and burdens the process of "locking," in which the operating system assures that different processes don't step on each others' toes when vying for the same resources.

      Asked whether MontaVista's proposed software could be accepted into the main kernel, he said, "I personally think it's too intrusive, at least at this point," though it might be possible to merge the patch into the kernel in smaller pieces.
      Iduno what else there is to discuss...
      --

      There are no trails. There are no trees out here.
    2. Re:Might not be in a hurry.... by Elwood+P+Dowd · · Score: 2, Funny

      Oh. That's exactly what you said. I can't read.

      --

      There are no trails. There are no trees out here.
    3. Re:Might not be in a hurry.... by Anonymous Coward · · Score: 0

      Adding the feature makes the operating system more complex [..]

      As if Linux wasn't one of the bloated kernels already.

    4. Re:Might not be in a hurry.... by irokitt · · Score: 4, Insightful

      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.

      --
      If my answers frighten you, stop asking scary questions.
    5. Re:Might not be in a hurry.... by metlin · · Score: 4, Insightful

      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.

    6. Re:Might not be in a hurry.... by skraps · · Score: 5, Funny
      Maybe he's just waiting for the right time, not the earliest time.

      Sooo.. Linus is real-time, but Linux is not.

      (yes, my jokes are that lame.)

      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    7. Re:Might not be in a hurry.... by ajs · · Score: 4, Insightful

      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?

    8. Re:Might not be in a hurry.... by richg74 · · Score: 4, Insightful
      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.

    9. Re:Might not be in a hurry.... by jd · · Score: 1
      The only way it would help Linux is if it could be totally compartmentalized, such that:


      • "Regular" users could disable it in its entirity (and not be burnened by it slowing the rest of the system down) AND where...
      • "Power" users who specifically need Hard Real-Time could enable it in its entirity AND where...
      • The kernel is not so heavily bloated with the multiple ways of doing things that the kernel becomes less reliable AND where...
      • The different paths are sufficiently independent, such that if the paths are not maintaine in sync, it won't break the kernel


      Frankly, I'm not certain the above is achievable for any of the real-time solutions out there. (And there are a lot.) The solutions involve way too many changes to way too many components.


      Linus is open to being persuaded. Look at the DevFS idea, for example. There have been numerous occasions when Linus has been persuaded that a solution is good enough to be included. Sometimes that's been good, sometimes (as with DevFS, which now seems to be abandonware) it's not so good.


      What I'd like to see is for the Real-Time OS developers to focus on making Linux much more modular, and much more reconfigurable as a live system. Why? Because then those changes which are simply too complex to ever make it into the kernel could be used in practice. Simply install them as kernel modules which can be hot-swapped with the standard scheduler, et al.


      This would be good, all-round, as it would mean that there'd be less pressure to build absolutely everything into the kernel (I believe the kitchen sink patches are in the pre-release 2.6.x tree). The emphasis could then be on development, rather than politics.


      It would also mean "rival" solutions could all exist. One of the things that killed FreeS/Wan was the addition of a lot of the KAME/USAGI code into the Linux kernel. Now, there's no doubt USAGI is a good system, and I hope that any outstanding parts get merged in soon. However, if the OS internels were less rigid, it wouldn't have mattered. FreeS/Wan could have been hot-swapped in to replace the USAGI components, without disturbing the kernel and without requiring highly complex patching.


      Personally, though, I think the real-time work is going in the wrong direction. As I posted before, there are many patches out there. Those that cover the same ground aren't interoperable, and those that cover different ground don't cooperate.


      Real-Time work is largely suffering from the Not Invented Here syndrome, with developers focussing more on what they can do in-house, rather than on what is being done by other groups. Everything is proprietary. Some groups are even distributing the bulk of their work as closed-source, with only minimal hooks and basic components as GPL.


      Real-Time is an interesting goal, but if this is the best they can offer in the way of friendly, cooperative environments, I think kernel developers should put more of their time into things like the VAX architecture patches for Linux.


      After all, there's probably a lot more VAXes out there that would benefit from Linux than real-time specialists who would find Linux preferable to VxWorks or some other specialized hard Real-Time OS.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    10. Re:Might not be in a hurry.... by StateOfTheUnion · · Score: 2
      I would agree . . . there are lots of applications in manufacturing that depend on realtime applications. Though safety and mission critical apps are still on more fault tolerant Sun, HP-Risc, and big IBM boxes, many of them are moving to the kludgy WinTel monopoly because of easy of maintanence and lower hardware cost. Windows has really made huge inroads on the client side of these large control systems . . . and they are slowing taking over the server side OS.

      I think that Linux has a real opportunity here because the mission critical systems are almost all Unix based. It wouldn't be that big a leap to migrate to Linux; customers are already UNIX skilled. However, the Linux community seems to have done very little to convince people like Honeywell, Foxboro, Yokogawa, Fisher-Provox and ABB (The leaders in large scale manufacturing digital control systems) that Linux would be a suitable alternative in their marketplace.

    11. Re:Might not be in a hurry.... by Audacious · · Score: 0, Troll

      Reminds me of Bill Gates and the quip about nobody needing more than 64MB of memory. ;-)

      --
      Someone put a black hole in my pocket and now I'm broke. :-)
    12. Re:Might not be in a hurry.... by Siddly · · Score: 1

      Linus knocked back a bunch of IBM patches going back a while, that's nothing new and lots of other stuff that's now in the main kernel is stuff (reiserfs e.g) that was knocked back initially. Present Linus with something that fits without detriment to the mainstream kernel and he will accept it. It makes great headline and that is what publishing is all about, kernel development is a totally different ball game.

    13. Re:Might not be in a hurry.... by steve_ellis · · Score: 1

      It was 640KB of memory, and it is likely an urban legend that he ever actually said it.

    14. Re:Might not be in a hurry.... by DAldredge · · Score: 5, Funny

      I am almost sure that Linus stated policy on IP violations is to not give a flying fuck till someone bitches.

    15. Re:Might not be in a hurry.... by Greyfox · · Score: 2, Insightful
      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...

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    16. Re:Might not be in a hurry.... by Anonymous Coward · · Score: 1, Insightful

      There is a difference between "hard" real-time, and "soft" real-time.

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

      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....

    17. Re:Might not be in a hurry.... by AaronW · · Score: 4, Insightful

      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.

      --
      This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
    18. Re:Might not be in a hurry.... by SlowMovingTarget · · Score: 2, Informative

      Actually, the article hints at Linus' mastery of the issue by clueing the reader in on a few consequences of hard real time systems. The problem is that while the OS would be capable of guaranteeing a response within tens or hundreds of microseconds, the overall response time of the system is reduced. Linus is quoted as saying he believes most people, even in the embedded space, don't want this as a standard feature of the OS. This is because there's a comparatively easy fix for getting quick response times: over-provision the hardware.

      For HRT systems, however, it's not good enough that the response time is "probably good enough, most of the time." HRT systems require a guarantee, and that guarantee has a net effect of slowing down the system.

      Compare it to "guaranteed-secure" encryption. It's possible (quantum encryption), but it requires a physical fiber connection (a polarized light-pipe) and some serious detection hardware.

      The article goes on to say that Linus may consider putting pieces of the patch into the kernel in the future.

    19. Re:Might not be in a hurry.... by timeOday · · Score: 1

      I assume you're not talking about VOIP on the public Internet then. The Internet's inherent jitter makes hard vs soft realtime processing at the endpoints practically irrevant.

    20. Re:Might not be in a hurry.... by NoMercy · · Score: 1

      Linux is not a bloated kernel, if you look at the actual kernel, it's not that big... but you get a huge chunk of drivers for hardware, network protocals, obscure file systems and much more.

      But how long it takes to get into the official kernel isn't much of a worry, people who build kernels for embeded devices know what there doing, downloading a extra patch is childs play compared to the rest of it :)

    21. Re:Might not be in a hurry.... by cetialphav · · Score: 1

      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.

      This isn't really true. SONET based equipment often have real time requirements. For fiber that is protected, it is required that the system detects a failure (e.g. fiber cut) and switches traffic to the protecting fiber within 50 milliseconds. This requires the operating system to be very responsive to interrupts so that the application can respond quickly. This is not an easy requirement to meet even with a real time operating system.

    22. Re:Might not be in a hurry.... by swillden · · Score: 2, Insightful

      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.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    23. Re:Might not be in a hurry.... by Audacious · · Score: 1

      Yeah, I know - inflation and all. ;-)

      Here is a link.

      And for those TROLL moderators - GET A LIFE! IT WAS A JOKE!

      --
      Someone put a black hole in my pocket and now I'm broke. :-)
    24. Re:Might not be in a hurry.... by cduffy · · Score: 1

      If the grandparent poster is a microkernel affecionado, then [s]he could have an entirely valid perspective from which to call the Linux kernel bloated -- it contains entirely too much stuff that ought to be in userland! "What bloat"? Drivers and filesystems and all that other gunk...

      Or the grandparent poster could be just be repeating conventional [un]wisdom. Take 'yer pick...

    25. Re:Might not be in a hurry.... by An+Ominous+Cow+Aired · · Score: 1

      Wide-spread real-time support is a VERY BAD idea. Every idgit who wants faster responses from their application or driver (sound, video, whatever) will want it to be real time.

      "Every idgit" doesn't know jack about realtime and this will cause problems with things that need realtime - i.e. LinuxCNC.

      Do you WANT a 2000-lb machine to stop responding and crash? No, you might end up with a hole in you. Not to mention some really expensive equipment destroyed: Gantry

      Real-time on linux:
      FSMLabs
      MontaVista
      RTAI from DIAPM (Italian)

      --

      Become A Real Millionaire, in 10 seconds, on your computer! (rf=really fast) Read manual, YMMV.
      rm -rf *
    26. Re:Might not be in a hurry.... by inode_buddha · · Score: 1

      I'm betting that he's waiting till 2.6.9 is out before dealing with it. The focus right now is on getting bugreports in from 2.6.9-rc4.

      --
      C|N>K
    27. Re:Might not be in a hurry.... by Anonymous Coward · · Score: 1, Funny

      and I can grasp a hell of a lot of complexity

      I, for one, welcome our new complexity grasping overload.

    28. Re:Might not be in a hurry.... by Anonymous Coward · · Score: 0

      Doesn't Linus realize that until you have real-time capabilities in the kernel it's simply impossible to write robust audio or video processing applications?

    29. Re:Might not be in a hurry.... by squiggleslash · · Score: 1
      FWIW, I think the first two are reversed. "Regular users" - at least, if we talk in terms of regular users of computers - are those who want a clean, efficient, desktop that runs smoothly. They want to play games, watch DVDs, and listen to music, as well as rip music from CDs and other sources. These people are not using tasks that are so-much CPU intensive as timing-critical (well, many of the more modern games are CPU intensive, but that's the exception, and they're still timing critical.)

      "Power users" - again, in terms of common computer users - are those who want to squeeze every ounce of CPU out of their systems. They run massive web applications and are constantly upgrading memory and CPU to deal with increasing number of users. They'll want a kernel that's as CPU critical as possible and will not necessarily care about timings as long as everything's reasonable.

      I think there are very good arguments for putting real time functionality in the kernel. The major issue we have at the moment is that most people who hear about the technology also hear the word "embedded" and assume it's a niche application that benefits a few people who eat and drink solder. It isn't. Those are the people who are most desperate for it. The rest of us would benefit immensely from it but we're not getting it because...

      ...well, I think part of the reason is that Windows doesn't do it, and there are an awful lot of people in computing right now who'll not do anything until Microsoft steps forward first. Another good example of this, I guess, would be flexible metadata in the file system. Linux ought to support it, it would have made the whole process of building decent GUI/Desktop environments so much easier, people have talked about how valuable it would be for years, but because Microsoft doesn't do it (yet) we don't see it, and we probably will not until WinFS is released.

      --
      You are not alone. This is not normal. None of this is normal.
    30. Re:Might not be in a hurry.... by djdavetrouble · · Score: 1

      That is one cool example of a machine that needs rtos. he does point out that the emergency cut off is independent of the computer control system, a very good idea indeed.

      --
      music lover since 1969
    31. Re:Might not be in a hurry.... by freqres · · Score: 1

      Maybe for control path processing it isn't essential, but as soon as it becomes part of the data path, real-time is essential.

      Real-time is essential for control processing as well. One of the biggest needs for a *hard* real-time operating system is precisely defined interrupt latency. You have to know that if an interupt is triggered, the cpu will get to it in at least X microseconds. If I have a limit switch or safety cutoff wired to a hardware interrupt on some factory controller, I need the interrupt code to be GUARANTEED to run quickly. I can't have the OS blocking interrupts for a half second when the safety switch is triggered on a drop forge, unless you want to blame the OS for the Red Splat of Death.

      --
      Rampant Ninja related crimes these days...Whitehouse is not the exception
    32. Re:Might not be in a hurry.... by ajs · · Score: 1

      I remember that too. I remember thinking the 1.37 kernel was HUGE.

      I also remember that it didn't have most of the features that I rely on today (multi-processor support (there were patches); USB; PCMCIA; large memory; 2-year uptime; kernel threading was primative; modules; firewalling; etc.)

      You could argue that many of those things should have been in user-land (and some did at the time), but I think that the final result speaks for itself. Call it bloated if you wish (I know you were not Greyfox), but I like to think of it as my swiss-army-kernel, and I keep it with me everywhere I go.

  7. Linus is right. by Power+Everywhere · · Score: 4, Insightful

    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.

    1. Re:Linus is right. by Rosco+P.+Coltrane · · Score: 5, Insightful

      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.

      --
      "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    2. Re:Linus is right. by johannesg · · Score: 3, Insightful
      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?

    3. Re:Linus is right. by 4of12 · · Score: 4, Insightful

      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.

      --
      "Provided by the management for your protection."
    4. Re:Linus is right. by reynaert · · Score: 2, Informative
      Aren't they just being good citizens by offering up their patches for inclusion? You know, like that GPL thing says they should?

      Just to fight this stupid urban myth: The GPL doesn't say that. Please read at least the FAQ. kthx.

    5. Re:Linus is right. by Quantum+Jim · · Score: 1

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

      That's not what the GPL says they should do. The GPL specifies that, if they redistribute a program, or any other work, based on the source code of Linux outside of "fair" uses allowed by law, then that program or work must be licensed under the terms of the GPL as well. MontaVista could fork the kernel and provide their version of Linux as Montix under the GPL. Nothing says they have to cooperate with Linus Torvalds.

      However, you are correct that being good "citizens" means that they offer their patches for inclusion. That deals with a separate issue involving the open-source community rather than the license.

      --
      It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
      - Jerome Klapka Jerome
    6. Re:Linus is right. by B1gP4P4Smurf · · Score: 2, Informative

      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.

      If you read MontaVista's original announcement, it was not posted for inclusion in the mainstream kernel, no one (including MontaVista) is claiming that it is ready. They merely posted their work to stimulate discussion and to avoid duplication of effort. So of course Linus is right, no one ever said it _should_ go in the kernel now or even anytime soon.

      Why was this modded "Insightful", the poster clearly has not bothered to understand the situation.

    7. Re:Linus is right. by gl4ss · · Score: 1

      ...linux can go on those embedded devices _without_ the patch being in the official kernel.

      moreover, anyone building those things should know how to patch it anyways- rt isn't much of use if you're clueless anyways.

      --
      world was created 5 seconds before this post as it is.
    8. Re:Linus is right. by timeOday · · Score: 1

      "Embedded" is not synonymous with "hard realtime."

    9. Re:Linus is right. by Tony-A · · Score: 1

      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.

      Errr, maybe I'm missing something, but that would seem to be exactly what they have been doing.

      What is interesting is to view this phenomenon, and it can hardly be unique, in light of attempts to place a value on the Linux kernel and Darl McBride warning companies that they must protect their intellectual property or risk being 'sacked by open source-touting bandits.

      I haven't dug any details, but this much is obvious from the surface. MontaVisa has invested some large amount (time and resources) into some "Intellectual Property". They want to "donate" this "Intellectual Property" to the main-line kernel and Linus is far from falling all over himself to accetpt it. This says something about the effective market value of Darl McBride's "Intellectual Property". Playing dog-in-the-manger with a bit of "Intellectual Property" really gives that "Intellectual Property" a negative net value. Figuring a replacement cost for Linux is difficult in that buying the best on the market is not enough to buy some of the stuff that goes in. I assume that eventually this, or something similar or better will eventually go into the main line, but whatever does go in will occasionally be of a better calibre than could be obtained on the open market. Don't confuse free with cheap.

    10. Re:Linus is right. by theLOUDroom · · Score: 1

      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.

      Actually, (and somewhat disturbingly) Linux already DOES make coffee.

      --
      Life is too short to proofread.
    11. Re:Linus is right. by Anonymous Coward · · Score: 0

      The GPL does not state or even imply anywhere that you should offer changes as patches for inclusion into the original software.

      It would even be legally perfectly fine if Montavista would sell their Real-Time patched linux kernel without offering the source code in any form to the public !

      The GPL merely requires that you offer the source code at no extra charge to those that you offer (or sell) the binary; and that you keep the GPL license without any extra restrictions.

  8. Pooh != Poo by valkraider · · Score: 0, Redundant

    Heffalumps and Woozles. Heffalumps and Woozles!

    1. Re:Pooh != Poo by genner · · Score: 0, Offtopic

      Glad you posted. I was confused for while.
      +1 sad.
      This is actualy true, don't modas funny please.

    2. Re:Pooh != Poo by Ro0tSiEgE · · Score: 1

      Who in their right mind would actually watch Winnie the Pooh to even hear those words? :)

    3. Re:Pooh != Poo by Jondor · · Score: 1

      Those illiterate enough to prefer the lame disney video's over the original stories?

      --
      Nobody expects the spanish inquisition!
    4. Re:Pooh != Poo by valkraider · · Score: 1

      Anyone with Kids? Anyone who was a Kid when they came out? Anyone who has been to Dinsey[land][world] with Kids and had to ride the Pooh ride?

      Note to Moderators: SOMETHING CAN'T BE REDUNDANT IF IT WAS THE FIRST ONE.

    5. Re:Pooh != Poo by tepples · · Score: 1

      Note to Moderators: SOMETHING CAN'T BE REDUNDANT IF IT WAS THE FIRST ONE.

      Note to Metamoderators: THE FIRST ONE DOESN'T NECESSARILY HAVE TO BE INSIDE THIS ARTICLE.

    6. Re:Pooh != Poo by Anonymous Coward · · Score: 0

      Note to Metamoderators: THE FIRST ONE DOESN'T NECESSARILY HAVE TO BE INSIDE THIS ARTICLE.

      What? Huh? Are you saying that if someone in another article said "Pooh" and meant "Poo" and people commented on it, that it would be relevant in THIS article?

      So you expect people to read ALL the articles that EVER WERE? Even if they don't have any desire to read the other subjects?

      So where do we stop? The whole internet? The whole written word? All of communication itself? Wouldn't *everything* be considered redundant then?

      I think the article is good enough for relevancy, thank you very much...

    7. Re:Pooh != Poo by Anonymous Coward · · Score: 0

      Nah. Every once in a while someone comes up with a new word. New articles would just contain the new word(s) and we'd have to guess what the author was talking about when he wrote, "quixomidonticexomitosianfludendorph".

    8. Re:Pooh != Poo by Anonymous Coward · · Score: 0

      Imagine how great Star Wars would have been if it had just consisted of, "Vader, Dantooine, Alderaan, Jedi, Wookie". And Empire with "Hoth, Mynock, Boba, Bespin, Yoda, Degobah". And then RotJ with "Ewok".

      Absolutely riviting entertainment there, I tell you.

  9. Re:first post!!! by thomasa · · Score: 4, Funny

    Not exactly real time response here.

  10. Barely a story. by Elwood+P+Dowd · · Score: 4, Insightful

    Linus' job is to say no. Here, he even gives rationale.

    --

    There are no trails. There are no trees out here.
    1. Re:Barely a story. by bani · · Score: 1

      linus is not always correct.

      remember how linus stonewalled loadable modules?

    2. Re:Barely a story. by SnowZero · · Score: 2, Interesting

      His job is to say no a few times, so that developers create better and better versions of the feature, until one is good enough and he says "yes".

      Kernel cleanly done kernel-preemption patch went in, but the "lock-break" patch which predated it did not . That's because the latter peppered "reschedule me" calls all over the code tree. If he hadn't said "no" the first time, the later clean solution probably would not have come.

  11. Re:MontaVista Rocks by Rosco+P.+Coltrane · · Score: 3, Funny

    I guess Linus does not realize the full potential of what real time functionality can do to Linux.

    Yes, I'm sure he has no idea...

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
  12. The apostrophe is your friend by Anonymous Coward · · Score: 0

    And it's unnecessary (and wrong) in this story's title.

  13. Re:MontaVista Rocks by d_jedi · · Score: 3, Insightful

    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?

    --
    I am the maverick of Slashdot
  14. Blackadder quote (Sorry, I couldn't resist) by lxs · · Score: 4, Funny

    Gen. Melchett: Is this true, Blackadder? Did Captain Darling pooh-pooh you?

    Cpt. Blackadder: Well, perhaps a little.

    Gen. Melchett: Well then, damn it all, how much more evidence do you need? The pooh-poohing alone is a court-martial offence!

    Cpt. Blackadder: I can assure you, sir, that the pooh-poohing was purely circumstantial.

    Gen. Melchett: Well, I hope so, Blackadder. You know, if there's one thing I've learned from being in the army, it's never ignore a pooh-pooh. I knew a major: got pooh-poohed; made the mistake of ignoring the pooh-pooh -- he pooh-poohed it. Fatal error, because it turned out all along that the soldier who pooh-poohed him had been pooh-poohing a lot of other officers, who pooh-poohed their pooh-poohs. In the end, we had to disband the regiment -- morale totally destroyed ... by pooh-pooh!

    1. Re:Blackadder quote (Sorry, I couldn't resist) by warrendodge · · Score: 2, Insightful

      Hmmm, I think the whole story was just an elaborate setup for that joke.

    2. Re:Blackadder quote (Sorry, I couldn't resist) by twoslice · · Score: 0, Funny

      Yes, it was a cunning plan....

      --

      From excellent karma to terible karma with a single +5 funny post...
    3. Re:Blackadder quote (Sorry, I couldn't resist) by identity0 · · Score: 1

      "Oh, bother."

      - Winnie the Pooh

  15. TELECOM!!! by drewzhrodague · · Score: 1

    Imagine what a free common system might be a better starting ground for telecom equipment -- I can see devices brought to market quicker. What does that do to people like other RTOS developers?

    --
    Zhrodague.net - I do projects and stuff too.
    1. Re:TELECOM!!! by ArsonSmith · · Score: 1

      they'll be given a new task to take care of.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    2. Re:TELECOM!!! by Anonymous Coward · · Score: 0

      Spending money on a commercial RTOS doesn't get you to market any slower.

  16. Re:MontaVista Rocks by Anonymous Coward · · Score: 0

    The OP just wanted to let everyone know that he worked for IBM (as a Janitor, dusting off MontaVista CDs, no doubt).

  17. Linus "appears to be in no hurry to accept" by chance2105 · · Score: 4, Insightful



    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 ...

    1. Re:Linus "appears to be in no hurry to accept" by Anonymous Coward · · Score: 0

      Sounds to me like the fork has already happened. The only thing Linus can do is unfork it.

    2. Re:Linus "appears to be in no hurry to accept" by augustz · · Score: 5, Insightful

      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?

    3. Re:Linus "appears to be in no hurry to accept" by dj245 · · Score: 3, Funny
      Am I missing something obviou here?

      Yes, an s

      --
      Even those who arrange and design shrubberies are under considerable economic stress at this period in history.
    4. Re:Linus "appears to be in no hurry to accept" by Anonymous Coward · · Score: 0

      why yes -- you are missing the letter "s".

    5. Re:Linus "appears to be in no hurry to accept" by Anonymous Coward · · Score: 0

      >Am I missing something obviou here?

      The 's' at the end of 'obvious'

    6. Re:Linus "appears to be in no hurry to accept" by tepples · · Score: 1

      Is it just me, or does this article sound like it's fueling steam for a fork of Linux development?

      Where did Half-Life 2 come into this?

  18. Real Time enhancements as a fork by Anonymous Coward · · Score: 5, Insightful

    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!

    1. Re:Real Time enhancements as a fork by ArsonSmith · · Score: 1

      Simple fix:

      [ ] Real time scheduler
      [x] regular schedular (suggested for desktops and servers)

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    2. Re:Real Time enhancements as a fork by DAldredge · · Score: 2, Informative

      Brain Surgery (Simple Way)

      1: Cut Head Open
      2: Poke brain with stick
      3: Close Brain.

      It's just a little harder than you make it out to be. Look how many of the subsystems have to be touched by this driver.

    3. Re:Real Time enhancements as a fork by mattyrobinson69 · · Score: 1

      you mean like smp, 4k stacks, kernel debugging, preemtive?

      there'll be a way to make it all work like the grandpairent suggested:

      [ ] smp ...
      [x] preemptive kernel ...
      [x] 4k stacks
      [ ] Kernel debugging
      [ ] Sleep-inside-spinlock checking
      [ ] Compile the kernel with frame pointers

      and for the pedantic tiny-mistake-nazi's out there, i know these kernel options are in the wrong order

    4. Re:Real Time enhancements as a fork by ArsonSmith · · Score: 1

      Of course it isn't that easy. You close the Head not the Brain.

      Come on its Brain Surgery, not Rocket Science.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    5. Re:Real Time enhancements as a fork by Anonymous Coward · · Score: 0

      These kernel options are in the wrong order!

  19. Probably because it's not "integrated" enough? by Anonymous Coward · · Score: 2, Insightful

    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?

    1. Re:Probably because it's not "integrated" enough? by Voivod · · Score: 1

      The parent is confusing Montavista's patches with RTLinux from FSMLabs which has nothing at all to do with this. Montavista is just patching the standard kernel. It does not involve running Linux as a user process. Do not moderate it insightful please.

  20. Hmmm... by temojen · · Score: 2, Insightful

    What makes you think it wouldn't just be annother kernel config parameter to most people?

    1. Re:Hmmm... by Mysticalfruit · · Score: 2, Insightful

      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.

      --
      Yes Francis, the world has gone crazy.
    2. Re:Hmmm... by Coryoth · · Score: 1

      What makes you think it wouldn't just be annother kernel config parameter to most people?

      From what I understand of it, the issue is that it is a big chunk of code that touches and changes the core kernel code in many many places (which naturally has a lot of flow on effects down the line). That makes it a lot harder to make it a single config switch. I understand Linux is not fundamentally opposed, just opposed to trying to merge the patch in its current form in. I series of smaller modularised patches that can be incrementally merged in (and have simple config switches added for them) is probably the way to go (and what Linus is suggesting they do).

      Jedidiah.

    3. Re:Hmmm... by Anonymous Coward · · Score: 0

      It's fundimentally changing how the kernel creates and schedules userland processes and kernel threads, prioritizes I/O, allocates memory and handles interupts.

      Yes, it's pretty invasive, but so's CONFIG_SMP.

  21. Re:Pooh-Pooh's? by airrage · · Score: 1

    I think it's actually POO-POOs, but who's spel checkin'.

    Also, it seems to me that I saw that in a War Games once, that they wanted to get the men out of the loop and let computers start making decisions on their own. Basically, in the movie, that was a bad idea.

    Peace Out.

    --
    "This isn't a study in computer science, its a study in human behavior"
  22. From LKML by OverlordQ · · Score: 3, Informative

    Dunno if this is even slightly relavent at all but this is from one of the other people doing Prempt things with the kernel.

    finally, i went for correctness primarily, not latencies. I checked
    out the MontaVista patches and they categorize roughly 30 spinlocks
    as the ones that are necessary to be 'raw'. Unfortunately this is
    inadequate, my patch excludes 90 such locks and it's still probably
    not a 100% correct conversion. The core kernel needs changes in the
    locking infrastructure to get rid of most of the these 90 non-mutex
    locks.

    --
    Your hair look like poop, Bob! - Wanker.
  23. Re:MontaVista Rocks by Anonymous Coward · · Score: 3, Insightful

    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.

  24. Re:MontaVista Rocks by Zapman · · Score: 4, Insightful

    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.

    --
    Zapman
  25. Re:Pooh-Pooh's? by Class+Act+Dynamo · · Score: 1

    Are you sure? I thought POO-POO would be more apropriate is the story were "Linus POO-POOs feces"

    --
    My other computer is a Jacquard loom.
  26. Links to better KernelTrap articles/email threads by dominator · · Score: 4, Informative

    From the email threads and writeups on KernelTrap, it seems as though Linus (and his Lieutenants) have some issues with the invasiveness and maintainability of the patch, which are reasonable concerns from the maintainers.

    Ingo Molnar - a RedHat employee/kernel hacker - has some patches that are similar in scope but different (and most likely preferable from a performance and maintainability viewpoint) in approach.

    Read about them here and form your own opinion:

    Linux: Real Time Kernel Prototype

    Linux: Realtime Preemption

  27. Another unexplained submission? by retinaburn · · Score: 3, Funny

    First we had a post on Hibernate with no explanation. Then a post on OQO and now we have one on 'Linux'. When will the madness end?!?!? ;)

    1. Re:Another unexplained submission? by Anonymous Coward · · Score: 0

      They expect you to follow a link to the project page to get an explanation of what the hell they're talking about. That's much too hard to do, unfortunately!

    2. Re:Another unexplained submission? by Ziviyr · · Score: 1

      I'd complain more about "Parrot" than "Linux", also, there are comments here pertaining to "Windows".

      Really, do I look like a fecking dictionary?
      Someone explain all this stuff!

      --

      Someone set us up the bomb, so shine we are!
    3. Re:Another unexplained submission? by ElderKorean · · Score: 1

      That won't help half the time as the web server is often a smoking mess.

      Perhaps a wikipedia link would be helpful.

      Often we've just got to start reading the article to see if it could be interesting, because you don't understand the topic - and by then you're hooked and must read till the end.

  28. I had a feeling about this by C_Kode · · Score: 1

    When this was first mentioned I had a feeling this *patch* wasn't approved. It was spoke of as if it had all but been accepted.

    I cannot wait till this functionality does finally make it into the kernel though.

  29. It is the scope and magnitude of the patch by dmaxwell · · Score: 5, Insightful

    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".

    1. Re:It is the scope and magnitude of the patch by bfields · · Score: 5, Informative
      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.

      Note also that the patch hasn't really even been submitted for inclusion. The Montavista people posted it to LKML with a lot of warnings, making it clear this was intended as a way to get early feedback on the direction of their project, rather than as an example of a finished implementation.

      So the slashdot headline is more than a little misleading; everybody agrees this is early in the process, and it's no suprise no-one's rushing to apply the patch.

      --Bruce Fields

    2. Re:It is the scope and magnitude of the patch by Atzanteol · · Score: 1

      Yeah, this is a big deal over nothing. Just because Linus hasn't "blessed" the patch, does not mean it can't and won't be used. That's the beauty of Open Source! They can maintain their patch, and release it as an add-on to the mainstream kernel.

      There is really nothing to see here....

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
  30. Poo Poos? by Swamii · · Score: 5, Funny

    What kind of smooth-it-over headline is this? Poo Poo? If this were Bill Gates instead of Linus, we'd say he's "blatantly ignoring", "throwing aside", "totally dismissing". But Poo Poo??

    --
    Tech, life, family, faith: Give me a visit
    1. Re:Poo Poos? by Ziviyr · · Score: 1

      Its the kind of smooth it over headline about a penguin fanatic who shrugged off putting something in his branch of a free, open, and readily forkable bit of software.

      Billy G isn't doing Windows for the kudos of it, hes making money and stimulating an economy of babysitting a broken closed and not readily fork and fixable bit of software. And he has enough money that he can prolly buy you off if you dare suggest he Poo Poos anything.

      All things being equal, this wouldn't be noteworthy.

      --

      Someone set us up the bomb, so shine we are!
    2. Re:Poo Poos? by SirTalon42 · · Score: 2

      They never submitted a patch to Linus, they simple posted it on the LKML to get people's opinions, testers, developers, etc. They also had many warnings about the code may not be complete.

    3. Re:Poo Poos? by mindfucker · · Score: 1

      The way I read it is that Linus shit out a Real Time patch, certainly a ground breaking technological achievement.

    4. Re:Poo Poos? by timeOday · · Score: 1

      No, if it were Bill Gates there would be no headline because nobody outside of Microsoft would ever know.

    5. Re:Poo Poos? by Anonymous Coward · · Score: 0

      If it were Bill Gates, we wouldn't say Pooh Pooh. We'd say *shit*.

  31. News flash: by lpangelrob2 · · Score: 2, Funny

    Tigger said to be hopping mad in protest; Piglet leading soft-spoken sit-in. Honey at 5:00.

    1. Re:News flash: by Trogre · · Score: 1

      You misspelled "Hunny"

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    2. Re:News flash: by Anonymous Coward · · Score: 0

      My 2004 votes:
      Pres.: G. W. Bush (R) -- IL 6th Dist. House: H. Hyde (R) -- IL Senate: B. Obama (D)


      Who cares? Do you want a prize or something?

  32. There are TONS of non-mainstream things there by MoralHazard · · Score: 2, Interesting

    Has anyone ever taken a look at some of the stuff available in the 2.6 configuration options? Do a 'make menuconfig' and browse through the "General Setup" and "Processor Type and Features" submenus. A bunch of it is wholly useless to 99.9% of the installations out there.

    But it's there as an option, if you want it, like most everything else. Have a tulip ethernet card? Include the driver. If you don't, leave it out. Old BIOS doesn't do ACPI? Leave it out. Don't need a keyboard driver because it's an appliance system? Leave it out.

    Why the hell not just include the real-time business as options? Is the maintenance really that much more challenging?

    1. Re:There are TONS of non-mainstream things there by discord5 · · Score: 4, Insightful

      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.

    2. Re:There are TONS of non-mainstream things there by Da+Masta · · Score: 1

      Why the hell not just include the real-time business as options? Is the maintenance really that much more challenging?

      Well, maintenance isn't the worst of it. Having a kernel qualify as "real-time" requires a whole lot of reworking and is probably best attempted at design-time.

      Real Time Operating Systems (RTOS's) require that the kernel respond within a certain timeframe, usually in the microseconds. They are especially used for embedded/safety-critical systems, where if the system doesn't respond quickly enough, people die.

      In order for a kernel to do this, it must have very, very tight syscall functions, and a really stingy scheduler. Both of these are really hard to do in a simple patch, without, in essence, abstracting away the entire kernel and having a real time microkernel on top of it. In effect you get a very drastic decrease in throughput.

      This is fine for certain things like fly-by-wire control systems, where its not important to do something well and often as much as it is to do something NOW. This differs from the server/desktop markets linux is currently oriented towards, for which a RTOS patch may not just add bloat, but rather quite a bit of unnecessary hindrance.

      If you want to see the differences first hand, check out QNX (I think they still have feely downloadble developer versions). In it, start a resource intensive task and then from another terminal, load any other program. Notice how the first task stutters? If you imagine the first program to be your company's mission-critical application server, and ther second to be your office's alarm dispatcher, it's very easy to see the dilemna Linus must choose between.

    3. Re:There are TONS of non-mainstream things there by TheLink · · Score: 1

      Why was that guy fired? Did everyone else think the code look good. Or everyone else thought it sucked and he pushed it in anyway? Or he still thinks he hasn't done anything wrong?

      If it's the former then it seems more a scapegoat thing, and you've lost someone who may have learnt one or two things more...

      --
    4. Re:There are TONS of non-mainstream things there by discord5 · · Score: 1
      Why was that guy fired? Did everyone else think the code look good. Or everyone else thought it sucked and he pushed it in anyway? Or he still thinks he hasn't done anything wrong?

      The project was about 3 months overdue, mostly because of thread locking issues. Managers don't like the fact that perfectly working software suddenly doesn't perfectly work anymore. One of the problems in writing software for a living is that it's difficult for customers to understand that their software doesn't work because of thread locking issues. When a programmer tells the manager : "We've got an issue with threading and locking that is taking quite a bit of time debugging, but we can't seem to locate the exact problem, or we think we've located it but when we fix it new locking issues arise." the manager usually hears this: "We made a bug, the program locks up or crashes, we're too incompetent to fix it and we use big technical words to hide our incompetence."

      If it's the former then it seems more a scapegoat thing, and you've lost someone who may have learnt one or two things more...

      There is an old saying "If it ain't broke, don't fix it". Although the old piece of code was ugly and undocumented, it worked and there really wasn't any reason to replace it except for providing functionality that we might need in the future, but eventually didn't. It's difficult to defend someones code to a manager when it causes problems and didn't actually need replacing in the first place.

      When programmers look at code, they look at design and functionality. When managers look at the product, they look at functionality and layout. That is the horrible truth of writing software.

    5. Re:There are TONS of non-mainstream things there by Bloater · · Score: 1

      If the guy was fired, he must have been project leader, since only the project leader should have approved such a major check-in to the trunk code. If he wasn't the project leader, then the project leader should have been fired. If he had check-in/merge permissions to the trunk due to efficiency requirements (small shop) then the code reviewer should have seen the huge change in the SCM logs and referred it to the project leader for consideration for backing out.

      So was he the project leader?

  33. Wrong, not insightful by Anonymous Coward · · Score: 0

    This article is not about RTLinux.

  34. Anyone finding this suspicious? by swordboy · · Score: 2, Interesting

    Here's something that Montavista has contributed to the Linux kernel - PRAMFS. A quote (emphasis mine):

    Many embedded systems have a block of non-volatile RAM seperate from normal system memory, i.e. of which the kernel maintains no memory page descriptors. For such systems it would be beneficial to mount a fast read/write filesystem over this "I/O memory", for storing frequently accessed data that must survive system reboots and power cycles. An example usage might be system logs under /var/log, or a user address book in a cell phone or PDA.

    [...]

    2. If the backing-store RAM is comparable in access speed to system memory, there's really no point in caching the file I/O data in the page cache. Better to move file data directly between the user buffers and the backing store RAM, i.e. use direct I/O.


    They've described that they want to use this stuff in a cell phone or PDA, yet have described an NVRAM technology that does not exist (as fast as system memory?). Methinks that they're working with Intel on some new fangled NVRAM, (hint, look for Ovonic). Samsung appears to be working with PRAM as well.

    So this MontaVista file system is a PRAM-File System, maybe...

    --

    Life is the leading cause of death in America.
    1. Re:Anyone finding this suspicious? by tchuladdiass · · Score: 4, Informative

      Actually, it does exist, sortof. If you look at how a Sharp Zaurus sl-5500 is set up, you have 64 meg of ram which is split by the kernel, part of which is used as ram and part is mapped as a block device. This second part survives system reboots and resets (but goes away once the internal battery dies).

    2. Re:Anyone finding this suspicious? by Sepper · · Score: 1

      (but goes away once the internal battery dies)

      This is what the big buzz around NVRAM is: Non-volatile! Doesn't need any refreshing or battery!

      (and still as fast as ordinary RAM)

      --
      I live in Soviet Canuckistan you insensitive clod!
    3. Re:Anyone finding this suspicious? by Anonymous Coward · · Score: 0
      They've described that they want to use this stuff in a cell phone or PDA, yet have described an NVRAM technology that does not exist (as fast as system memory?).
      It exists. Flash memory is as fast as DRAM. IIRC you can even buy DDR flash modules.
    4. Re:Anyone finding this suspicious? by Short+Circuit · · Score: 2, Informative

      Every PC has a small amount of writable NVRAM...it's where my CMOS settings are stored. If you look at the Linux kernel configuration, there's an option to allow writing to this area of memory.

      However, it goes away if your CMOS battery dies. (I believe it's SRAM based.)

      I suspect you're thinking of FLASH memory, which isn't as fast as SRAM, or, generally, even DRAM.

      Here's a good overview on DRAM and SRAM, if you're interested.

    5. Re:Anyone finding this suspicious? by HotshotXV · · Score: 1

      Problem with Flash modules is that they only have so many accesses/resets in them before they break down. That's why Flash computers aren't viable... Cell phones, sure, the cpu access is minimal, and the memory access even more so. However, if you've ever trying to run your computer off of a USB key (it's possible), you'll know how quickly the memory degrades.

    6. Re:Anyone finding this suspicious? by Sepper · · Score: 1

      You where right, and i've put my foot in my mouth, again

      I was thinking about FeRAM technology which doesn't need any refresh cycle (except when read), and thus no battery...

      With high speed read/write access, It's 'The Future in Non-Volatile Memory(tm)'.

      As for SRAM (or DRAM) being used as NVRAM, I knew that well: I own a Palm Pilot! Or course, if the battery dies on that thing, everything is gone...

      But /. being what it is, I just didn't do any research and wrote the comment like I was an expert in the field and knew my trade...

      --
      I live in Soviet Canuckistan you insensitive clod!
  35. good for linus by Anonymous Coward · · Score: 1, Insightful

    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.

  36. Real time Linux could win the house. by grunt107 · · Score: 2, Informative

    Having smart appliances and energy controls securely networked would be a boon to Linux. The real-time kernel would allow speedy monitoring of these type of devices.

    1. Re:Real time Linux could win the house. by llefler · · Score: 1

      Unless all those devices are physically wired to the Linux machine, I doubt real time processing would make much difference. Smart appliances are probably going to use some wireless technology. The buffers on the controller's wireless interface is going to catch (and queue) all the events and they'll be processed in a timely manner. You don't need to have a sensor tell you that your house temp dropped a degree, and immediatly turn on your furnace. Even a second or two wouldn't matter.

      Now, if you were controlling a lathe in a manufacturing plant, it's probably going to be critical to know that it just shaved another .001 off of a part, and waiting another 1/10 of a second will be too long.

      --
      It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
    2. Re:Real time Linux could win the house. by BottyGuy · · Score: 1

      Since this work is hard real-time related I don't see how that effects most appliances or energy controls. Hard RT usual consists of short deterministic interrupt, timer response. Most appliances or energy control systems can wait seconds before switching. Hard real time systems are usually control systems that require response times of less than 500 usecs, like avionics control, motor control, industrial control, etc.

      Many of these systems no longer require hard RT due to algorithms being implemented in FPGA hardware. Cheap motor control still need some deterministic response to to update the PID calculations.

    3. Re:Real time Linux could win the house. by DavidTC · · Score: 1
      Oh no! The kernel in the microwave hit a bad combination of spinlocks, and overcooked the food .243 seconds. Meanwhile, the fridge let the temperature drop to 39.993 degrees before cutting on. (I used to have a microware with a turn dial. Couldn't get any more accurate than 15 seconds. And my fridge is set slight about 'MED'.)

      Even avionics doesn't need hard real time systems. Nothing that needs a hard real time operating system could have ever been done manually.

      The only real reason I can thing to have a hard real time OS is someone built a system without flow control and buffers. Something that was originally circuitry to directly pass a signal through, but is now a general purpose computer for some reason.

      --
      If corporations are people, aren't stockholders guilty of slavery?
  37. Re:Linus is right. (plz, don't tergiversate Linus) by faragon · · Score: 1

    I understand that you can be a bit afraid about stability and throughput of your DB2 system, but, as many other things, these characteristics can be enabled/disabled, still disabled as default, still compiled in the main branch.

    About my, probably unfortunate, sensationalistic acusation for tergiversation: Linus was not saying about a "definitive no", as the "hard real time" capability has been discused by him long time ago, simply it was not developed nor designed, just as some kind of pray, waiting for HRT to fall from the skies. If MontaVista people got it, I understand that Linus don't get in a hurry, of course! Just because hurry it is never a good consultant/counselor (Napoleon one time said to Josephine: "dress me slowly, because I'm in a hurry", or similar).

    "Hard real time" possibility it's a huge step ahead, making Linux a 4x4 in computer engineering, reaching almost not only every CPU and architecture, but also every reachable problem solvable using a Linux capable CPU. It's amazing, or may be not, what do you think?

  38. Re:MontaVista Rocks by tesmako · · Score: 1
    They don't let me in on the secret "Where we should aim Linux"-meetings anymore after I accidently spilled cola all over Alan Cox's beard, so I am not really up to date with the grand plan for where Linux has been decided to head.

    So thanks for the inside scoop.

  39. Alternatives? by Tellalian · · Score: 3, Interesting

    At the risk of sounding redundant, how is MontaVista's implementation significantly better or different from pre-existing real-time Linux interfaces, such as FSMLabs' RT Linux or DIAPM's RTAI?

    1. Re:Alternatives? by Voivod · · Score: 2, Informative

      Montavista's approach just involves patching the standard kernel to try to improve its behavior. This gets you soft real-time, but getting provable hard real-time is tough via this route due to the complexity of the kernel.

      RT-Linux (and RTAI which is roughly based on RT-Linux but offers a different API) is very different. It runs as a hard real-time micro-kernel which takes over your system and then runs all of Linux as a thread. When you run your hard real-time code it runs in that micro-kernel space rather than Linux user or kernel space. All of Linux gets preempted by your software.

      Here is a great article covering this subject in more detail with tons of links.

  40. Smartphones?? by flibberdi · · Score: 1
    "Linux is already making progress in smartphones."

    From Series 60 Developer Platform 1.0/2.0: Basics paper:

    Symbian C++ APIs enable extremely efficient multitasking and memory management. Memory-intensive operations such as context switching are minimized. Symbian OS is primarily event-driven rather than multithreaded. Multithreading is possible but is avoided because it potentially creates several kilobytes of overhead per thread. Conversely, a primarily event-driven approach doesn t need any context switching and can have an overhead as low as a few tens of bytes. Special attention has been given to designing the Symbian OS to be robust and reliable. Among the user requirements that were kept in mind when the Symbian OS was developed were that user data should never be lost and that the device should never have to be rebooted (there isn t a boot sequence when the device is turned on). This has been achieved by:

    Effective memory management that prevents memory leaks Releasing resources as soon as they are no longer needed

    Effective error-handling framework that handles out-of-memory errors properly

    Secure data storage

    Careful and device-specific power management


    I know that there allready exists Linux smartphones, but how do they perform in "real life"?

    As far as I know, it's not even possible to develop Symbian mobile apps on linux (lack of emulators), which is a drag, so come on, give us Linux smartphones, or Mr Symbian, release some emulators for Linux (a lá suns java-WTK) or else.....

  41. Real Time OS by michaeldot · · Score: 1

    Is a Real Time OS any relation to a Real Soon Now OS?

    Or is the latter an exclusively Microsoft concept?

    1. Re:Real Time OS by 808140 · · Score: 1

      While I'm no fan of Microsoft, I think the Hurd qualifies as a RSNOS. Implication: it is not exclusively a Microsoft concept.

      Of course, one could argue that the reason the Hurd is a RSNOS is because they want to get it done right. So I would say, RSNOSs that suck are an exclusively Microsoft concept.

  42. It is not only embedded systems that will benefit by AccUser · · Score: 1

    A couple of years ago I worked on an embedded linux project, and we used the linux real-time and pre-emptive patches on the target. We actually applied the same patched to kernel of one of the development workstations to see if we could notice any difference, and within 15-minutes of booting, those that could were recompliling freshly patched kernels. The responsiveness of the system was so much better - start-up, multi-tasking, windowing, everything.

    Never looked back, especially since they made us all redundant, and closed the site... :-)

    --

    Any fool can talk, but it takes a wise man to listen.

  43. The rah-rah supporters are missing the real issue by The_Laughing_God · · Score: 5, Insightful

    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.

  44. Re:MontaVista Rocks by starm_ · · Score: 1

    Its usefull for all kinds of things. Robotics for example. Anything that has real time behaviour. Lets say you want to build your own segway that runs on Linux, you will need the motors of the segways to react immediately to inputs from sensors and user otherwise you risk crashing. I have worked on robotics projects where we where controling a robots arm with a PC. The fact that it wasn't real time was a real anoyance. We couldn't garanty that the robot would be able to hit a moving ball for example. I once wrote a program that generated music in real time from input from a sensor array. Again the fact that the PC wasn't real time was an anoyance. You could never implement a keyboard with a PC that doesn't have at least near real time characteristics. Otherwise you would get audible delays.

  45. Apples to Oranges by Anonymous Coward · · Score: 0
    How much control does Bill Gates have over the NT kernel?

    None. Whatsoever. He's just a suit with lots of money as far as the kernel maintainers are concerned.

    Linus has a far different job (he's also not a CEO so he's harder to make fun of, because he's more like us).

    Also, Linus is right.

  46. Re:MontaVista Rocks by Anonymous Coward · · Score: 1, Funny

    Thank you Zapman Webster!

    I just wasn't aware that the plural of OS was OSen.

  47. What is it needed for? by El · · Score: 2, Interesting

    What can an RTOS do that Linux can't that wouldn't be better handled in hardware? If responding to a given event is really THAT time critical, then perhaps you shouldn't be handing the event all the way up to your systems software for a response... In my experience, most problems that people claimed demanded "real time" to solve could be more easily solved by adding more buffers.

    --

    "Freedom means freedom for everybody" -- Dick Cheney

    1. Re:What is it needed for? by Anonymous Coward · · Score: 0

      I agree that adding additional buffering solves most of the problems that people think they need real time. However, for feedback control systems where additional delay can't be tolerated, real time is a must.

  48. Answer: by warrax_666 · · Score: 4, Informative
    Is the maintenance really that much more challenging?

    Yes. All the other obscure things which only 0.1% of everybody uses, they are small isolated pieces of code (like some random driver). What we're talking about here is adding lots of highly non-trivial code to the core of linux (you know the kernel/ subdirectory of the kernel source) which only 0.01% of people will actually need/use. So, yes.

    I also think it would be quite arrogant of the RT people to expect this to be added without serious thought (and possible reworking). (NOTE: I'm not saying they do/did expect it to, just that it would be arrogant to do so)
    --
    HAND.
  49. Re:Can this be a config parameter? by ceswiedler · · Score: 2, Interesting

    The existence of the code in the main kernel, regardless of whether it is enabled at compile time, affects everybody. It's not like you're going to have a single place with

    #ifdef REAL_TIME_KERNEL

    ...lots of code

    #endif

    It's going to change a lot of things in a lot of places. Ideally, it will make infrastructure changes which benefit everyone, by abstracting certain elements of the code, which then makes its own specific features fit in nicely. Unfortunately, this is very difficult to do with real-time scheduling.

  50. Re:The rah-rah supporters are missing the real iss by erikharrison · · Score: 1

    It seems to me that Linus probably wants RTOS capabilities in the mainline. The issue is that most patches for it are excessively intrusive.

    Some of Ingo Molnar's work is just to push down kernel latency in a general way, which is acceptable and more incremental in the mainline, while laying down an archetecture that makes it easy for a hard RT patch to be maintained, with minimal impact on the kernel.

    Linux will never default to being a true RTOS across the board, forever and ever amen. So, while you're right on the money that some people hunger after RTOS when it isn't what they want, it doesn't change that some people really _do_ want RTOS in the kernel. Linus is rejecting it because of technical issues with the patch (dangerously intrusive, MontaVista can simply maintain the patch external for those who really need it, and did I mention that it's intrusive?), not because he thinks that a real time Linux is a bad idea (though it certainly is for me as a desktop user)

  51. Good for you! by Cryptnotic · · Score: 4, Funny

    Here, have a cookie.

    --
    My other first post is car post.
    1. Re:Good for you! by djocyko · · Score: 1

      From the wikipedia:

      Some types of cookies are:

      * Chocolate chip cookies
      * Fig Newtons
      * Ginger snaps
      * Oreos

      It's not a cookie -- it's fruit and cake!

    2. Re:Good for you! by Cryptnotic · · Score: 1


      It's not a cookie -- it's fruit and cake!


      Don't believe the hype, it's a cookie.

      --
      My other first post is car post.
    3. Re:Good for you! by Anonymous Coward · · Score: 0
      from Fig Newtons - Newton Cookies - NabiscoWorld in the "Fun Facts" section.
      In the past Fig Newtons cookies were referred to as Fig Newton cakes and were advertised as such. While the name was later changed to Fig Newtons cookies, the concept of fruit and cake remained.
  52. I would hardly call this "pooh-poohing." by ZuperDee · · Score: 4, Insightful

    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.

    1. Re:I would hardly call this "pooh-poohing." by genner · · Score: 1

      Your new here aren't you?
      Welcome to slashdot, we don't do "rational dialogs"

    2. Re:I would hardly call this "pooh-poohing." by mlk · · Score: 1
      Welcome to slashdot, we don't do "rational dialogs"

      We do, but only when discussing Emacs and VI.
      --
      Wow, I should not post when knackered.
    3. Re:I would hardly call this "pooh-poohing." by The+One+and+Only · · Score: 1

      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.

      Congratulations, you've defined "troll".

      --
      In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
  53. re: removing token ring by ForsakenRegex · · Score: 1

    ...but this IBM audio cassette I listened to said it was "the way of the future". We have to keep the future in the kernel...for the children.

    --
    "A man talking sense to himself is no madder than a man talking nonsense not to himself."
  54. The Linux kernel is too monolithic for this by Animats · · Score: 4, Informative
    This is where the Linux architecture, with drivers in the kernel, really bites you. Because all the drivers have to be made preemptable, too. This is at odds with the traditional UNIX "top and bottom" driver architecture, with the "top" running as a process and the "bottom" running at interrupt level.

    If you want hard real time and protected mode, you need an architecture like that of QNX, where almost everything runs in user space. File systems, drivers, and networking are all user programs, intercommunicating by message passing. The kernel only handles CPU dispatching, memory management, and message passsing.

    In an architecture like that, everything in user space is preemptable, without any extra work in the system services. There are no long latencies in the QNX kernel; they were all taken care of years ago.

    As Linus points out, though, few consumer embedded devices really need hard real time. Most media-related stuff can paper over delays with buffering. A classic comment is, "You run your web server on Linux. You run your nuclear reactor on QNX".

    Automotive systems, though, really need it. QNX is big in that market.

    1. Re:The Linux kernel is too monolithic for this by The+Kow · · Score: 1

      Funny that your website also happens to appear in conjunction with QNX frequently in google searches :p

      --
      Moo
    2. Re:The Linux kernel is too monolithic for this by hankwang · · Score: 1
      You run your web server on Linux. You run your nuclear reactor on QNX

      I'd rather have a nuclear reactor that has inherent safety mechanisms rather than one that depends on a piece of silicon running human-written software for not going into meltdown.

    3. Re:The Linux kernel is too monolithic for this by Anonymous Coward · · Score: 0

      Actually, keeping the reactor safe is what real-time system would do. For example, if the reactor temperature monitoring was executed periodically and wasn't done under a real-time system, there's a chance that the monitoring task gets delayed past the deadline. If there was a malfunction in the reactor, you'd have a serious problem.

    4. Re:The Linux kernel is too monolithic for this by hankwang · · Score: 1
      Actually, keeping the reactor safe is what real-time system would do. For example, [...] If there was a malfunction in the reactor, you'd have a serious problem.

      What I meant is: the computer can have a hardware failure, a sensor cable may have a bad contact, the control room has a power outage, and so on. Or there might be a metric/imperial conversion bug that only turns up under specific circumstances. :)

      Something as critical as a nuclear reactor should have non-digital safety measures built in, just in case the 'intelligent' mechanisms break. The RTOS may take care of regulating the steam pressure to the turbines and so on (which I suppose is similar to that in a coal power plant); if something goes wrong there a couple of hundred thousand people may be without electricity for a while, but there's at least no new Tsjernobyl disaster.

    5. Re:The Linux kernel is too monolithic for this by swillden · · Score: 2, Informative

      This is where the Linux architecture, with drivers in the kernel, really bites you. Because all the drivers have to be made preemptable, too. This is at odds with the traditional UNIX "top and bottom" driver architecture, with the "top" running as a process and the "bottom" running at interrupt level.

      Actually the Linux architecture isn't as bad as you imply in this respect. Although Linux does follow the traditional top/bottom separation (though in Linux terminology, at least, the "bottom" half is the part that runs in a kernel thread and the "top" is at interrupt level), the fact that the kernel itself is now preemptable means that the bulk of driver code is preemptable.

      The code that runs at interrupt level is not preemptable (except by non-maskable interrupts), but it is kept as tiny as possible. The "bottom half" code (implemented using "tasklets" these days) is all fully-preemptable except where it explicitly turns off preemption. Those sections are gradually being eliminated. In addition, low latency work is finding and eliminating sections of code where the kernel does any kind of extended processing without scheduling.

      This doesn't mean that Linux is a RTOS, but it's a lot closer than you'd expect of a mainstream OS, and it's getting better all the time. QNX has a non-preemptable kernel so lots of stuff has to be in userspace to be preemptable. Linux leaves it in the kernel, and preempts it there. Same net effect.

      There are no long latencies in the QNX kernel; they were all taken care of years ago.

      Linux can't say this, of course, but it's getting there and will probably be able to make the same claim in a few years.

      You run your web server on Linux. You run your nuclear reactor on QNX

      And Linux may never be the best choice for hard real-time. But it will certainly be a reasonable choice, soon.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    6. Re:The Linux kernel is too monolithic for this by Animats · · Score: 1
      Funny that your website also happens to appear in conjunction with QNX frequently in google searches.

      How wierd. We use QNX for our DARPA Grand Challenge vehicle, but none of the Animats animation software runs on QNX. I have no connection with QSSL, the company that puts out QNX, other than as a user.

      What I like about QNX, though, is that it demonstrates that you can build a stable microkernel OS that does everything people expect today on a desktop. It's not technically necessary to have a multimillion line kernel that you'll be patching forever. You pay a 10-20% overhead for message passing. In exchange, you get a microkernel small enough to debug thoroughly. There's only about 100K bytes of code in the QNX kernel. And it changes rarely. The last significant API change was when 64-bit memory allocation went in.

      OpenGL and video playback were added without kernel mods. That demonstrates how flexible the low-level architecture is.

      But very, very few microkernel developers have gotten it right. VM for IBM mainframes and QNX are the most notable successes. Note that both of those systems are noted for high uptime, as in years between crashes. I can't think of any academic OS project that resulted in a production-quality microkernel. (Mach 2, the basis for Apple's OS X, is a warmed-over BSD UNIX, and Mach 3, CMU's real microkernel, isn't used much.)

    7. Re:The Linux kernel is too monolithic for this by Anonymous Coward · · Score: 0

      Using digital controls for safety mechanism is probably preferred in this case. They are much easier to obtain, and it's much easier to perform complex functions with them. With redundancy in the safety mechanisms and proper maintenance, which can also be done easier since diagnostic can be built in, the probability of total failure would be extremely low.

      Considering the advantages of using digital controls, there really isn't a reason not to use them. By the way, I'm assuming that your definition of non-digital safety measures just means the main part of the safety measure doesn't include any digital component.

      Also, regulating the temperature is very important as they cause nuclear fuel to overheat, resulting in release of large amounts of nuclear material. In the case of main cooling measure failure, the backup cooling measures can be turned on before a serious accident occurs. And in order to detect such failure, a monitoring system that checks the cooling system at regular interval is necessary. With real-time system, one can be sure that the cooling system will be checked regularly.

      System failures can be get around by having redundancy. Regardless whether a safety measure is digital or not, there's a chance it will fail. And again, with digital systems, it's much easier to perform complex functions necessary to provide proper safety measures.

      Human errors can also be get around by testing the system properly. Any non-digital system may not work properly unless it goes through proper testing.

      We can always have non-digital safety mechanisms, but it wouldn't be necessary in many situations when you consider the advantages digtal system brings us.

    8. Re:The Linux kernel is too monolithic for this by Mechanik · · Score: 1

      As Linus points out, though, few consumer embedded devices really need hard real time. Most media-related stuff can paper over delays with buffering. A classic comment is, "You run your web server on Linux. You run your nuclear reactor on QNX".

      I think I have to take issue with these statements. There are plenty of consumer embedded devices that require meeting RT deadlines. Take the ubiquitous cell phone for example. How would you like it if your phone dropped your 911 call because it couldn't process the incoming packets fast enough?

      Granted, not all embedded devices with RT deadlines fall under those types of life and death situations, but they need to meet those deadlines nonetheless or the devices just plain don't work. Sudenly your TIVO can't record TV shows, your robotic vacuum cleaner can't process data fast enough to avoid careening down the stairs it should avoid, your newfangled washing machine doesn't sense your clothes are dry, your GPS gives you incorrect position readouts... etc., etc., etc.

      People don't realize it, but embedded devices are literally just about everywhere these days, whether you realize it or not.

      Mechanik

    9. Re:The Linux kernel is too monolithic for this by timftbf · · Score: 1

      You're confusing embedded, low-latency and "hard" real-time.

      Phones, certainly as we move to VoIP, are built to be able to deal with a certain amount of jitter, both in the network moving the packets and in the end device processing them, via buffering. In general, as long as a packet gets dealt with every n ms plus or minus a relatively large delta, a nice waveform comes out of the other end. If a packet or two hit too large a delta, the waveform clicks, pops or goes silent for a fraction of a second and then goes back to normal. A certain amount of low-latency is desirable, but "hard" real-time is not critical.

      Similarly for your robot vacuum. If it decides to turn in 10ms or 50ms, it's really not an issue. If it takes 1s, it might bump the wall, but it's not the end of the world.

      You could well have embedded systems that don't care that much about latency at all. An example might be home automation. If I have a system set up to switch the lights on, start the coffee maker and put on some relaxing tunes when I open the door, it's not really the end of the world if those things happen 10ms, 1s, 5s after I open the door. Except for the lights, 10s or more might well be acceptable.

      The stuff that needs *hard* real-time are those where any deviation is going to have *real* impact, in terms of health and safety or money. Monitoring nuclear reactors in one, controlling industrial machinery is another (in both categories - making something even fractions of a millimeter wrong may make it worthless, and stopping when a piece of metal is replaced by someone's head is important!)

      The point is that people in the last category know who the are and what they're doing, and are generally trying to solve a different set of problems in the OS to people in the first two categories, or people using the OS in a more general-purpose way.

      Regards,
      Tim.

    10. Re:The Linux kernel is too monolithic for this by Mechanik · · Score: 1

      Yes... there is hard real time, and soft real time. Maybe the vacuum was a bad example, but in general, things that are moving around need to be able to react to the environment quickly. This means that they can't always just "stop and think", because if they're already moving, they'll keep moving due to inertia. If you don't keep steering yourself, you'll end up crashing into something.

      The vacuum is kind of a bad example because due to the way the thing is built, it doesn't really coast after the motors are turned off. In that case it's safe to just stop the thing and get your bearings.

    11. Re:The Linux kernel is too monolithic for this by sjames · · Score: 1

      Actually, keeping the reactor safe is what real-time system would do.

      That's not what he's talking about.

      A truly safe design won't need the RT system to keep it safe. It will be OK if the computer is switched off, or for that matter, if the sensor fails unsafe. It is acceptable for those events to take it offline or result in suboptimal power generation, but it should not cause unsafe operation.

      Such designs do exist.

      In the more general case, it is arguable that a tighter RT guarantee at the cost of such an invasive patch makes the system less safe since a crashed kernel will NEVER service the event.

    12. Re:The Linux kernel is too monolithic for this by Anonymous Coward · · Score: 0

      Since you brought up team Overbot, I'll take this opportunity to ask if you'd consider publishing a bit more info on your page. A blog along the lines of John Carmack's at Armadillo Aerospace would be awesome for those of us who have to settle for experiencing the whole thing vicariously.

    13. Re:The Linux kernel is too monolithic for this by BenjyD · · Score: 1

      Yes, all plants (nuclear, chemical etc) have "level 0" safety devices - purely mechanical, as few moving parts as possible. Things like bursting discs in pressurised vessels, leading to a dump tank. If pressure gets too high, the first thing to fail is the bursting disc, and all the contents is vented to some very large (probably underground) tank.

      So every control level on top of the bottom layer can fail in the worst possible way and level 0 will cause a safe failure. Well, that's the idea anyway.

  55. LKML reference by SmileR.se · · Score: 4, Informative

    Here is the LKML thread discussing this (including explanation of why it isnt accepted into mainline).

    1. Re:LKML reference by meowsqueak · · Score: 1

      Perhaps I'm blind, or don't know how to use that thread interface properly, but I couldn't find any explanation from Linus why it's been rejected. There doesn't seem to be a single post in that thread from him at all. Only discussion amongst other prominent kernel hackers about complexity, size, conflicts with -mm patches, etc.

  56. mod me annoyed by happyfrogcow · · Score: 0, Troll

    I swear, people who get their submissions accepted don't know how to link. Seriously, wtf is up with the first link to http://news.search.com/search?q=red+hat&search.x=0 &search.y=0?

    there is not one mention of Real Time or Linus on that page. Come on, can't you learn to link to the story?

    Here's how you should have linked the first line:

    "Speaking with CNet via email, Linus Torvalds appears to be in no hurry to accept..."

    I find it ironic that you linked "appears" in correlation to Linus to a page that had "Linus" appearing nowhere in the page.

  57. Re:agree 100% by NoMoreNicksLeft · · Score: 1

    i20 is used by alot of TV tuner cards. Not to mention who knows what else.

    I have a machine that has both arcnet and token ring, and I'd like a PCI HIPPI card for it (anyone have one they want to get rid of?). Slip is maybe archaic, but useful to anyone connecting older machines. Touchscreens usually present as ps/2 or serial mice... dump them too?

    I've personally used the amiga and macintosh filesystems when recovering files.

    But hey, let's make linux less useful to people like me. I've only been using it since mid 97. Heck, get rid of one of the things I tell people is exceptional about linux, its support of just about anything hardware wise. (Ever try to get arcnet working on windows 2000?)

  58. Should we be worried? by Dirtside · · Score: 1

    Should we be worried that Linus is apparently capable of defecating C code?

    Huh? Oh.

    --
    "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
  59. Re:agree 100% by bani · · Score: 0

    i20 is used by alot of TV tuner cards.

    um no, it most certainly is not.

  60. Re:agree 100% by NoMoreNicksLeft · · Score: 1

    Brain fart, read that as i2c. But you do earn 10 demerit points for being a retarded asshat. Anyone but you would have replied with "you're thinking of i2c". Do you like wasting space while adding nothing to the discussion?

  61. Re:agree 100% by mlyle · · Score: 1

    You're thinking i2c. i2o is something else entirely.

  62. Re:Pooh goes apeshit by A.A. Milne by Anonymous Coward · · Score: 0

    This is brilliant. Submit to k5 queue pls thx.

  63. What's a spinlock? by Quantum+Jim · · Score: 1

    Could you explain what a spinlock is? Also, what is a non-mutex lock? Please excuse my ignorance.

    --
    It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
    - Jerome Klapka Jerome
    1. Re:What's a spinlock? by Latent+Heat · · Score: 4, Informative
      A spinlock, generally, is a loop of the form

      while (CheckOKtoProceed());

      You see, the program "spins" until CheckOKtoProceed() returns true. The alternative is a call to a Yield(), Wait() or Sleep() function that 1) blocks execution until some condition is satisfied, and 2) tries to yield control to some other pending process while that is happening.

      The trouble with a spin lock is that it hogs the processor. The trouble with the other kind of lock is that it allows another process to proceed, but it may not be safe to allow that on account of a data structure not being in a coherent state of update. A mutex is a kind of lock that by agreement of its use allows only one such process to proceed. A non-mutex lock doesn't offer such protection.

      The argument is that the proposed modification make the kernel much more preemptable and do less spin locking that can kill response, but each element of the proposed modification would need to be checked and tested very carefully that after the change there aren't issues regarding the protection of data structures from multiple processes that could change it along with all kinds of mind-bending subtle bugs that can arise.

    2. Re:What's a spinlock? by Quantum+Jim · · Score: 1

      You see, the program "spins" until CheckOKtoProceed() returns true. The alternative is a call to a Yield(), Wait() or Sleep() function that 1) blocks execution until some condition is satisfied, and 2) tries to yield control to some other pending process while that is happening.

      Doh! That makes a lot of sense, as I used that patten (spinlocks, now in my vocabulary) alot for some small single-threaded applications. I try not to program that way now, for the reasons you listed. That's what I get for majoring in engineering-physics instead of computer science.

      A mutex is a kind of lock that by agreement of its use allows only one such process to proceed.

      So a mutex only allows one process to access its data and prevents access to other processes (or pauses their execution), right?

      Your explanations were really concise and easy to follow. Thanks! :-)

      --
      It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
      - Jerome Klapka Jerome
    3. Re: What's a spinlock? by gidds · · Score: 1
      So a mutex only allows one process to access its data and prevents access to other processes (or pauses their execution), right?

      Yep, spot on. Stands for mutual exclusion -- each process (or thread) excludes the others, so only one can be running the protected region of code at once. Used to be called a monitor, I think.

      Languages like Java have this facility built-in (the synchronized keyword), though it's not really enough for complex systems. And I expect things get much more hairy in the kernel...

      --

      Ceterum censeo subscriptionem esse delendam.

    4. Re: What's a spinlock? by Quantum+Jim · · Score: 1

      Insightful! I modified the (old) DataOwnership page on the Portland Pattern Repository's Wiki to include those other names. Could you read the changes, i.e. the first sentence, and make sure it is right (or correct it if wrong). Thanks in advance.

      --
      It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
      - Jerome Klapka Jerome
    5. Re: What's a spinlock? by gidds · · Score: 1
      Looks reasonable to me, but then I'm no expert. (Never done any kernel-level stuff!)

      One thing worth mentioning is that a mutex can be used for other types of resource, as well as memory. You might use one for serialising access to a database connection, for example, or a message queue, or a storage device, or any sort of resource that can't handle concurrent access.

      Mind you, in those sorts of cases, you might wrap the mutex in a safer and more manageable bit of API; it might not be the sort of thing that other bits of the system should handle directly. But I think that serialisation often comes down to a mutex or similar feature.

      The knack with writing proper concurrent programs is to restrict as little code as possible (for performance and ease of coding), and yet make sure it's enough to guarantee safety. Knowing how to do that is a skill indeed!

      --

      Ceterum censeo subscriptionem esse delendam.

  64. No big deal by B1gP4P4Smurf · · Score: 2, Insightful

    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.

  65. Re:The rah-rah supporters are missing the real iss by IronChef · · Score: 1

    mean, what happens if a custom pizza gets ruined in the oven?

    Sue the oven manufacturer and issue a press release, duh!

  66. GNU/Hurd by Anonymous Coward · · Score: 1, Funny

    Or, if you want a Free Software system, try the Hurd (Scheduled for completion circa 2047).

    1. Re:GNU/Hurd by Animats · · Score: 1
      Yeah. I had high hopes for the Hurd, which is supposed to be a microkernel OS. But they went off into a long detour involving Mach, which didn't work out too well.

      A key issue with microkernel operating systems is that you have to get the basic architecture right the first time. You can't retrofit it. Mach is a retrofit of a microkernel architecture to BSD. This is like trying to build a racing bicycle starting from SUV parts.

      The Hurd guys are now trying to use L4, which is an elegant little research kernel that nobody uses for anything and which is maybe 70% finished.

  67. Linus also pooh-poohed the preemptable kernel by AaronW · · Score: 1

    Linus has pooh-poohed other important patches in the past as well. That doesn't mean it doesn't go into the kernel, it just means that one needs to demonstrate the advantages of it to Linus and show it doesn't cause other problems.

    We are currently successfully using Timesys Linux in an embedded product and are having great success (despite problems with Timesys). Realtime support is essential for telecom and networking applications. It also is quite useful for multimedia, so that video appears smooth and not jumpy. Granted, realtime is often not very useful for a general purpose computer, but in the embedded world, it is extremely useful.

    -Aaron

    --
    This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
    1. Re:Linus also pooh-poohed the preemptable kernel by Voivod · · Score: 1

      Care to share your Timesys woes? I'm curious.

  68. Re:It is not only embedded systems that will benef by swmccracken · · Score: 1

    Yes - you would notice the difference, but I suspect that would have been due to the pre-emptive patches, not the real-time patches.

    (The RT side would have been idle if it was never given a RT task to do on the dev workstations.)

    FWIW, I believe preemptive is in mainline now.

    I could be wrong, but from memory, only specalised software can use the RT side of things, but pre-emptive improves latency for all Linux processes.

  69. ObSimpsons too by Bitmanhome · · Score: 1

    No, it usually takes a few hours.

    --
    Not that this wasn't entirely predictable.
  70. Re:Can this be a config parameter? by kbahey · · Score: 1

    I know that it does increase complexity, and therefore hinders future maintainability.

    From the comments Linus made, he seems to be concerned about complexity (and he is right in this regard), and performance. This approach eliminates the risk on performance or any other impact that *running* this code would cause.

  71. Hard Real Time by LordMyren · · Score: 1

    The other thing everyone seems to be missing:

    Hard Real Time means you presumably give a damned about your system working consistently 100.00000000000000% of the time. It must NEVER break in any way.

    Frankly, even if your timing routines are able to provide this real time assurances, I dont think the linux kernel itself is designed with the sort of bulletproof internals Hard Real Time implies. Linux is stable, yes, but it is not thoroughly audited enough to form the basis of a Hard Real Time system. Kernel panics DO happen, and then your hard real time timing is for naught.

  72. RT OSs are not inherently slower by Anonymous Coward · · Score: 1, Interesting

    There is no price to pay for running a good real-time OS in terms of efficency. There is a monetary cost (licensing fees).

    Folks who say otherwise are just quoting the silly wickipedia and have never worked with a good real time OS (like QNX - www.qnx.com).

    For example, on QNX the scheduler runs every 10ms by default. You can increase the frequency, say to 1ms, or .2 ms if you are running a control app that needs higher frequency. Then you have more overhead.

    Oh - you get to set real priorities for your processes, and scheduling disiplines per process (FIFO, RR, "fair", etc.)

    There is nothing in the definition of a real-time OS that requires it to be slower or less efficient than a non-real-time OS.

    QNX transfers disk data at platter speeds, and has done so forever. Network data at the rate of your network.

    It is just a far superior OS than Linux, and I use both professionally and have written device drivers for both. It lacks 3rd party software and driver support - and some people won't understand why that doesn't mean it is inferior as an OS to Linux.

    Want to write a device driver? In QNX just write a user mode program, use the language of your choice (C, C++). Debug it with DDD or your favorite debugger. You're not stuck in kernel mode using C like in Linux.

    Want to access the serial port on another machine without writing any network code? Open "/net//dev/ttyS0" instead of "/dev/ttyS0". The OS handles it transparently for you.

    Same with any file/device. Copy all the files from machine "bob" to your home directory on your machine? "cp -r /net/bob/* ~"

    Need more processing power? Just move some of your processes to another machine, no need to rewrite your code to use a network protocol - the built in msg passing works with a global namespace and connects you to the right process on the right machine.

    The GUI system is unbelievable, designed for networking from the ground up. You can move a window accross machines on the network, or have multiple people sharing the same desktop, or different portions of the same desktop, or multiple sessions (a-la traditional windowing systems). Without writing any special networking/gui code.

    QNX is free for non-commercial use. Read about it. Use it. Don't be a wickipedia fool, badmouthing real-time operating systems :)

    It's been around for 20 years. It was the best when it was multitasking on my 286 and it still is the best now on a P4/3GHz.

    1. Re:RT OSs are not inherently slower by Anonymous Coward · · Score: 0

      Did I mention QNX boots up in 2 seconds on a P3 1GHz?

  73. inflected English by nomadic · · Score: 3, Funny

    People throw around bloat with great abandon, and usually without any real rationale behind the term.

    My OS is full-featured. Yours has feature creep. His is bloated.

  74. high resolution timer by Anonymous Coward · · Score: 0

    This is a bummer. I work in telecom and we won't be porting our stuff to linux anytime soon if there is no support at least for a high resolution timers like Solaris' gethrtime().

  75. Re:The rah-rah supporters are missing the real iss by Anonymous Coward · · Score: 0

    And you [i]need[/i] to realize that Slashdot doesn't accept forum tags!

  76. So...make it a compile-time option by Anonymous Coward · · Score: 0

    See subject. Problem solved. What's Linus holding out on anyway? Remember that he also was initially opposed to a pre-emptible kernel space, yet that eventually became a compile-time option too.

  77. reasons by Exter-C · · Score: 1

    generally speaking linus is a fairly well rounded individual. He would include things in and not include things that have some sort of reason behind it. Its not generally a "i dont like you its not going in" thing if its better for the community.

  78. In other news... by Anonymous Coward · · Score: 0

    I poo pooed some partially digested corn this morning.

  79. Tell you what by Rogerborg · · Score: 2

    Next time you design a reactor, you go ahead and do it your way.

    --
    If you were blocking sigs, you wouldn't have to read this.
  80. Name me a cell phone that runs on an RTOS by Rogerborg · · Score: 1

    Go on, Mr Don't Know The Difference Between Embedded and Realtime. List them.

    --
    If you were blocking sigs, you wouldn't have to read this.
    1. Re:Name me a cell phone that runs on an RTOS by Mechanik · · Score: 1

      Actually I know first hand that most of the newer stuff from Nokia is running RTOSes on the DSP (not on the ARM -- they tend to use Symbian for that). I can't really give more information than that due to NDAs and such.

    2. Re:Name me a cell phone that runs on an RTOS by Torne · · Score: 1

      Nokia's proprietary OS is hard realtime. Symbian 8.[01]b and 9.x are hard realtime. Other manufacturers undoubtedly use them too, I just don't have first-hand experience with them.

    3. Re:Name me a cell phone that runs on an RTOS by Rogerborg · · Score: 1

      Heh, I should have qualified that better. I tend to think of it from an application point of view.

      --
      If you were blocking sigs, you wouldn't have to read this.
  81. Shush, they're on a roll by Rogerborg · · Score: 1

    I love how all these InstaExperts spring up on the rare occasion that Slashdot runs a tech story.

    Beyond the level of a lightbulb and switch, the concept of a Real Time Operating System is spurious. Better to say Very Low Latency Operating system. There's always a delay in reacting to an input, and it's always buffered in some way. Even a lightbulb and switch buffers the signal along the length of the wire from the switch to the bulb. More complex systems, like a phone PBX that has to respond to signals coming down the wire buffers them in a DSP before actually responding to them. If the operating system (in the sense of the executable running on the CPU as we're discussing here) had to respond in 'real time' to every signal on the line or even from the DSP, then you'd be dropping calls or missing other scheduled tasks.

    All OSes involve a compromise. An 'RTOS' is only more interruptable by degree than an already fairly low latency OS like Linux. Linux has some way to go yet, but it's already good enough for a lot of systems. And - gasp - even an 'RTOS' can and does miss inputs.

    --
    If you were blocking sigs, you wouldn't have to read this.
    1. Re:Shush, they're on a roll by IIEFreeMan · · Score: 1

      I'm sorry but I think you're wrong.

      An RTOS has nothing to do with a low latency OS ...

      A low latency OS could respond to 99% of inputs in less than 2ns but for 1% in 50ns ... That is not Hard Realtime !

      A Realtime might only give you a 10ns latency BUT it will never give you more than 10ns ! That is what a realtime OS is about : Guaranteed response time.

    2. Re:Shush, they're on a roll by Rogerborg · · Score: 1

      Up to a point. If an RTOS has nothing to do with a low latency OS, then by your argument an OS with a deterministic response of less then ten minutes is an RTOS.

      I didn't say that low latency means realtime, so don't bother refuting it.

      I agree that deterministic response time is what's used to define an RTOS, but I happen to dislike the qualitative rather than quantatitive use of "Real Time" as a description. Can we settle on "Deterministically Low Latency OS"?

      --
      If you were blocking sigs, you wouldn't have to read this.
  82. You know, I've just checked the GPL by Rogerborg · · Score: 1

    here, and I don't see where it "specifies" anything about fair use.

    If you mean that making fair use of GPL'd source offers you a defence against charges of copyright infringement, you're correct, but that's not even remotely what the GPL says.

    --
    If you were blocking sigs, you wouldn't have to read this.
    1. Re:You know, I've just checked the GPL by Quantum+Jim · · Score: 1

      5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License.

      This is partially incorrect. US law grants modification or distribution under fair use rights. It may be pedantic, but it is allowed.

      --
      It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
      - Jerome Klapka Jerome
    2. Re:You know, I've just checked the GPL by Rogerborg · · Score: 1

      Oh, sorry, are we all in the USA now? Linux was written in the USA, was it? I must have missed that memo. Leaving that aside, you're still talking shite, because you said "The GPL specifies that" when it does no such thing. Please don't assume that the GPL is written for US use only, nor that you can caveat it any way that you like.

      --
      If you were blocking sigs, you wouldn't have to read this.
    3. Re:You know, I've just checked the GPL by tepples · · Score: 1

      Oh, sorry, are we all in the USA now?

      For one thing, European member states also likely have some analogous concept of fair dealing. For another, Slashdot.org is hosted on U.S. soil.

    4. Re:You know, I've just checked the GPL by Quantum+Jim · · Score: 1

      Let me explain again; I was a little unclear in my previous post. Don't get so upset!

      Section 5 indicates that you can't redistribute derivative works based on the origional work because no law allows it. However, if some types of derivative are allowed to be redistribution are allowed by law for certain fair uses, then section 5 can't apply to those types of works.

      In other words, the scope of the GPL applies to redistribution not explicitly allowed by law. When I said:

      outside of "fair" uses allowed by law

      I was referring to that scope, nothing more. How else can that section be interpreted?

      Please don't assume that the GPL is written for US use only...

      I didn't in my origional post; however, I did use US law as a specific example in my second post in this thread. I am sorry. This post corrects that error for any country with fair-use laws. In either case, it isn't a big deal. Don't get so excited!

      --
      It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
      - Jerome Klapka Jerome
    5. Re:You know, I've just checked the GPL by Random832 · · Score: 1

      Linux was written in the USA, was it?

      no, but the GPL was.

      --
      We've secretly replaced Slashdot with new Folgers Crystals - let's see if it notices.
  83. Read the LKML submission by Rogerborg · · Score: 1

    here. It's work in progress. The patch, as submitted, is based on the wrong tree, needed further patching even to make it work with a stock kernel, busts 4k stacks and spits error messages. The submitters make it clear that there are a lot of versions to come.

    Their intentions and goals are good, but it's a long way from ready for inclusion. It's a step along the road, but they need to submit a final and fully debugged version that doesn't bork anything, and with less marketdroid spin and more comprehensive testing and performance metrics.

    --
    If you were blocking sigs, you wouldn't have to read this.
  84. Re:Links to better KernelTrap articles/email threa by gweeks · · Score: 1

    Ingo's patches have been developed out in public view with participation from many other people. Rather than just dropped as a PR bomb shell. If you think RedHat isn't a "RealTime" company TimeSys' Scott Wood has been involved as well.

  85. dunno ... by Anonymous Coward · · Score: 0

    i think computer is something that can do many
    different things, it's programable ... if you
    want realtime smart people build a circuitry that
    does nothing but that. see a switch for a light
    bulb. so if you want that missile abort NOW and not
    in 5 sec you BUILD curcuitry for just that, if
    you're smart ...
    of course everybody wants a responsive computer to
    use, but why are we buying biger/faster computers
    more ram etc.? maybe this software realtime thingy
    is a bit over-hyped ... i'm sure every os vendor /
    creator are working hard to make their OSes
    responsive / interactive.
    real realtime doesn't exist! not with computers,
    that operate binary-ly / serial ...

  86. Re:Can this be a config parameter? by Anonymous Coward · · Score: 0

    I'm sure you're not a super elite hacker like me, so you probably didn't know this, however it's possible to put the entire kernel in one big text file and compile it.
    so you could do EXACTLY like you were saying, except that you would need an #else before the #endif and the non-real-time code there.

    In fact, there is already a secret kernel branch, called the ONE_TEXT_FILE_LINUX_KERNEL_SOURCE project (yes, the all caps are part of the name) which will be releasing it's single file soon and will be taking over from what you know as Linux today.

    Just to spite you they are going to implement the real time parts in a single ifdef in the file.

    And before you say it, they have tricks for doing EVERYTHING, the assembly for the loader and the jump into protected mode on the 386s, etc plus the c (and secret cobol code included in the new single file project) and compiling everything from a single text file. they use the new GNU kernel compiler, which is a unified compiler that produces a kernel from a heterogenous text file.

    the next version of the GNU Linux Kernel Compiler (v1.0) will compile the entire kernel from a single statement, "compile_linux()" which makes it trivial to have the entire kernel in a simple file. In fact, it makes it hard to have it in different files! What a program.

    thank you for you time reading this interesting post, and I wish you a healthy and prosperous day.

  87. DLL Hell OS? by tepples · · Score: 1

    Can we settle on "Deterministically Low Latency OS"?

    Almost. However, the initialism "DLL OS" brings to mind shared library version conflicts.

  88. Other than that I do my best to boycott Disney? by tepples · · Score: 1

    And Michael Eisner wouldn't say "Pooh Pooh" either; instead he'd say "money money".

  89. 'Redundant' on the first occurrence in an article by tepples · · Score: 1

    Are you saying that if someone in another article said "Pooh" and meant "Poo" and people commented on it, that it would be relevant in THIS article?

    NOTE TO ALL MODERATORS: I'm not necessarily talking about rarities like equating Milne's Winnie-the-Pooh to feces, no matter how many people have grown tired of watching a small child watch a Disney movie dozens of times. I'm talking about the first post/you fail it, Goatse, Tubgirl, GNAA, In Soviet Russia, In Japan, BSD is dying, Stephen King is dying, Natalie Portman, underpants gnomes style business models, and other well-understood Slashdot trolling phenomena.

  90. Team Overbot status? by Animats · · Score: 1
    This is totally offtopic, but...

    What do you want, LiveJournal crap? Here's the last 24 hours of Team Overbot.

    • Received rev. 2 front connector panel for motion controller interface board. It fits the connectors perfectly. Rechecked interface board on vehicle by jacking up the rear two axles (It's a 6x6, remember) and running the engine. Driveshaft encoder, tach, and throttle control tested and work. Ordered more boards, new optoisolator parts for boards (the old ones didn't source enough current to drive the big solid state relays) and matching front panels. We should have final interface board hardware working in a week. This will finish all chassis control gear except transmission control.

      The roughness in the laser rangefinder tilt head drive turns out to be an out-of-tolerance shaft. The shaft and motor have been removed and sent out for rework.

      The bogus readings from the laser rangefinder simulator turned out to be a wierd behavior in Blender. We have a workaround and have reported a collision detection bug.

      Tomorrow is trash day. Empty trash.

    If you want that level of detail, join the team. We have papers, videos, and photos on the Overbot web site for those casually interested.
  91. Re:Can this be a config parameter? by DJBigShow · · Score: 1

    Not only is it a ton of #ifdef's throughout the code, it also forces the requirement of anyone changing code in that area to not only test their changes how they would today, but now they would also have to test with the real time code enabled. This includes any drivers using any type of locking.

    -DJBS

  92. Re:MontaVista Rocks by Vo0k · · Score: 1

    Sure it would be useful in all the embedded devices etc. Right. But you want desktop apps.

    Never more buffer underruns in non-burn-proof CD writer.

    Some "l33t" just hacked you and started a wabbit which not only hogs your CPU 100% and slows your shell down to a crawl, but also corrupts things at random. Launch "realtime shell" and work at full speed, without waiting 40s for killall -9 to execute.

    Write an app that's bit-banging data in some obscure protocol like 1-wire Dallas or something, and don't worry about it missing its time frame.

    Switch to a console and kill -9 that frozen mplayer NOW.

    OO.o is saving your work in the background, while you keep typing with no slowdown at all, saving takes a bit longer but your interactive process has realtime priority.

    Surf the web. You open a webpage with 10.000 dancing monkeys. Suddenly each monkey takes a minute to move one animation frame. You click "close". Webpage closed NOW. Not in 5 minutes when the process gets to receive the "close" event and process it.

    You're playing Doom. You don't smell smoke. You don't see fire. The system with broken CPU fan has just shut down saving the CPU, due to thermal alert which wouldn't otherwise get through because of the game hogging the CPU.

    --
    Anagram("United States of America") == "Dine out, taste a Mac, fries"