From: Jan Kiszka <jan.kiszka@domain.hid>
To: Asier Tamayo <asier.tamayo@domain.hid>
Cc: "xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] Xenomai and/or PREEMPT_RT patch
Date: Tue, 11 May 2010 18:01:06 +0200 [thread overview]
Message-ID: <4BE97F42.4050808@domain.hid> (raw)
In-Reply-To: <DFFBF4EB468A894AB1474ED220F05AF60134C0BE@srv-dc.ona-electroerosion.com>
Asier Tamayo wrote:
> Hello Jan:
>
> Thanks for your help.
>
>> There are many factors of your scenario that influence a comparison. So
>> you should sketch your requirements and variables first. To name a few:
>> - CPU architecture
>> - overview on your critical loop(s)
>> - their timing requirements
>> - portability of your applications (to decide about application
>> adaption vs. legacy OS emulation)
>>
>
> My new CPU has an Intel Atom N270 @1.6 GHz processor. At the moment (during the porting it might be optimized), I have 5 drivers requering hard real-time (no loop can be skipped) and being called every 2 to 10 ms. In fact, at the beginning I was using 1 ms, but I had some problems with the hard real-time and changed the timing to 2 ms. I do not consider using a legacy OS emulation.
Given a sane hardware and a feasible task schedule, 1 KHz is no big deal
for any approach.
The fact that you only associate real-time with your drivers make me
wonder about the system architecture (split between actual hardware
access and application implementing the control logic). You will notice
that both approaches strongly encourage this split - in contrast to many
legacy RTOSes.
>
> Knowing my scenario, can you give some new advice?
>
> Besides, the drivers and programs (GUI, parser, ...) in my system use shared memory to communicate between them. Which solution (Xenomai or PREEMPT_RT) allows me more easily to keep on using the shared memory both in real-time and not real-time proccesses?
Shared memory is naturally available inside the same process (in case
you organize all your RT tasks this way), there is no problem using
POSIX shm between processes (if set up ahead of use), and drivers can
map/lock the memory for the application that is using it. Before
considering inter-driver communication (unless drivers are stacked), you
should think about the software architecture (see above).
All general statements, and they apply to any approach.
>From the brief description, I tend to say you are free to choose what
works best for you as-is. Both approaches do not require excessive
setups, so you can simply give them a try on your target.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
prev parent reply other threads:[~2010-05-11 16:01 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-11 6:05 [Xenomai-help] Xenomai and/or PREEMPT_RT patch Asier Tamayo
2010-05-11 14:05 ` Jan Kiszka
2010-05-11 14:32 ` Asier Tamayo
2010-05-11 16:01 ` Jan Kiszka [this message]
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=4BE97F42.4050808@domain.hid \
--to=jan.kiszka@domain.hid \
--cc=asier.tamayo@domain.hid \
--cc=xenomai@xenomai.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.