Is it possible?
In the past, I've been told, "No.".
I've just read an article which states "With a little extra work, you can get hard real-time support with the PREEMPT_RT patch."
Dear Lazyweb, is this so?
Thursday, October 16, 2008
Subscribe to:
Post Comments (Atom)
Popular Posts
-
These are the robots I've been working on for the last 12 months. They each weigh about 11 tonnes and have a 17 meter reach. The control...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
The procedural planet package has been updated to version 1.4, and you can see the new demo here . It features better city light control, be...
-
Why would I ask that question? Python 3 has been available for some time now, yet uptake is slow. There aren't a whole lot of packages i...
-
I've just finished refactoring an awful C# class. I had been delaying the job for a while because I didn't want to do it. Then, whil...
-
Summary: NodeJS wins. Test Program ab -n 10000 -c 5 http://localhost/ Gevent Code from gevent import wsgi class WebServer(object): def a...
-
Often, when building a game, you need to test if objects are colliding. The objects could be spaceships, rocks, mouse pointers, laser beams....
-
Dear Lazyweb. Imagine a nice RESTful interface for working with Tags. The URL: /tags/ will return a list of all the tags. The URL: /tags/fo...
-
After my last post, I decided to benchmark the scaling properties of Stackless, Kamaelia, Fibra using the same hackysack algorithm. Left axi...
-
I have just spent an hour trying to track down a weird bug in some Javascript interpolation code. The offending code looks like this: var n ...
3 comments:
I don't know if would call the PREEMPT_RT patch hard real time, but its very close. Probably close enough for most real time uses. What is hard real time though is using something like Xenomai. Which provides support for numerous common real time APIs. Its mentioned in the article and it uses the "Thin-kernel" approach.
It is very much possible. Take a look at the Linux RT wiki http://rt.wiki.kernel.org/index.php/Main_Page for more information and background.
But keep in mind that the RT_PREEMPT patch is not magic. You don't just boot a PREEMPT_RT kernel and bingo! your application is meeting 30 microsecond deadlines. To achieve deterministic performance, you're going to need to write your code in a way that avoids known determinism killers (see the RT wiki for a checklist). You will also need to ensure the system and hardware are not working against you by tuning the OS. For example correctly prioritizing IRQ threads and using CPU sets to segregate realtime vs normal workloads.
These are issues that pertain to any realtime system, and are not exclusive to PREEMPT_RT Linux. However other RT systems may have different defaults or ways to tune that make it easier to do RT work out-of-the-box.
Go have a look at Xenomai
Post a Comment