All of lore.kernel.org
 help / color / mirror / Atom feed
From: Armin Steinhoff <armin@steinhoff.de>
To: Robert Schwebel <r.schwebel@pengutronix.de>
Cc: linux-rt-users@vger.kernel.org
Subject: Re: PREEMPT_RT patch vs RTAI/Xenomai
Date: Fri, 14 May 2010 14:32:22 +0200	[thread overview]
Message-ID: <4BED42D6.3090303@steinhoff.de> (raw)
In-Reply-To: <20100514114625.GA6055@pengutronix.de>

Robert Schwebel wrote:
> On Fri, May 14, 2010 at 11:34:47AM +0200, Armin Steinhoff wrote:
>   
>>> The Linux CAN interface is SocketCAN. Do you see a usecase where
>>> this doesn't fit?
>>>       
>> IMHO, the SocketCAN interface is simply an overkill for the handling
>> of small CAN messages. I estimate that the amount of executed code
>> for handling of a single CAN frame is much bigger as the frame itself
>> :) Every read and write action creates context switches ...
>>
>> This is not the case with the user space based driver. Same story
>> with our PROFIBUS-DP drivers ...
>>     
>
> Do you see a use case which shows that a reasonably modern CPU has
> performance problems with SocketCAN, while it works fine with your
> userspace driver? My impression from previous projects is that, for all
> real life scenarios, the advantage of having a standard hardware
> abstraction in the kernel 

How many "hardware abstractions" do you want in the kernel ?

>>> Realtime != fast.
>>>       
>> But a small response time is a technological requirement in order to
>> meet deadlines. The standard kernel is a _good base_ in order to
>> implement predictive behavior ... this would not the case if the
>> response time would be in the range of 100us. OK ... you can have
>> real-time behavior with a response time of 100us .. but this would be
>> useless for most real-time applications.
>>     
>
> Above you state that you send "1000 frames per second", but that has
> nothing to do with response times. 

The response time of the whole real-time application 
(hardware/driver/application) is the point.
If Linux wouldn't able to handle every 100us a CAN frame ... the whole 
real-time application would be useless.

> Sending lots of frames works also if
> you have for example a CAN chip with a long FIFO, push the frames in and
> wait forever.

But every so called "long FIFO" is limited and can reach the overun state.

>  "Repsonse time" does involve some kind of round trip,
> which one do you mean? 

Responses of an real-time application to external events ...

> Can you elaborate where you see the need for us
> response times?
>
> As the minimum reaction time is limited by hardware constraints on
> modern cpus anyway, I think that for most applications which require sub
> 100 us response times, a hardware solution (microcontroller, fpga) is a
> better way to achive things.
>   

Why should we use FPGAs when a CPU has multiple cores ?
Every fast fieldbus ( e.g. EtherCAT) needs a reaction time with less 
than 100us.

--Armin

---
Armin Steinhoff   <as@Steinhoff-Automation.com> 
STEINHOFF Automation &  Fieldbus-Systems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TEL +49-6431 -529366  or  -570 99 70
FAX +49-6431 - 57454  or  -570 99 80
http://www.steinhoff-automation.com


  reply	other threads:[~2010-05-14 13:21 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-11 14:42 PREEMPT_RT patch vs RTAI/Xenomai Asier Tamayo
2010-05-11 15:20 ` Nivedita Singhvi
2010-05-11 15:30   ` Asier Tamayo
2010-05-12 16:07     ` Steven Rostedt
     [not found]       ` <4BEAFB7E.90304@steinhoff.de>
2010-05-13  1:27         ` Nivedita Singhvi
2010-05-13  8:07           ` Armin Steinhoff
2010-05-13  8:01       ` Armin Steinhoff
2010-05-13 17:58         ` Robert Schwebel
2010-05-14  9:34           ` Armin Steinhoff
2010-05-14 11:46             ` Robert Schwebel
2010-05-14 12:32               ` Armin Steinhoff [this message]
2010-05-14 16:36                 ` Robert Schwebel
2010-05-14 16:29                   ` Armin Steinhoff
2010-05-14 20:53                     ` Robert Schwebel
2010-06-30 11:33               ` fast interprocess communication ? Armin Steinhoff
2010-06-30 11:39                 ` Pradyumna Sampath
2010-07-05 16:48                   ` Armin Steinhoff
2010-07-06 10:29                     ` Pradyumna Sampath

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=4BED42D6.3090303@steinhoff.de \
    --to=armin@steinhoff.de \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=r.schwebel@pengutronix.de \
    /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.