From: Tim Bird <tim.bird@sonymobile.com>
To: <ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] Mainlining PREEMPT_RT
Date: Wed, 14 Oct 2015 12:30:21 -0700 [thread overview]
Message-ID: <561EAD4D.6080901@sonymobile.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1510141345540.13663@east.gentwo.org>
On 10/14/2015 11:56 AM, Christoph Lameter wrote:
> On Wed, 14 Oct 2015, Steven Rostedt wrote:
>
>> If PREEMPT_RT is not the way to go, then why did several companies just
>> invest into getting it mainlined?
>
> I guess they want "realtime" support. Better talk to them what they mean
> by realtime. I have never seen a real use case for PREEMPT_RT. Instead a
> lot of high level "realtime" talk and disappointment when they found out
> what the real constraints and limitations are.
>
>> Again, real-time does not mean real-fast. How do you handle priority
>> inversion? How do you handle outliers? Which the Linux kernel has many
>> huge outliers if things are not handled correctly, which PREEMPT_RT
>> solve (making it, by the way, a hard real time design). If you can
>> accept a single outlier, then that's soft real-time, and you are
>> talking about something completely different.
>
> You could put the processing for the stuff that creates outliers on a
> different cpu? Layout the processing in such a way to guarantee no
> outliers on the "realtime" processors?
>
>> Hard real-time is about worse case latency, not the average latency.
>> That's called "soft real-time"
>
> Of course. Thats why I suggested combining it with the NOHZ appraoch. Put
> the pieces that can create outliers on cpus not used for "realtime"
> threads. Ensure that what is running on a hard realtime cpu can complete
> in a defined timed interval.
>
> Realtime is about guarantees of a response in a certain time period. That
> is why "soft realtime" is not making much sense. There is no guarantee
> anymore. Just more overhead. OS processing slows down due to the
> sprinkling of preempt code but the timing guarantees that one seeks can be
> violated. Increasing the processing overhead may increase the number of
> failures to process a given task in a time period that one wants
> guaranteed. So better run without preempt in order to have a higher chance
> to finish in time? That is at least what my industry has decided to do.
This debate is as old as the hills. I remember having it in 2000 with
various parties, when talking about what used to be called the "dual-kernel"
approach.
> But we really wish we had a hard realtime capability if we must respond in
> a certain time period. Sadly there is no solution in sight right now.
Check out Xenomai. (xenomai.org) I think that's what many embedded folk use
if they find that RT-PREEMPT does not meet their needs. Xenomai 3.0
allows you to use their system either on top of RT-PREEMPT or
on top of their Cobalt kernel sitting next to (or in front of,
depending on your perspective) the Linux kernel.
Sony used RT-PREEMPT in some products, and a dual-kernel in others,
and isolated CPUs running something else (usually uItron) in yet others.
Personally, I'd be happy to see RT-PREEMPT go in - there are certain use
cases for it. I'd also like to see the NOHZ stuff go in as well. It should
solve a set of problems for isolating RT tasks without sacrificing
performance on the non-RT CPUs. And finally, I wouldn't mind putting
a non-Linux RT kernel like Cobalt (oh the horrors) into mainline as well.
Each of these approaches has their strengths and weaknesses. Linux is,
after all, whatever we say it is - and it could easily have a small RT
micro-kernel as part of the source base as well.
AFAIK the patent issues that plagued the dual-kernel approach are now
behind us, so this might be a good area of investigation.
I've long felt that RT-PREEMPT was sucking the oxygen out of getting other,
technically valid, approaches to RT with Linux into mainline.
-- Tim
next prev parent reply other threads:[~2015-10-14 19:30 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-13 16:42 [Ksummit-discuss] [TECH TOPIC] Mainlining PREEMPT_RT Steven Rostedt
2015-10-13 17:33 ` Josh Triplett
2015-10-13 22:40 ` Rafael J. Wysocki
2015-10-13 22:19 ` Luis R. Rodriguez
2015-10-13 22:39 ` Steven Rostedt
2015-10-13 22:48 ` Luis R. Rodriguez
2015-10-13 23:04 ` Rafael J. Wysocki
2015-10-13 22:41 ` Luis R. Rodriguez
2015-10-14 7:35 ` Linus Walleij
2015-10-14 11:45 ` Christoph Lameter
2015-10-14 13:20 ` Steven Rostedt
2015-10-14 14:49 ` Christoph Lameter
2015-10-14 15:22 ` Steven Rostedt
2015-10-14 18:12 ` Christoph Lameter
2015-10-14 18:32 ` Steven Rostedt
2015-10-14 18:56 ` Christoph Lameter
2015-10-14 19:17 ` James Bottomley
2015-10-14 19:30 ` Tim Bird [this message]
2015-10-15 2:20 ` Steven Rostedt
2015-10-15 9:05 ` Thomas Gleixner
2015-10-14 20:24 ` Thomas Gleixner
2015-10-15 14:22 ` Christoph Lameter
2015-10-15 15:13 ` Steven Rostedt
2015-10-15 17:21 ` Jan Kara
2015-10-15 18:09 ` Steven Rostedt
2015-10-15 20:21 ` Thomas Gleixner
2015-10-15 20:37 ` Thomas Gleixner
2016-08-05 22:32 ` Darren Hart
2016-08-05 22:40 ` Darren Hart
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=561EAD4D.6080901@sonymobile.com \
--to=tim.bird@sonymobile.com \
--cc=ksummit-discuss@lists.linuxfoundation.org \
/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.