From: Jan Kiszka <jan.kiszka@web.de>
To: Armin Steinhoff <armin@steinhoff.de>
Cc: Nicholas Mc Guire <der.herr@hofr.at>,
Monica Puig-Pey <puigpeym@unican.es>,
linux-rt-users@vger.kernel.org
Subject: Re: I/O operations priority in RTOS
Date: Mon, 06 Jun 2011 01:09:23 +0200 [thread overview]
Message-ID: <4DEC0CA3.2070806@web.de> (raw)
In-Reply-To: <4DEC05A7.7060306@steinhoff.de>
[-- Attachment #1: Type: text/plain, Size: 2302 bytes --]
On 2011-06-06 00:39, Armin Steinhoff wrote:
> Jan Kiszka wrote:
>> On 2011-06-05 10:46, Armin Steinhoff wrote:
>>> Nicholas Mc Guire wrote:
>>>> On Sat, 04 Jun 2011, Monica Puig-Pey wrote:
>>>>
>>>>> Hello,
>>>>> I'm studying how to develop drivers in a real time OS and how do they
>>>>> work. I'm using Ubuntu 10.04 with the 2.6.31-11-rt patch installed.
>>>>> I would like to know the priority when executing open(), read(),
>>>>> write()
>>>>> and close() operations.
>>>>> In my example the thread which is using the driver runs with 10
>>>>> RTPRIO,
>>>>> but I don't know what happens in kernel context with the priority when
>>>>> running the I/O operations.
>>>>> Thank you for your help, I don't know where to learn about this.
>>>>>
>>>> []
>>>> Also when using bottom half mechanisms you need to take into account
>>>> the
>>>> priority of the kernel thread that manages the defered work items, so
>>>> rt-drivers may have a different structure than normal drivers.
>>> That's the reason why I prefer UIO based user space drivers !
>> ...which are forced to use threaded IRQs over -rt as well.
>
> What's wrong with that approach? You have an ISR in the kernel module
> and an interrupt thread at user space.
Under -rt, you have an ISR kernel thread in addition to whatever threads
you create in user space. I thought your point about UIO was avoiding
the need to worry about priorities, but maybe I misunderstood this.
> Seem OK for me since a long time with QNX :)
>> Taking threaded IRQs out of the picture, bottom-half mechanisms usually
>> come into play when dispatch workload that cannot be assigned to a
>> specific user context is significant. But then UIO is the wrong approach
>> anyway as it doesn't match well the requirements of multi-user device
>> interfaces.
> Support of multi-user device interfaces at user space is just a design
> issue ... I use this concept since a long time with QNX :)
There is always a tradeoff. IIRC, even QNX is no pure microkernel
anymore when it comes to performance sensitive services that are shared
between many processes. And Linux is no pure monolithic kernel anymore
when it comes to easily implementing user space file systems or
exclusively assigning devices to processes.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]
next prev parent reply other threads:[~2011-06-05 23:10 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-04 11:48 One Interrupted Threads per Interrupt line? Monica Puig-Pey
2011-06-04 12:03 ` I/O operations priority in RTOS Monica Puig-Pey
2011-06-04 12:30 ` kernel threads in drivers using the RT patch Monica Puig-Pey
2011-06-06 11:47 ` Changing Kernel thread priorities Monica Puig-Pey
2011-06-06 11:54 ` Rolando Martins
2011-06-06 11:58 ` Monica Puig-Pey
2011-06-06 16:49 ` Mark Hounschell
2011-06-07 8:40 ` Monica Puig-Pey
2011-06-07 9:14 ` Mark Hounschell
2011-06-07 9:46 ` Mark Hounschell
2011-06-07 18:34 ` Monica Puig-Pey
2011-06-07 18:55 ` Mark Hounschell
2011-06-10 10:12 ` Monica Puig-Pey
2011-06-06 18:20 ` Armin Steinhoff
2011-06-04 23:42 ` I/O operations priority in RTOS Nicholas Mc Guire
2011-06-05 8:46 ` Armin Steinhoff
2011-06-05 9:25 ` Jan Kiszka
2011-06-05 22:39 ` Armin Steinhoff
2011-06-05 23:09 ` Jan Kiszka [this message]
2011-06-05 9:28 ` Nicholas Mc Guire
2011-06-05 9:44 ` Jan Kiszka
2011-06-05 22:29 ` Nicholas Mc Guire
2011-06-05 23:00 ` Jan Kiszka
2011-06-06 0:21 ` Nicholas Mc Guire
2011-06-06 20:35 ` Jan Kiszka
2011-06-06 7:41 ` Armin Steinhoff
2011-06-06 20:48 ` Jan Kiszka
2011-06-05 22:32 ` Armin Steinhoff
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=4DEC0CA3.2070806@web.de \
--to=jan.kiszka@web.de \
--cc=armin@steinhoff.de \
--cc=der.herr@hofr.at \
--cc=linux-rt-users@vger.kernel.org \
--cc=puigpeym@unican.es \
/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).