public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bill Huey (hui) <bhuey@lnxw.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Bill Huey <bhuey@lnxw.com>, Esben Nielsen <simlo@phys.au.dk>,
	linux-kernel@vger.kernel.org
Subject: Re: Priority Inheritance Test (Real-Time Preemption)
Date: Mon, 22 Nov 2004 13:25:54 -0800	[thread overview]
Message-ID: <20041122212554.GA9058@nietzsche.lynx.com> (raw)
In-Reply-To: <20041122123741.GA13574@elte.hu>

On Mon, Nov 22, 2004 at 01:37:41PM +0100, Ingo Molnar wrote:
> in the -RT patchset one of the reasons why i've gone for the completely
> preemptible variant is to trigger all priority inversion problems
> outright. In the first variant they didnt really trigger - but they were
> present. Once the locks were almost all preemptible, PI problems
> surfaced in a big way - causing people to report them and forcing me to
> fix them :-)
> 
> There are lots of critical sections in Linux and we cannot design around
> them - so if the goal is hard-RT properties and latencies then priority
> inversion is a problem that has to be solved. Later on we could easily
> revert some of the hw-related spinlocks to raw spinlocks, and/or the
> known-O(1) critical sections as well.

Good. Yeah, the only piont I was making is not to cover up contention
problems, which are kernel performance problems with PI. That's all.
 
> the paper cited is not very persuasive to me though. It lists problems
> of an incomplete/incorrect PI implementation, and comes to the IMO false
> (and unrelated) conclusion that somehow PI-handling is not desired.

Yeah, I agree. PI has it's place, but the main point of the paper is
that getting a really good PI protocol is a very difficult thing and
might not be worth it if you can use other techniques. What you do with
that assertion is situational.

A number of those complaints, as I see it, don't apply to Linux because
of how it's avoided things like deadlocking, fine grainedness, etc... are
done. But he does, IMO, outline the difficulty of getting a decent PI
implementation.

> Obviously PI makes only sense if it's implemented correctly. I think i
> managed to fix the problems Esben's testsuite uncovered, in the current
> -RT patch. Anyway, this implementation is also special in that it relies
> on correct SMP locking of Linux:

I'll check it out.

> i dont have any intentions to turn Linux into a 'priority inheritance
> world'. PI handling is only a property of the PREEMPT_RT feature
> intended for the most latency-sensitive applications - the main and
> primary critical-section model of Linux is and should still be a healthy
> mix of spinlocks and mutexes. Having only mutexes (or only spinlocks) is
> an extreme that _does_ hurt the common case. PREEMPT_RT 'only' lives on
> the back of SMP-Linux.

Yeah, that's my point. The reason why/if/when Linux will be strong at RT
is because of the SMP work.

bill


  reply	other threads:[~2004-11-22 21:30 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-21 20:29 Priority Inheritance Test (Real-Time Preemption) Esben Nielsen
2004-11-22  0:27 ` Ingo Molnar
2004-11-23 13:34   ` Ingo Molnar
2004-11-23 15:47     ` Esben Nielsen
2004-11-23 23:03     ` Esben Nielsen
2004-11-24  3:42       ` Ingo Molnar
2004-11-24  7:51         ` Ingo Molnar
2004-11-24  8:07       ` Ingo Molnar
2004-11-24  8:33         ` Esben Nielsen
2004-11-24  9:55           ` Ingo Molnar
2004-11-24 10:18       ` Ingo Molnar
2004-11-25 15:46         ` Esben Nielsen
2004-11-25 16:58           ` Ingo Molnar
2004-11-25 16:08             ` Esben Nielsen
2004-11-25 17:14               ` Ingo Molnar
2004-11-25 22:08             ` Esben Nielsen
2004-11-26  1:08               ` Ingo Molnar
2004-11-26  0:34                 ` Ingo Molnar
2004-11-26  0:37                   ` Ingo Molnar
2004-11-26  8:52                     ` Esben Nielsen
2004-11-26 16:26                 ` Esben Nielsen
2004-11-26 20:41                   ` Ingo Molnar
2004-11-26 21:05                     ` Ingo Molnar
2004-11-27 23:05                       ` Esben Nielsen
2004-11-28  8:42                         ` Ingo Molnar
2004-11-28 15:55                           ` Esben Nielsen
2004-11-29  9:59                             ` Ingo Molnar
2004-11-29 15:07                               ` Esben Nielsen
2004-11-29 15:56                                 ` Ingo Molnar
2004-11-29 15:57                                   ` Ingo Molnar
2004-11-29 16:50                                     ` Esben Nielsen
2004-11-30  8:49                                       ` Ingo Molnar
2004-11-22  9:23 ` Bill Huey
2004-11-22 12:37   ` Ingo Molnar
2004-11-22 21:25     ` Bill Huey [this message]
2004-11-22 14:16   ` john cooper
2004-11-22 15:24     ` Ingo Molnar
2004-11-23  1:19       ` john cooper
2004-11-23  8:13         ` Esben Nielsen
2004-11-23  9:21         ` Ingo Molnar
2004-11-22 21:30     ` Bill Huey
2004-11-23  1:34       ` john cooper
2004-11-22 16:12   ` Esben Nielsen

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=20041122212554.GA9058@nietzsche.lynx.com \
    --to=bhuey@lnxw.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=simlo@phys.au.dk \
    /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