* [Xenomai-help] Xenomai and/or PREEMPT_RT patch @ 2010-05-11 6:05 Asier Tamayo 2010-05-11 14:05 ` Jan Kiszka 0 siblings, 1 reply; 4+ messages in thread From: Asier Tamayo @ 2010-05-11 6:05 UTC (permalink / raw) To: xenomai Hello all: I'm just a newbie to this list, so just forgive me if my question is obvious or has been answered many times ;-) I want to do a port from an old system running a proprietary RTOS to a new one based in Linux. My system runs many applications at the same time (GUI, parsers, ...), a few of which are hard real-time. I've seen there are many approaches to the real-time issue in Linux; finally, it seems to me that the only solutions that will last are Xenomai and the PREEMPT_RT patches (OSADL). Am I wrong? Can anybody give me some advice about which system to use? Any good comparison I can read? Everything I find comparing real-time Linux approaches seems to be quite out of date. Should I use Xenomai on its own? Or maybe Xenomai and Linux with the preempt patches applied? Running the GUI, which demands a lot of CPU and RAM, can have any effect on the real-time behaviour? Any hint will be really helpful, Best regards, Asier ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai-help] Xenomai and/or PREEMPT_RT patch 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 0 siblings, 1 reply; 4+ messages in thread From: Jan Kiszka @ 2010-05-11 14:05 UTC (permalink / raw) To: Asier Tamayo; +Cc: xenomai Asier Tamayo wrote: > Hello all: > > I'm just a newbie to this list, so just forgive me if my question is obvious or has been answered many times ;-) > > I want to do a port from an old system running a proprietary RTOS to a new one based in Linux. My system runs many applications at the same time (GUI, parsers, ...), a few of which are hard real-time. > > I've seen there are many approaches to the real-time issue in Linux; finally, it seems to me that the only solutions that will last are Xenomai and the PREEMPT_RT patches (OSADL). Am I wrong? These are surely the primary candidates. More approaches exists, but I wouldn't start considering them until you reach the limits of the mentioned ones (which is quite hard these days). > > Can anybody give me some advice about which system to use? Any good comparison I can read? Everything I find comparing real-time Linux approaches seems to be quite out of date. 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) As we are on the Xenomai list, the major strengths (personal opinion) of this approach should already be mentioned: - well extensible to emulate legacy RTOS APIs - strict separation between RT and Linux domain - nevertheless, both contexts are smoothly usable from within the very same user space application > Should I use Xenomai on its own? Or maybe Xenomai and Linux with the preempt patches applied? Running the GUI, which demands a lot of CPU and RAM, can have any effect on the real-time behaviour? Independent of the software approach, hardware can always ruin your day, specifically on x86 (SMI, contentions on I/O buses, shared caches, etc.). Weather this matters to you, depends on your timing requirements and how "hard" your real-time has to be. > > Any hint will be really helpful, > > Best regards, > > Asier HTH, Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai-help] Xenomai and/or PREEMPT_RT patch 2010-05-11 14:05 ` Jan Kiszka @ 2010-05-11 14:32 ` Asier Tamayo 2010-05-11 16:01 ` Jan Kiszka 0 siblings, 1 reply; 4+ messages in thread From: Asier Tamayo @ 2010-05-11 14:32 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai 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. 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? Thanks in advance, Asier > -----Original Message----- > From: Jan Kiszka [mailto:jan.kiszka@domain.hid] > Sent: Tuesday, May 11, 2010 4:05 PM > To: Asier Tamayo > Cc: xenomai@xenomai.org > Subject: Re: Xenomai and/or PREEMPT_RT patch > > > Asier Tamayo wrote: > > Hello all: > > > > I'm just a newbie to this list, so just forgive me if my > question is obvious or has been answered many times ;-) > > > > I want to do a port from an old system running a > proprietary RTOS to a new one based in Linux. My system runs > many applications at the same time (GUI, parsers, ...), a few > of which are hard real-time. > > > > I've seen there are many approaches to the real-time issue > in Linux; finally, it seems to me that the only solutions > that will last are Xenomai and the PREEMPT_RT patches > (OSADL). Am I wrong? > > These are surely the primary candidates. More approaches exists, but I > wouldn't start considering them until you reach the limits of the > mentioned ones (which is quite hard these days). > > > > > Can anybody give me some advice about which system to use? > Any good comparison I can read? Everything I find comparing > real-time Linux approaches seems to be quite out of date. > > 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) > > As we are on the Xenomai list, the major strengths (personal > opinion) of > this approach should already be mentioned: > - well extensible to emulate legacy RTOS APIs > - strict separation between RT and Linux domain - nevertheless, both > contexts are smoothly usable from within the very same user space > application > > > Should I use Xenomai on its own? Or maybe Xenomai and Linux > with the preempt patches applied? Running the GUI, which > demands a lot of CPU and RAM, can have any effect on the > real-time behaviour? > > Independent of the software approach, hardware can always > ruin your day, > specifically on x86 (SMI, contentions on I/O buses, shared caches, > etc.). Weather this matters to you, depends on your timing > requirements > and how "hard" your real-time has to be. > > > > > Any hint will be really helpful, > > > > Best regards, > > > > Asier > > HTH, > Jan > > -- > Siemens AG, Corporate Technology, CT T DE IT 1 > Corporate Competence Center Embedded Linux > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai-help] Xenomai and/or PREEMPT_RT patch 2010-05-11 14:32 ` Asier Tamayo @ 2010-05-11 16:01 ` Jan Kiszka 0 siblings, 0 replies; 4+ messages in thread From: Jan Kiszka @ 2010-05-11 16:01 UTC (permalink / raw) To: Asier Tamayo; +Cc: xenomai@xenomai.org 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-05-11 16:01 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 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.