All of lore.kernel.org
 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: 40+ 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 11:48 ` Monica Puig-Pey
2011-06-04 12:03 ` I/O operations priority in RTOS Monica Puig-Pey
2011-06-04 12:03   ` Monica Puig-Pey
2011-06-04 12:30   ` kernel threads in drivers using the RT patch Monica Puig-Pey
2011-06-04 12:30     ` 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:54         ` Rolando Martins
2011-06-06 11:58         ` Monica Puig-Pey
2011-06-06 11:58           ` Monica Puig-Pey
2011-06-06 16:49           ` Mark Hounschell
2011-06-06 16:49             ` Mark Hounschell
2011-06-07  8:40             ` Monica Puig-Pey
2011-06-07  8:40               ` Monica Puig-Pey
2011-06-07  9:14               ` Mark Hounschell
2011-06-07  9:14                 ` Mark Hounschell
2011-06-07  9:46                 ` 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-07 18:55                       ` Mark Hounschell
2011-06-10 10:12                       ` Monica Puig-Pey
2011-06-10 10:12                         ` Monica Puig-Pey
2011-06-06 18:20       ` Armin Steinhoff
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 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.