linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "John Yau" <jyau_kernel_dev@hotmail.com>
To: "Nick Piggin" <piggin@cyberone.com.au>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: Priority Inversion in Scheduling
Date: Wed, 10 Sep 2003 01:41:33 -0400	[thread overview]
Message-ID: <OE41az7EjQxzmWecm9t0003cc0d@hotmail.com> (raw)
In-Reply-To: 3F5E8CF7.5020603@cyberone.com.au

>
> Well I haven't read the paper, but I'm guessing this is semaphore
> priority inheritance.
>

Yip...it outlines the basic idea of the priority inheritance where semphores
are the locking mechanism.  However, though it buys you better prioritized
scheduling in certain situation, things can get rather hairy when you have
lots of semaphores nested inside each other.  If you have a cyclic
dependency somewhere in those nested semaphores, you're headed for deadlock
or worse livelock.  The Mars Rover had a classic case of priority inversion
in it's software that was later solved through this approach via an update
after it landed on Mars a while back.

>
> I _think_ communication with X will mostly be done with waitqueues.
> Someone has a priority inheritance futex patch around. I'm not sure
> that it is such an open and shut case as you think though. Even if you
> could use futexes in communication with X.
>

It's not an open and shut case...actually it'd be quite an undertaking I
suspect.  Because a poorly designed and/or poorly implemented scheme can
easily lead to deadlocks and what not, any implementation would need massive
peer review.

  reply	other threads:[~2003-09-10  5:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-10  2:20 John Yau
2003-09-10  2:31 ` Nick Piggin
2003-09-10  5:41   ` John Yau [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-09-09 19:57 Priority Inversion in Scheduling John Yau
2003-09-10  0:23 ` Nick Piggin
2003-09-10  4:42   ` Mike Galbraith
2003-09-10  5:35     ` Mike Fedyk
2003-09-10  6:22       ` Mike Galbraith
2003-09-10  9:28         ` Nick Piggin
2003-09-10 10:47           ` Mike Galbraith

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=OE41az7EjQxzmWecm9t0003cc0d@hotmail.com \
    --to=jyau_kernel_dev@hotmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=piggin@cyberone.com.au \
    /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;
as well as URLs for NNTP newsgroup(s).