All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Jens Axboe <axboe@suse.de>,
	Linux Kernel list <linux-kernel@vger.kernel.org>,
	list linux-ide <linux-ide@vger.kernel.org>
Subject: Re: IDE issues with  "choose_drive"
Date: Sat, 08 Oct 2005 11:15:03 +1000	[thread overview]
Message-ID: <1128734104.17365.73.camel@gaston> (raw)
In-Reply-To: <1128560569.22073.25.camel@gaston>

On Thu, 2005-10-06 at 11:02 +1000, Benjamin Herrenschmidt wrote:
> > The first one is the one I'm trying to fix, it's basically a hang on
> > wakeup from sleep. What happens is that both drives are blocked
> > (suspended, drive->blocked is set). Their IO queues contains some
> > requests that haven't been serviced yet. We receive the resume()
> > callback for one of them. We react by inserting a wakeup request at the
> > head of the queue and waiting for it to complete. However, when we reach
> > ide_do_request(), choose_drive() may return the other drive (the one
> > that is still sleeping). In this case, we hit the test for blocked queue
> > and just break out of the loop. We end up never servicing the other
> > drive queue which is the one we are trying to wakeup, thus we hang.
> 
> Oh, and here's the ugly workaround beeing tested by the users who are
> having the problem so far. Not really a proper fix though...

No reply ... it's a bit urgent as it may bite any system trying to
suspend with a slave IDE disk at least (not including the other possible
problems I've spotted  with this code).

I'm tempted to just send my workaround patch to Linus & Andrew (might
still make it into 2.6.14). That would at least fix the bug with resume
from sleep. What do you think ?

Ben.



  reply	other threads:[~2005-10-08  1:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-06  0:36 IDE issues with "choose_drive" Benjamin Herrenschmidt
2005-10-06  1:02 ` Benjamin Herrenschmidt
2005-10-08  1:15   ` Benjamin Herrenschmidt [this message]
2005-10-08  8:29     ` Bartlomiej Zolnierkiewicz
2005-10-08 22:18       ` Benjamin Herrenschmidt

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=1128734104.17365.73.camel@gaston \
    --to=benh@kernel.crashing.org \
    --cc=B.Zolnierkiewicz@elka.pw.edu.pl \
    --cc=axboe@suse.de \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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.