public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Chris Friesen <cfriesen@nortel.com>
To: linux-os@analogic.com
Cc: Horst von Brand <vonbrand@inf.utfsm.cl>,
	Anthony DiSante <theant@nodivisions.com>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: uninterruptible sleep lockups
Date: Tue, 22 Feb 2005 18:25:18 -0600	[thread overview]
Message-ID: <421BCD6E.3080105@nortel.com> (raw)
In-Reply-To: <Pine.LNX.4.61.0502221835190.5814@chaos.analogic.com>

linux-os wrote:

Before I get into the reply, I just want to make it clear that I'm not 
arguing that we *should* do any of this, just that it is not technically 
impossible.  It's a thought experiment, not a design suggestion.

> All wonderful. However, it dosn't fix the problem. You are,
> again, assuming that the problem is the symptom! The problem
> is that some piece of code is not handling an exception
> properly. It is waiting forever for something that will
> never happen. It's that CODE that needs to be fixed.

Absolutely. I'm just theorizing that it is possible to devise a system 
that would be able to deal with such a situation, analogous to the way 
the kernel can deal with bugs in userspace processes (segfaults, traps, 
etc.).

> "Cleaning" up the immediate symptoms doesn't let
> the next thread that acquires the "cleaned up" lock
> use the hardware because it has jammed code between
> that thread and the hardware.

If the system is designed such that all resources are tracked, then you 
could clean them up when the "hung" entity is killed (the way we do it 
for userspace resources).  In this case there is no more jammed code. 
The next guy to aquire the mutex knows the hardware is in an 
undetermined state, and is responsable for reinitializing it to a known 
state.  This would be horribly complicated, but I don't think it would 
be impossible.

> The bad code needs to be fixed. If the bad code is
> fixed, you will __never__ have a process stuck
> in 'D' state unless you run for the 1000 years
> that could statistically result in a bit in
> the semaphore getting flipped.

I don't disagree with you on this.  I think that fixing the bad code is 
absolutely the way to go.  I'm  simply indulging in a thought experiment 
as to whether or not it is theoretically possible to create a system 
that would be able to clean up after this sort of thing once it has 
happened.

Chris


  reply	other threads:[~2005-02-23  0:25 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-21 19:18 uninterruptible sleep lockups Anthony DiSante
2005-02-21 19:45 ` Valdis.Kletnieks
2005-02-21 20:24   ` Anthony DiSante
2005-02-21 20:54     ` Valdis.Kletnieks
2005-02-21 22:18       ` Anthony DiSante
2005-02-21 22:43         ` Chris Friesen
2005-02-22  0:06           ` Anthony DiSante
2005-02-22  0:36             ` Valdis.Kletnieks
2005-02-21 22:44       ` Anthony DiSante
2005-02-21 23:11         ` Nish Aravamudan
     [not found]     ` <421B12DB.70603@aitel.hist.no>
2005-02-22 11:16       ` Anthony DiSante
2005-02-22 12:26         ` Denis Vlasenko
2005-02-22 12:35           ` Anthony DiSante
2005-02-22 13:47         ` linux-os
2005-02-22 20:03           ` Anthony DiSante
2005-02-22 20:16             ` Chris Friesen
2005-02-22 20:29               ` Anthony DiSante
2005-02-22 20:24             ` Horst von Brand
2005-02-22 20:56               ` Chris Friesen
2005-02-22 21:40                 ` linux-os
2005-02-22 23:17                   ` Chris Friesen
2005-02-22 23:42                     ` linux-os
2005-02-23  0:25                       ` Chris Friesen [this message]
2005-02-23  1:05                 ` Horst von Brand
2005-02-23 10:04                   ` Bernd Petrovitsch
2005-02-22 21:31 ` Olaf Titz
2005-02-23 16:34   ` Nish Aravamudan
     [not found] <fa.duv6ag6.p5mth0@ifi.uio.no>
     [not found] ` <fa.irk349q.1c3si2o@ifi.uio.no>
2005-02-23  0:59   ` Bodo Eggert
2005-02-23 13:50     ` linux-os
2005-02-24  2:05       ` Bodo Eggert
  -- strict thread matches above, loose matches on Subject: below --
2005-02-23 16:55 Parag Warudkar

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=421BCD6E.3080105@nortel.com \
    --to=cfriesen@nortel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-os@analogic.com \
    --cc=theant@nodivisions.com \
    --cc=vonbrand@inf.utfsm.cl \
    /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