* How to talk to DAQ Hardware?
@ 2007-08-25 15:45 Calin Culianu
2007-08-25 18:00 ` Daniel Walker
0 siblings, 1 reply; 16+ messages in thread
From: Calin Culianu @ 2007-08-25 15:45 UTC (permalink / raw)
To: linux-rt-users
Hi,
I'm coming from the RTAI and RTLinux world and I just learned about the great
strides you guys have made in hard RT. Anyway, I was wondering -- currently
how would one go about talking to DAQ hardware using the RT_PREEMPT patch(es)?
Will this "just work" with COMEDI? What happens when a userspace hard rt app
calls into a kernel device driver in the simple case of an inb() or outb()
instruction?
I am hoping I can use this patch to do some basic input/output from a data
acquisition card that is driver by COMEDI -- using just synchronous acquisition
and output (basically writing to registers on the card, etc.. no IRQ's).
Will this work?
Thanks..
PS: I also posted on the comedi mailing list but wanted to ask you guys too.
Thanks again,
-Calin
____________________________________________________________________________________
Yahoo! oneSearch: Finally, mobile search
that gives answers, not web links.
http://mobile.yahoo.com/mobileweb/onesearch?refer=1ONXIC
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: How to talk to DAQ Hardware? 2007-08-25 15:45 How to talk to DAQ Hardware? Calin Culianu @ 2007-08-25 18:00 ` Daniel Walker 2007-08-25 19:49 ` Calin Culianu 0 siblings, 1 reply; 16+ messages in thread From: Daniel Walker @ 2007-08-25 18:00 UTC (permalink / raw) To: Calin Culianu; +Cc: linux-rt-users On Sat, 2007-08-25 at 08:45 -0700, Calin Culianu wrote: > Hi, > > > I'm coming from the RTAI and RTLinux world and I just learned about the great > strides you guys have made in hard RT. Anyway, I was wondering -- currently > how would one go about talking to DAQ hardware using the RT_PREEMPT patch(es)? > Will this "just work" with COMEDI? What happens when a userspace hard rt app > calls into a kernel device driver in the simple case of an inb() or outb() > instruction? PREEMPT_RT doesn't change the way that users call into drivers .. The users perspective of things is just same as regular linux .. Daniel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-25 18:00 ` Daniel Walker @ 2007-08-25 19:49 ` Calin Culianu 2007-08-26 1:46 ` Daniel Walker ` (2 more replies) 0 siblings, 3 replies; 16+ messages in thread From: Calin Culianu @ 2007-08-25 19:49 UTC (permalink / raw) To: Daniel Walker; +Cc: linux-rt-users --- Daniel Walker <dwalker@mvista.com> wrote: > On Sat, 2007-08-25 at 08:45 -0700, Calin Culianu wrote: > > Hi, > > > > > > I'm coming from the RTAI and RTLinux world and I just learned about the > great > > strides you guys have made in hard RT. Anyway, I was wondering -- > currently > > how would one go about talking to DAQ hardware using the RT_PREEMPT > patch(es)? > > Will this "just work" with COMEDI? What happens when a userspace hard rt > app > > calls into a kernel device driver in the simple case of an inb() or outb() > > instruction? > > PREEMPT_RT doesn't change the way that users call into drivers .. The > users perspective of things is just same as regular linux .. > > Daniel > > Cool! That's what I figured but I wanted to double-check. Now, there is no way to raise the priority of particular driver's ISRs is there? So that a specific ISR can preempt anything including a hard realtime process? I know in the shared IRQ situation it would introduce lots of jitter but having really high priority interrupts would be nice. Is that possible? Anyway thanks for answering my question -- this basically means I can throw away rtlinux and use the latest 2.6 kernels with the RT_PREEMPT patches! :) -Calin ____________________________________________________________________________________ Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-25 19:49 ` Calin Culianu @ 2007-08-26 1:46 ` Daniel Walker 2007-08-26 2:08 ` Calin Culianu 2007-08-26 10:33 ` Sven-Thorsten Dietrich 2007-08-27 7:56 ` Guennadi Liakhovetski 2 siblings, 1 reply; 16+ messages in thread From: Daniel Walker @ 2007-08-26 1:46 UTC (permalink / raw) To: Calin Culianu; +Cc: linux-rt-users On Sat, 2007-08-25 at 12:49 -0700, Calin Culianu wrote: > Cool! That's what I figured but I wanted to double-check. > > Now, there is no way to raise the priority of particular driver's ISRs is > there? So that a specific ISR can preempt anything including a hard realtime > process? ISR's are kernel threads, and you can change the priority of them .. If you look 'ps' or 'top' you'll notice some processes that looks like, m0nster-mash ~ # ps alx | grep IRQ 5 0 119 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-20] 5 0 898 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-8] 5 0 930 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-14] 5 0 948 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-18] 5 0 957 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-16] 5 0 964 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-19] 5 0 974 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-12] 5 0 975 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-1] 5 0 1002 2 -51 - 0 0 irqd S< ? 0:00 [IRQ-4] m0nster-mash ~ # So you change the priority just like with any process.. Using chrt from sched utils .. > I know in the shared IRQ situation it would introduce lots of jitter but having > really high priority interrupts would be nice. Is that possible? yeah, if they're shared then both handlers will get the same priority . > Anyway thanks for answering my question -- this basically means I can throw > away rtlinux and use the latest 2.6 kernels with the RT_PREEMPT patches! :) Yeah, hopefully it works out for you.. Daniel ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-26 1:46 ` Daniel Walker @ 2007-08-26 2:08 ` Calin Culianu 2007-08-26 5:24 ` Gregory Haskins 0 siblings, 1 reply; 16+ messages in thread From: Calin Culianu @ 2007-08-26 2:08 UTC (permalink / raw) To: Daniel Walker; +Cc: linux-rt-users --- Daniel Walker <dwalker@mvista.com> wrote: > > process? > > ISR's are kernel threads, and you can change the priority of them .. If > you look 'ps' or 'top' you'll notice some processes that looks like, Wow, thanks for the thorough answer. So basically interrupts come in from hardware, are dispatched by waking up a thread.. and then the thread decides to call a device driver's ISR or not? So if another lower priority interupt calls in, the thread is woken up but processing resumes again in the previously-running higher priority thread? I guess I should just read the sources.. Anyway thanks for anwering my questions. Now I must rave: I seriously think you guys are AMAZING -- or at least your work on this is. I am so happy to be rid of RTLinux. I liked RTAI, but it was really horribly unstable and the API was all over the place. So I was forced to use RTLinux. RTLinux was not free, unless you used an ancient version that only really ran on 2.4 kernels. This RT patch is amazing. I really want to say.. KUDOS. You guys are my heroes! I have been pulling my hair out for 6 years now with sub-standard open RTOS's like RTAI and RTLinux and having this done "the right way" by you guys feels awesome.. I know RTAI had userspace realtime for some time but its administration and configuration was messy and buggy and RTLinux's userspace realtime was not open. In the end it always felt like a hack somehow.. And if you called into libraries or kernel facilities that weren't hard-rt.. BOOM, your app exploded! So kludgy.. Thanks again!! -Calin ____________________________________________________________________________________ Luggage? GPS? Comic books? Check out fitting gifts for grads at Yahoo! Search http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-26 2:08 ` Calin Culianu @ 2007-08-26 5:24 ` Gregory Haskins 0 siblings, 0 replies; 16+ messages in thread From: Gregory Haskins @ 2007-08-26 5:24 UTC (permalink / raw) To: Calin Culianu; +Cc: Daniel Walker, linux-rt-users On Sat, 2007-08-25 at 19:08 -0700, Calin Culianu wrote: > --- Daniel Walker <dwalker@mvista.com> wrote: > > > > process? > > > > ISR's are kernel threads, and you can change the priority of them .. If > > you look 'ps' or 'top' you'll notice some processes that looks like, > > Wow, thanks for the thorough answer. So basically interrupts come in from > hardware, are dispatched by waking up a thread.. and then the thread decides to > call a device driver's ISR or not? Close. There is one thread per IRQ, so each interrupt vector wakes a specific thread which executes the registered handler unconditionally once scheduled to run. By default, all IRQ threads run at priority RT50, but you can tweak this via tools like chrt like Daniel mentioned. > So if another lower priority interupt calls > in, the thread is woken up but processing resumes again in the > previously-running higher priority thread? I guess I should just read the > sources.. That's exactly right, but note that sometimes the opposite is not true if you are not careful. The interrupt controller itself often supports its own concept of priority, and disparity between the hardware/software priority can cause inadvertent masking. In this scenario, the hardware fails to dispatch what it perceives as the lower-priority vector until the perceived higher one completes its EOI. What it perceives as higher and lower may differ from your RT priorities. If you find yourself configuring your vectors to a RT priority relationship that differs from their hardware relationship, you have a few choices. 1) Change the hardware relationship (if you are on a platform that allows programmable priority in the interrupt-controller: e.g. some powerpcs). OR 2) Make sure the vectors in question are using fasteoi which (IIUC) effectively moves the priority back into the control of the scheduler by EOI'ing the vector immediately. HTH Regards, -Greg ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-25 19:49 ` Calin Culianu 2007-08-26 1:46 ` Daniel Walker @ 2007-08-26 10:33 ` Sven-Thorsten Dietrich 2007-08-27 7:56 ` Guennadi Liakhovetski 2 siblings, 0 replies; 16+ messages in thread From: Sven-Thorsten Dietrich @ 2007-08-26 10:33 UTC (permalink / raw) To: Calin Culianu; +Cc: Daniel Walker, linux-rt-users, Greg KH On Sat, 2007-08-25 at 12:49 -0700, Calin Culianu wrote: > --- Daniel Walker <dwalker@mvista.com> wrote: > > > On Sat, 2007-08-25 at 08:45 -0700, Calin Culianu wrote: > > > Hi, > > > > > > > > > I'm coming from the RTAI and RTLinux world and I just learned about the > > great > > > strides you guys have made in hard RT. Anyway, I was wondering -- > > currently > > > how would one go about talking to DAQ hardware using the RT_PREEMPT > > patch(es)? > > > Will this "just work" with COMEDI? What happens when a userspace hard rt > > app > > > calls into a kernel device driver in the simple case of an inb() or outb() > > > instruction? > > > > PREEMPT_RT doesn't change the way that users call into drivers .. The > > users perspective of things is just same as regular linux .. > > > > Daniel > > > > > > Cool! That's what I figured but I wanted to double-check. > > Now, there is no way to raise the priority of particular driver's ISRs is > there? So that a specific ISR can preempt anything including a hard realtime > process? > there is chrt (I had started to compose this earlier, so I defer to Greg H's comments on the low level stuff.) - just a few add-ons below: > I know in the shared IRQ situation it would introduce lots of jitter but having > really high priority interrupts would be nice. Is that possible? > I looked at that problem with some folks before. The current RT IRQ model masks the IRQ until the thread corresponding to the top-level handler (HARDIRQ) processes it. For shared IRQs, that means there can be quite some jitter when one thread is handling a shared IRQ on a certain priority level, and it gets preempted by another thread at a higher prio - all before the shared IRQ you are interested in runs. Its possible to configure an IRQ handler to run in IRQ space, so it vectores and runs in the "classical" IRQ paradigm. In a shared IRQ model, however, where you have a shared IRQ in thread-space, and another IRQ in IRQ context, things get messy... Currently, internal priorities on shared irqs are not supported. To make this work, not only the shared-IRQ code must be modified to add prio awareness, but also in many cases, the driver model falls short. We were looking at a shared device similar to your DAQ's requirements, but - the BIOS was stuffing a USB device in there (on the same SH_IRQ), and on different revisions, there were other subsystems, ACPI, IIRC, amongst others. The workaround required adding a layer to the USB/ACPI layer, that would allow you to clear the IRQ assert on the respective chip-set, so that it would be possible to receive, and process a concurrently asserted high prio interrupt on the same IRQ line (the DAQ), without constantly re-entering the USB/ACPI vector while the IRQ was being asserted... (because just masking the IRQ would block the DAQ from being processed until some arbitrary IRQ handler runs - e.g. USB) Essentially, the workaround required a 3-tiered driver model, where tier 1 ack-s the IRQ and triages the chipset to "shut up". Tier 2 handles the classic IRQ top-level, either in thread context, or in IRQ context - and tier 3 is the "bottom half". This doesn't translate well to a general IRQ model for all devices, isn't supported in the general Linux driver model at this time, and creates a lot of complexity to debug. But it can be done, and if you can avoid the shared IRQ stuff, and can get a dedicated IRQ in IRQ-space for your DAQ, you will see performance similar to any sub-kernel. Happy hacking. Sven > Anyway thanks for answering my question -- this basically means I can > throw > away rtlinux and use the latest 2.6 kernels with the RT_PREEMPT > patches! :) > Enjoy. Sven -- Sven-Thorsten Dietrich +1 415 694-2930 ( www.novell.com/linux ) ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-25 19:49 ` Calin Culianu 2007-08-26 1:46 ` Daniel Walker 2007-08-26 10:33 ` Sven-Thorsten Dietrich @ 2007-08-27 7:56 ` Guennadi Liakhovetski 2007-08-27 8:26 ` Carsten Emde ` (2 more replies) 2 siblings, 3 replies; 16+ messages in thread From: Guennadi Liakhovetski @ 2007-08-27 7:56 UTC (permalink / raw) To: Calin Culianu; +Cc: Daniel Walker, linux-rt-users On Sat, 25 Aug 2007, Calin Culianu wrote: > Now, there is no way to raise the priority of particular driver's ISRs is > there? So that a specific ISR can preempt anything including a hard realtime > process? It's the second time you say "hard" real-time, so, just wanted to warn - it is not hard. It is still only soft real time, but a pretty good one, I think. Thanks Guennadi --------------------------------- Guennadi Liakhovetski, Ph.D. DSA Daten- und Systemtechnik GmbH Pascalstr. 28 D-52076 Aachen Germany ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-27 7:56 ` Guennadi Liakhovetski @ 2007-08-27 8:26 ` Carsten Emde 2007-08-27 10:02 ` Guennadi Liakhovetski 2007-08-27 10:55 ` Bernhard Kuhn 2007-08-27 9:12 ` Sven-Thorsten Dietrich 2007-08-28 5:32 ` Robert Schwebel 2 siblings, 2 replies; 16+ messages in thread From: Carsten Emde @ 2007-08-27 8:26 UTC (permalink / raw) To: Guennadi Liakhovetski; +Cc: Calin Culianu, Daniel Walker, linux-rt-users Guennadi Liakhovetski wrote: > On Sat, 25 Aug 2007, Calin Culianu wrote: >> Now, there is no way to raise the priority of particular driver's ISRs is >> there? So that a specific ISR can preempt anything including a hard realtime >> process? > It's the second time you say "hard" real-time, so, just wanted to warn - > it is not hard. It is still only soft real time, but a pretty good one, I > think. I don't know what exactly "soft real-time" is, and I don't think there is an exact definition of it. The term "hard real-time", however, is well defined. It is the same as "real-time". It means that a system never ever exceeds a previously defined maximum latency. If, for example, you define 100 microseconds as such, you run your system over a long time period (several days), and you observe several billions of single external events that trigger a user space process at real-time priority, then there must be no single event that fails to do so within 100 microseconds. We did this constantly and successfully with an -rt kernel. So why are we not allowed to call this "hard real-time"? If you are aware of a situation where this is not the case, then this may be a specific problem related to a specific situation. Please help us to improve the -rt patches further and submit a bug report. I am confident that it will be fixed as soon as possible. --cbe ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-27 8:26 ` Carsten Emde @ 2007-08-27 10:02 ` Guennadi Liakhovetski [not found] ` <1188212251.21706.45.camel@sven.thebigcorporation.com> 2007-08-28 7:04 ` Robert Schwebel 2007-08-27 10:55 ` Bernhard Kuhn 1 sibling, 2 replies; 16+ messages in thread From: Guennadi Liakhovetski @ 2007-08-27 10:02 UTC (permalink / raw) To: Carsten Emde; +Cc: Calin Culianu, Daniel Walker, linux-rt-users On Mon, 27 Aug 2007, Carsten Emde wrote: > I don't know what exactly "soft real-time" is, and I don't think there is an > exact definition of it. The term "hard real-time", however, is well defined. > It is the same as "real-time". It means that a system never ever exceeds a > previously defined maximum latency. As long as your non-realtime tasks are allowed to take locks, that also prevent real-time tasks from preempting them, and as long as you haven't proved that all those locks in all your non-realtime sources can never under any circumstances last longer than your pre-defined limit, it is not a hard-realtime OS. This doesn't mean I don't like rt-opreempt:-) One just has to understand clearly its features and limitations. Thanks Guennadi --------------------------------- Guennadi Liakhovetski, Ph.D. DSA Daten- und Systemtechnik GmbH Pascalstr. 28 D-52076 Aachen Germany ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <1188212251.21706.45.camel@sven.thebigcorporation.com>]
* Re: How to talk to DAQ Hardware? [not found] ` <1188212251.21706.45.camel@sven.thebigcorporation.com> @ 2007-08-27 11:09 ` Guennadi Liakhovetski 0 siblings, 0 replies; 16+ messages in thread From: Guennadi Liakhovetski @ 2007-08-27 11:09 UTC (permalink / raw) To: Sven-Thorsten Dietrich Cc: Carsten Emde, Calin Culianu, Daniel Walker, linux-rt-users On Mon, 27 Aug 2007, Sven-Thorsten Dietrich wrote: > On Mon, 2007-08-27 at 12:02 +0200, Guennadi Liakhovetski wrote: > > > > As long as your non-realtime tasks are allowed to take locks, that also > ^^^^^ > > prevent real-time tasks from preempting them, and as long as you haven't > > proved that all those locks in all your non-realtime sources can never > > under any circumstances last longer than your pre-defined limit, it is not > > a hard-realtime OS. > > So you're talking about a property of the application !!! Wrong emphasis. Here's what is meant: > > As long as your non-realtime tasks are allowed to take locks, that also ^^^^^^^^^^^ > > prevent real-time tasks from preempting them, and as long as you haven't Thanks Guennadi --------------------------------- Guennadi Liakhovetski, Ph.D. DSA Daten- und Systemtechnik GmbH Pascalstr. 28 D-52076 Aachen Germany ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-27 10:02 ` Guennadi Liakhovetski [not found] ` <1188212251.21706.45.camel@sven.thebigcorporation.com> @ 2007-08-28 7:04 ` Robert Schwebel 1 sibling, 0 replies; 16+ messages in thread From: Robert Schwebel @ 2007-08-28 7:04 UTC (permalink / raw) To: Guennadi Liakhovetski Cc: Carsten Emde, Calin Culianu, Daniel Walker, linux-rt-users On Mon, Aug 27, 2007 at 12:02:24PM +0200, Guennadi Liakhovetski wrote: > As long as your non-realtime tasks are allowed to take locks, that also > prevent real-time tasks from preempting them, and as long as you haven't > proved that all those locks in all your non-realtime sources can never > under any circumstances last longer than your pre-defined limit, it is not > a hard-realtime OS. Yes, but that's only true for locks shared between rt and non-rt threads. You surely have to design an interface between high and low priority parts of an RT system following certain rules, but that's the same with all hard realtime systems. Robert -- Pengutronix - Linux Solutions for Science and Industry Entwicklungszentrum Nord http://www.pengutronix.de ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-27 8:26 ` Carsten Emde 2007-08-27 10:02 ` Guennadi Liakhovetski @ 2007-08-27 10:55 ` Bernhard Kuhn 1 sibling, 0 replies; 16+ messages in thread From: Bernhard Kuhn @ 2007-08-27 10:55 UTC (permalink / raw) To: Carsten Emde Cc: Guennadi Liakhovetski, Calin Culianu, Daniel Walker, linux-rt-users Carsten Emde wrote: > So why are we not allowed to call this "hard real-time"? :-) I guess the disconnect is that even an RTOS can't guarantee timing when the user didn't analysed his application software with due diligence before going into production. For example, someone can very well do something like "for(;;);" at fifo priority 99, locking out all other threads completely. The RTOS might think this is what the user likes to do - means: an RTOS doesn't prevent a user to do silly things! In this respect, it is even more dangerous if i.e. multimedia application make use of real time priorties, because it can easily lookup the whole system whereas "nice" priorities only reduce system responsivness in case something went wrong. Even if the developer carefully reviews what the application is doing, then there is still the risk that he has overlooked something. This is the reason why RTOSes like OSEK have a "timing protection" that checks if a certain thread doesn't exceed a given amount of allowed time per system cycle. Not truly the best solution, either, but at least a means of detecting that something went wrong ... Concerning locking: the amount of time a low priority thread holds a lock and in turn prevents a high priority thread from acquiring it is a pure application problem (means, something the developer has to take care about). However, -rt implements the priority inheritance protocol to soften that issue. BTW.: Avoiding locks is a good real time programming practice, *g* (However this is not always achivable). regards Bernhard ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-27 7:56 ` Guennadi Liakhovetski 2007-08-27 8:26 ` Carsten Emde @ 2007-08-27 9:12 ` Sven-Thorsten Dietrich 2007-08-27 9:53 ` Guennadi Liakhovetski 2007-08-28 5:32 ` Robert Schwebel 2 siblings, 1 reply; 16+ messages in thread From: Sven-Thorsten Dietrich @ 2007-08-27 9:12 UTC (permalink / raw) To: Guennadi Liakhovetski; +Cc: Calin Culianu, Daniel Walker, linux-rt-users On Mon, 2007-08-27 at 09:56 +0200, Guennadi Liakhovetski wrote: > On Sat, 25 Aug 2007, Calin Culianu wrote: > > > Now, there is no way to raise the priority of particular driver's ISRs is > > there? So that a specific ISR can preempt anything including a hard realtime > > process? > > It's the second time you say "hard" real-time, so, just wanted to warn - > it is not hard. It is still only soft real time, but a pretty good one, I > think. Hard / Soft is a property of the application's deadline requirements, not a property of the operating system. The consequences of missing a deadline determine determine whether an RT >application< is hard or soft RT. Therefore, it is inappropriate to qualify an operating system as hard or soft RT without deadline context. Sven ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-27 9:12 ` Sven-Thorsten Dietrich @ 2007-08-27 9:53 ` Guennadi Liakhovetski 0 siblings, 0 replies; 16+ messages in thread From: Guennadi Liakhovetski @ 2007-08-27 9:53 UTC (permalink / raw) To: Sven-Thorsten Dietrich; +Cc: Calin Culianu, Daniel Walker, linux-rt-users On Mon, 27 Aug 2007, Sven-Thorsten Dietrich wrote: > Therefore, it is inappropriate to qualify an operating system as hard or > soft RT without deadline context. It is. An OS is not hard real-time (capable) if it cannot guarantee you with 100% certainty to meet ANY hard dead-line. There is a philosophical side of this question, whether _any_ OS can guaratee that, but we don't want to discuss it here. Thanks Guennadi --------------------------------- Guennadi Liakhovetski, Ph.D. DSA Daten- und Systemtechnik GmbH Pascalstr. 28 D-52076 Aachen Germany ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: How to talk to DAQ Hardware? 2007-08-27 7:56 ` Guennadi Liakhovetski 2007-08-27 8:26 ` Carsten Emde 2007-08-27 9:12 ` Sven-Thorsten Dietrich @ 2007-08-28 5:32 ` Robert Schwebel 2 siblings, 0 replies; 16+ messages in thread From: Robert Schwebel @ 2007-08-28 5:32 UTC (permalink / raw) To: Guennadi Liakhovetski; +Cc: Calin Culianu, Daniel Walker, linux-rt-users On Mon, Aug 27, 2007 at 09:56:15AM +0200, Guennadi Liakhovetski wrote: > It's the second time you say "hard" real-time, so, just wanted to warn - > it is not hard. It is still only soft real time, but a pretty good one, I > think. It is no more or less hard than other realtime operating systems with the same set of features. Calin, did you notice our OSADL fieldbus framework activities? It is in an early stage but looks very promising for industrial I/O (not only fieldbus, but also local type). Robert -- Pengutronix - Linux Solutions for Science and Industry Entwicklungszentrum Nord http://www.pengutronix.de ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2007-08-28 7:04 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-25 15:45 How to talk to DAQ Hardware? Calin Culianu
2007-08-25 18:00 ` Daniel Walker
2007-08-25 19:49 ` Calin Culianu
2007-08-26 1:46 ` Daniel Walker
2007-08-26 2:08 ` Calin Culianu
2007-08-26 5:24 ` Gregory Haskins
2007-08-26 10:33 ` Sven-Thorsten Dietrich
2007-08-27 7:56 ` Guennadi Liakhovetski
2007-08-27 8:26 ` Carsten Emde
2007-08-27 10:02 ` Guennadi Liakhovetski
[not found] ` <1188212251.21706.45.camel@sven.thebigcorporation.com>
2007-08-27 11:09 ` Guennadi Liakhovetski
2007-08-28 7:04 ` Robert Schwebel
2007-08-27 10:55 ` Bernhard Kuhn
2007-08-27 9:12 ` Sven-Thorsten Dietrich
2007-08-27 9:53 ` Guennadi Liakhovetski
2007-08-28 5:32 ` Robert Schwebel
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.