linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nicholas Mc Guire <der.herr@hofr.at>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: Armin Steinhoff <armin@steinhoff.de>,
	Monica Puig-Pey <puigpeym@unican.es>,
	linux-rt-users@vger.kernel.org
Subject: Re: I/O operations priority in RTOS
Date: Mon, 6 Jun 2011 00:29:55 +0200	[thread overview]
Message-ID: <20110605222954.GA13340@opentech.at> (raw)
In-Reply-To: <4DEB5015.7070601@web.de>

On Sun, 05 Jun 2011, Jan Kiszka wrote:

> On 2011-06-05 11:28, Nicholas Mc Guire wrote:
> > On Sun, 05 Jun 2011, 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 !
> >>
> > ...and how to resolve DMA ? if DMA were resolved cleanly I would agree.
> 
> Regarding that limitation, there is some hope: "next-generation" UIO is
> called VFIO. Useful for exclusively assigning virtual PCI functions of
> network adapters etc. to user space stacks or hypervisors like QEMU/KVM
> (for device pass-through). But it's not mainline yet. And it obviously
> requires an IOMMU.
> 
> But the key point remains: "exclusively". Anything else cannot be
> modeled efficiently via UIO or VFIO.
> 
for many RT apps that is an acceptable limit - in fact sometimes a requirement - having dynamic access and handling this at runtime is not necessarily an advantage for rt. Giving guarantees on timing for non-exclusive access in the general case would probably need to be based on a priority access model any way (i.e. running non-RT network traffic on a RT-link as "rt-idle" bandwidth usage - but full shared access at runtime would be very hard, if not impossible, to model at the device interface level without breaking RT properties. So I think its legitimate to keep it out of the device all together and let the user apps have a non-rt fight about access...

Any pointers to VFIO ?

hofrat


  reply	other threads:[~2011-06-05 22:29 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
2011-06-05  9:28       ` Nicholas Mc Guire
2011-06-05  9:44         ` Jan Kiszka
2011-06-05 22:29           ` Nicholas Mc Guire [this message]
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=20110605222954.GA13340@opentech.at \
    --to=der.herr@hofr.at \
    --cc=armin@steinhoff.de \
    --cc=jan.kiszka@web.de \
    --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).