public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Karim Yaghmour <karim@opersys.com>
To: "Bill Huey (hui)" <bhuey@lnxw.com>
Cc: Lee Revell <rlrevell@joe-job.com>, Scott Wood <scott@timesys.com>,
	Ingo Molnar <mingo@elte.hu>,
	"La Monte H.P. Yarroll" <piggy@timesys.com>,
	Manas Saksena <manas.saksena@timesys.com>,
	Philippe Gerum <rpm@xenomai.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [patch] IRQ threads
Date: Wed, 28 Jul 2004 17:48:36 -0400	[thread overview]
Message-ID: <41081F34.7080507@opersys.com> (raw)
In-Reply-To: <20040728202107.GA6952@nietzsche.lynx.com>


Bill Huey (hui) wrote:
> With that said, there's really two camps that are emerging in the real
> time Linux field, dual and single kernel. The single kernel work that's
> current being done could very well get Linux to being hard RT, assuming
> that you solve all of the technical problems with things like RCU,
> etc... in 2.6.
> 
> The dual kernels folks would be in less of position to VAR their own
> stuff and sell proprietary products if Linux were to get native hard RT
> performance if you accept that economic criteria. Who knows what the
> actual results will be.

Two things:
- What I'm suggesting is a nanokernel-based N kernel scheme, not the
dual kernel scheme (which is patented BTW).
- There's only one company out there that is known to sell proprietary
products around the dual kernel approach, and it isn't mine.

> It could be that all of this work with Linux could bury prioprietary
> OS product (such as LynxOS here) or it could open doors to other things
> unknown things that were never possible previous to Linux getting some
> kind of hard RT capability. It's certainly a scary notion to think about
> with many variables to consider. Linux getting hard RT is inevitable.
> It's just a question of how it'll be handled by proprietary OS vendors,
> witness IBM for a positive example. A negative one would be Sun.
> 
> Now that Windriver System (the idiot folks that never understood Linux
> before laying off tons of folks and disbanned the rather famous BSD/OS
> group which I was apart of, etc...) and Red Hat is in the picture, it's
> all starting to cook up.

Indeed. So the question now becomes: is it worth introducing that much
complexity inside the kernel to solve a problem that matters only
marginally to server and workstation users? It's already difficult as it
is to manage the preemption, do we really want to go the full way with
threaded int handlers and mutexes instead of locks?

What I'm suggesting is a very simple model that solves 90% of the time-
sensitive problems I have seen with Linux: Use the Adeos nanokernel to
implement the real-time component of drivers as a priority domain the
interrupt pipeline. Hence, instead of the current driver model:
1- Int handler
2- BH/SoftIRQ/etc.
We get:
1- Hard-rt handler
2- Normal Linux handler
3- BH/SoftIRQ/etc.

This is even without any RTAI/RTL or anything of that kind.

And for the rest, then you want to have a look at Philippe Gerum's
ongoing RTAI-fusion work. With RTAI-fusion, you get the same normal
Linux ABI for all user-space tasks, but you get hard-rt for free.
Practically, normal Linux calls are caught and run through RTAI
instead of Linux. Philippe has already got the standard nanosleep()
running in hard-rt. So the question is therefore straight-forward:
should we engineer a path for converting the entire kernel to hard-rt
or do we keep the kernel as it was designed and add the necessary
mechanisms for obtaining hard-rt using things that were made to
provide it by design?

I personally believe that the added complexity does not benefit
Linux. I may yet be shown wrong, but with what we can currently do
with plain vanilla Adeos, and where RTAI/fusion is heading, the
problem space of applications which can't be serviced by this
combination is getting increasingly limited.

Karim
-- 
Author, Speaker, Developer, Consultant
Pushing Embedded and Real-Time Linux Systems Beyond the Limits
http://www.opersys.com || karim@opersys.com || 1-866-677-4546


  parent reply	other threads:[~2004-07-28 21:56 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-27 22:50 [patch] IRQ threads Scott Wood
2004-07-28  6:27 ` Ingo Molnar
2004-07-28 15:38   ` Karim Yaghmour
2004-07-28 16:01     ` Karim Yaghmour
2004-07-28 21:23   ` Bill Huey
2004-07-28 21:35     ` Scott Wood
2004-07-29 21:08       ` Bill Huey
2004-07-29 22:44       ` Ingo Molnar
2004-07-28 23:24   ` Scott Wood
2004-07-28  8:10 ` Ingo Molnar
2004-07-28 23:12   ` Scott Wood
2004-07-29 19:33     ` Ingo Molnar
2004-07-29 20:21       ` Scott Wood
2004-07-29 21:12         ` Alan Cox
2004-07-28 15:45 ` Karim Yaghmour
2004-07-28 18:28   ` Lee Revell
2004-07-28 19:12     ` Karim Yaghmour
2004-07-28 19:33       ` Lee Revell
2004-07-28 19:57         ` Karim Yaghmour
2004-07-28 20:35           ` Lee Revell
2004-07-28 21:15             ` Karim Yaghmour
2004-07-28 21:43               ` Lee Revell
2004-07-28 21:38                 ` Karim Yaghmour
2004-07-28 20:21         ` Bill Huey
2004-07-28 20:42           ` Lee Revell
2004-07-28 20:46             ` Bill Huey
2004-07-28 21:48           ` Karim Yaghmour [this message]
2004-07-28 22:30             ` Bill Huey
2004-07-28 22:03           ` Philippe Gerum
  -- strict thread matches above, loose matches on Subject: below --
2004-07-29 20:33 Albert Cahalan

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=41081F34.7080507@opersys.com \
    --to=karim@opersys.com \
    --cc=bhuey@lnxw.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manas.saksena@timesys.com \
    --cc=mingo@elte.hu \
    --cc=piggy@timesys.com \
    --cc=rlrevell@joe-job.com \
    --cc=rpm@xenomai.org \
    --cc=scott@timesys.com \
    /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