public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Bill Huey <bhuey@lnxw.com>
Cc: Lee Revell <rlrevell@joe-job.com>,
	Karim Yaghmour <karim@opersys.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>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [patch] IRQ threads
Date: Thu, 29 Jul 2004 00:03:23 +0200	[thread overview]
Message-ID: <1091052203.626.315.camel@localhost> (raw)
In-Reply-To: <20040728202107.GA6952@nietzsche.lynx.com>

On Wed, 2004-07-28 at 22:21, Bill Huey 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.

<snip>

> 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.
> 

With the ego power switch and name-calling amplifier lowered to the
minimum, maybe there could be a third approach, like cooperation between
both through a better integration. At least, the signal / noise ratio
would improve...

The hard RT people I know of and work with want to be able 1) to get
microsecond level bounded interrupt latency with no exception to this
rule, and 2) to be able to choose the right level of dispatch latency
on a thread-by-thread basis, from a few microseconds to a few hundreds
of, but in any case _bounded_ and predictable in the worst case. For
this to happen, they are willing to accept stringent limitations
functionaly-wise if need be to obtain the first, but still get access
to the regular Linux programming model and APIs if the second fits
their apps.  They already know how they could mix both properly in
what would look like a single system from the application pov.

For these people, the current undergoing work aimed at improving the
current determinism of the vanilla kernel is everything but a danger:
it's fundamental and very good news, because it could make 2) a
reality sooner or later. However, point 1) remains an issue, and
unless you find a solution for mixing fire and water, i.e. determinism
which requires unfairness by design and throughput seeking fairness on
the average case, you would likely end up considering that the Linux
RT people's radical approach of using a dual-kernel does not make them
uneducated bozos (Ok, except me perhaps, but this is not my point).
To get microsecond level guaranteed interrupt latencies, the problem
is far beyond solving random latency spots here and there: it's an
architectural issue.

To achieve this, we (i.e. the educated ones like Karim helping the
uneducated bozo like myself; yep, this is a teamwork) have come to the
conclusion that we needed a portable infrastructure that allows a
complete prioritization of interrupts, and hw events of interest in
general (e.g. traps/exceptions). Some infrastructure that exposes the
same interface regardless of the platform it runs on. It's called
Adeos, the source code identation is terrible (after 20 years practicing
it, I still
find means to worsen my coding style, funky eh?!) but it's a working
example of such kind of infrastructure. The advantage of such kind of
thin layer is that you can plug any hard real-time core over it. This
layer can remain silent when unused, it can be configured out, it is
just an enabler.  You don't have to put the hell of a havoc in a
stable GPOS core to modify some key architectural characteristics of
the Linux kernel in order to buy hard RT capabilities to everyone,
which could be construed as smashing a squadron of flies with nukes.

> All things to think about.

There is evidence that the GPL side of the hard RT universe does too.
Indeed.

-- 

Philippe.


  parent reply	other threads:[~2004-07-29  8:01 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
2004-07-28 22:30             ` Bill Huey
2004-07-28 22:03           ` Philippe Gerum [this message]
  -- 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=1091052203.626.315.camel@localhost \
    --to=rpm@xenomai.org \
    --cc=bhuey@lnxw.com \
    --cc=karim@opersys.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=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