From: Robert Schwebel <r.schwebel@pengutronix.de>
To: Armin Steinhoff <armin@steinhoff.de>
Cc: linux-rt-users@vger.kernel.org
Subject: Re: PREEMPT_RT patch vs RTAI/Xenomai
Date: Fri, 14 May 2010 13:46:25 +0200 [thread overview]
Message-ID: <20100514114625.GA6055@pengutronix.de> (raw)
In-Reply-To: <4BED1937.6080907@steinhoff.de>
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 overwhelms a few microseconds here and there
on the performance side.
> > > Already the standard distribution of SUSE 11.2 (non RT) was able
> > > to handle 1000 frames per seconds sent by a QNX6 machine!!
> >
> > 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. 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. "Repsonse time" does involve some kind of round trip,
which one do you mean? 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.
>>> The latency test of PREEMPT_RT shows a latency of ~10us for a
>>> dual-core box at 1.8GHz.
>>
>> It depends on the load.
>
> It depends on the load and the used priorities.
For a given application, with predefined priorities, it depends on the
load :-)
rsc
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2010-05-14 11:46 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 [this message]
2010-05-14 12:32 ` Armin Steinhoff
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=20100514114625.GA6055@pengutronix.de \
--to=r.schwebel@pengutronix.de \
--cc=armin@steinhoff.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).