All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antoine Nourry <nourry@free.fr>
To: Leon Woestenberg <leon.woestenberg@gmail.com>
Cc: linux-rt-users@vger.kernel.org
Subject: Re: Real-Time & Determinism
Date: Sat, 23 May 2009 15:58:43 +0200	[thread overview]
Message-ID: <4A180113.8030203@free.fr> (raw)
In-Reply-To: <c384c5ea0905230609q5cce9b01ya2004b312b98b1e1@mail.gmail.com>


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


  reply	other threads:[~2009-05-23 13:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-23 13:04 Real-Time & Determinism Antoine Nourry
2009-05-23 13:09 ` Leon Woestenberg
2009-05-23 13:58   ` Antoine Nourry [this message]
2009-05-26 23:22     ` Paul E. McKenney
2009-05-28  1:21       ` Lee Revell
2009-05-28 10:16         ` nourry
2009-05-28 12:38           ` Luis Claudio R. Goncalves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A180113.8030203@free.fr \
    --to=nourry@free.fr \
    --cc=leon.woestenberg@gmail.com \
    --cc=linux-rt-users@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.