public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.org>
To: Andre Hedrick <andre@linux-ide.org>
Cc: Mark Hahn <hahn@coffee.psychology.mcmaster.ca>,
	alan@lxorguk.ukuu.org.uk, linux-kernel@vger.kernel.org
Subject: Re: [patch]: ide dma timeout retry in pio
Date: Tue, 29 May 2001 00:26:00 +0200	[thread overview]
Message-ID: <20010529002600.B26871@suse.de> (raw)
In-Reply-To: <20010528223733.O9102@suse.de> <Pine.LNX.4.10.10105281501100.366-100000@master.linux-ide.org>
In-Reply-To: <Pine.LNX.4.10.10105281501100.366-100000@master.linux-ide.org>; from andre@linux-ide.org on Mon, May 28, 2001 at 03:15:45PM -0700

On Mon, May 28 2001, Andre Hedrick wrote:
> > > resorting to PIO would be such a shame, not only because it eats
> > > CPU so badly, but also because it has no checksum like UDMA...
> > 
> > Look at the patch -- we resort to pio for _one_ hunk. That's 8 sectors
> > tops, then back to dma. Hardly a big issue.
> 
> Unless we reissue the entire request from scratch you have no idea what if
> anything is on the platters.  Since one can generally only get control
> over the device with a soft reset, you have to assume that anything and
> everything about that request was lost at the device level and begin
> again.

Look at the patch, that's what it does. For ide dma, it's all or
nothing. So if it times out, no part of the request is ended
ide_dma_timeout_retry does the sanity re-setup of the request for good
measure, and it might be needed in the future when ide dma can do
partial requests (2.5, not now). The request _is_ reissued from scratch.

> <RANT>
> This is why it is so important to change to TFAM, because we carry a copy
> of the setup-seek operations with the request, and not unless we error out
> do we change that content.  Thus is a timeout fault not a error case we
> have all the info to re-issue or copy into a retry queue.  But as we all
> know the proper fix can not be even attempted until 2.5...
> </RANT>

This is bull shit. If IDE didn't muck around with the request so much in
the first place, the info could always be trusted. Even so, we have the
hard_* numbers to go by. So this argument does not hold.

> As I recall, there is a way to reinsert the faulted request, but that

Again, look at the patch. The request is never off the list, so there is
never a reason to reinsert. hwgroup->busy is cleared (and, again for
good measure, hwgroup->rq), so ide_do_request/start_request will get the
same request that we just handled.

> means the request_struct needs fault counter.  If it is truly a DMA error

->errors, it's already there.

> because of re-seeks then the timeout value for that request must be
> expanded.

Yep

-- 
Jens Axboe


  reply	other threads:[~2001-05-28 22:26 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-28 18:34 [patch]: ide dma timeout retry in pio Jens Axboe
2001-05-28 19:39 ` Mark Hahn
2001-05-28 20:13   ` Christopher B. Liebman
2001-05-28 20:37   ` Jens Axboe
2001-05-28 22:15     ` Andre Hedrick
2001-05-28 22:26       ` Jens Axboe [this message]
2001-05-29  0:09         ` Andre Hedrick
2001-05-29  0:30           ` Jens Axboe
2001-05-28 21:12   ` Alan Cox
2001-05-28 22:11     ` James Turinsky
2001-05-29  6:18     ` Larry McVoy
2001-05-28 22:20       ` Alan Cox
2001-05-28 22:56       ` Meelis Roos
2001-05-29  7:11         ` Larry McVoy
  -- strict thread matches above, loose matches on Subject: below --
2001-05-30 21:09 Diefenbaugh, Paul S

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=20010529002600.B26871@suse.de \
    --to=axboe@kernel.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andre@linux-ide.org \
    --cc=hahn@coffee.psychology.mcmaster.ca \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox