All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>, linux-ide@vger.kernel.org
Subject: Re: ide: Requeue request after DMA timeout
Date: Thu, 01 Apr 2010 17:26:37 +0900	[thread overview]
Message-ID: <4BB458BD.20700@kernel.org> (raw)
In-Reply-To: <20100401075454.GA22417@gondor.apana.org.au>

Hello,

On 04/01/2010 04:54 PM, Herbert Xu wrote:
> On Thu, Apr 01, 2010 at 03:37:47PM +0900, Tejun Heo wrote:
>>
>> It was the asymmetry between the two paths that bothered me and made
>> me think there should be something else wrong.  So, the problem is
>> ide_dma_timeout_retry(), which is used only by ide_timer_expiry(),
>> clearing hwif->rq, right?  Then, wouldn't not clearing hwif->rq in
>> ide_dma_timeout_retry() a better solution?
> 
> I don't think that works.  We want to requeue regardless of whether
> we return ide_stopped.  If you don't clear hwif->rq and rely on the
> parent to do it then it'll only requeue when we return ide_stopped.

Yeap, which applies the same to the other failure path too.  I think
back then I repeated the same mistake I did in this thread -
ie. thinking ide_stopped indicates the state of the request.  It seems
the error path needs audit and more comprehensive fix unless I'm
mistaken yet again, which definitely is a possbility.  :-)

If you're interested in fixing the request requeueing in error path
properly, please go ahead.  If not, I'll give it a shot this in a few
days.

David, in the meantime, although I'm not quite sure the fix is
comprehensive yet, the patches definitely fix some of the issues.  So,
I have no objection to applying them.

Thanks for your patience.

-- 
tejun

  reply	other threads:[~2010-04-01  8:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-31  6:17 ide: Requeue request after DMA timeout Herbert Xu
2010-03-31  6:20 ` ide: Must hold queue lock when requeueing Herbert Xu
2010-04-01  3:06   ` Tejun Heo
2010-04-01  6:11     ` v2: ide: Requeue request after DMA timeout Herbert Xu
2010-04-01  6:13       ` v2: ide: Must hold queue lock when requeueing Herbert Xu
2010-04-01  8:31         ` David Miller
2010-04-01  8:31       ` v2: ide: Requeue request after DMA timeout David Miller
2010-04-01  2:34 ` David Miller
2010-04-01  3:05   ` Tejun Heo
2010-04-01  3:04 ` Tejun Heo
2010-04-01  4:32   ` Herbert Xu
2010-04-01  4:56     ` Tejun Heo
2010-04-01  5:54       ` Herbert Xu
2010-04-01  6:25         ` Tejun Heo
2010-04-01  6:32           ` Herbert Xu
2010-04-01  6:37             ` Tejun Heo
2010-04-01  7:54               ` Herbert Xu
2010-04-01  8:26                 ` Tejun Heo [this message]
2010-04-01  8:27                   ` David Miller

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=4BB458BD.20700@kernel.org \
    --to=tj@kernel.org \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-ide@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.