Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
the target hardware platform has limited horsepower, and/or you want the real-time job to put the smallest possible overhead on your system. This is where dual kernels are usually better than a native preemption system.
People have the mistaken belief that RT means faster. In fact, the opposite is true. RT simply means that responses are within a designated timeframe, and have a low jitter (variance in service time). Accomplishing that comes at the cost of throughput because work has to be stopped to meet the required timeframe; an RT system accomplishes less productive work than a non-RT system.
In preempt_rt they say that whole kernel is preempted. What does that mean?
In what way is that different from Xenomai in terms of load bearing?
Preempt_rt means that the kernel will interrupt an executing kernel task and stop dispatching work in order to meet a real-time deadline. Xenomai, from the description, is a realtime process, so it's just one of the hundreds of (mostly) non-real-time processes running on the system. Without preempt_rt the system will not interrupt its own work; it's softer real-time. As a result, there will be greater variability in the service time for processes (like Xenomai). That's the difference in load.
If your workload requires hard real-time (all deadlines need to be met), you need preempt_rt. If soft real-time is acceptable (some deadline misses OK), then Xenomai appears to perform that function. If you don't understand the differences, odds are you don't need real-time at all.
Xenomai is a real-time development framework cooperating with the Linux kernel, in order to provide a pervasive, interface-agnostic, hard real-time support to user-space applications, seamlessly integrated into the GNU/Linux environment
If Xenomai is going to provide hard real-time, you need preempt_rt.
Update: From reading their FAQ, they appear to have a kernel patch that provides RT support, distinct from the standard kernel preempt_rt support. This seems kludgy to me.
Last edited by macemoneta; 04-07-2012 at 11:27 AM.
preempt_rt is bound to cause a reduction in the overall throughput of the system since there will be several context switches and also the lower priority tasks won't be getting much a chance to get through.
Load in this context refers to the work being performed by the kernel. While work performed by the kernel is in support of processes running on the system, it's not productive work; it's overhead. preempt_rt increases the amount of work the kernel must perform.
Which kind of work is that? Context switching? Or anything else?
Context switching, memory management, scheduling, dispatching, queuing, interrupt handling... Context switching is not a standalone function that operates independently.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.