Re: Real-Time & Determinism

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




why can we read everywhere that Preempt_RT offers hard real time
capabilities while on another hand we can find in some papers that it is not
deterministic and only gives assurance to obtain low latencies ? is it real

Can you give some links of one and the other?

For hard real time capabilities it is said (among numerous others) in http://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO#About_the_RT-Preempt_Patch

/"The standard Linux kernel only meets soft real-time requirements: it provides basic POSIX operations for userspace time handling but has no guarantees for hard timing deadlines. With Ingo Molnar's Realtime Preemption patch (referenced to as RT-Preempt in this document) and Thomas Gleixner's generic clock event layer with high resolution support, the kernel gains hard realtime capabilities."/


For lack of determinism :

http://lwn.net/Articles/106010/ :

/"NOTE: deterministic hard-rt is not about speed, it's about determinism. While Ingo's work is great at reducing latency, it cannot *guarantee* response times regardless of the load, kernel configuration, and driver set. RTAI/fusion, and the Adeos interrupt pipeline on a smaller scale, can provide such guarantees."/

Actually, as you guessed i'm a beginner in real time sphere. I used Xenomai for a previous work : turn a native linux driver for an USB DAQ device into a real time one to ensure acquisitions within a definite cycle. The problem is that i had to use a real time USB stack and only found USB4RT which works but with some bugs and limitations. I'm now interested with the RT_Preempt patch that would make me able to use the native Linux USB stack (i'm not sure of this point..., Is it only possible to obtain *constant execution times* using USB with RT_Preempt ?).

time or not (deterministic) ? if yes, is it hard or soft RT ? Please excuse
me if i've missed something important.


This is a simplistic summary as I learned it:

It's hard real-time behaviour.

However, as the kernel consist of a large amount of code, every piece
of code must behave properly with regard to locking etc. so that the
real-time scheduler is actually able to pre-empt with low latency
intervals.

The tracing code has been included to find those long no-pre-empt
spots in the kernel code.

So, Is gaining total determinism under RT_Preempt just a matter of testing that your particular code will not call "those long no-preempt spots" which hadn't or couldn't been cut off from the kernel ?

Thank you very much,
Antoine

--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux