public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: Andre Hedrick <andre@linuxdiskcert.org>
Cc: Davide Libenzi <davidel@xmailserver.org>,
	Anton Altaparmakov <aia21@cam.ac.uk>,
	Linus Torvalds <torvalds@transmeta.com>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: Linux 2.5.3-pre1-aia1
Date: Mon, 21 Jan 2002 08:36:53 +0100	[thread overview]
Message-ID: <20020121083653.N27835@suse.de> (raw)
In-Reply-To: <20020120114850.J27835@suse.de> <Pine.LNX.4.10.10201201717570.12376-100000@master.linux-ide.org>
In-Reply-To: <Pine.LNX.4.10.10201201717570.12376-100000@master.linux-ide.org>

On Sun, Jan 20 2002, Andre Hedrick wrote:
> > Even if the drive is programmed for 16 sectors in multi mode, it still
> > must honor lower transfer sizes. The fix I did was not to limit this,
> > but rather to only setup transfers for the amount of sectors in the
> > first chunk. This is indeed necessary now that we do not have a copy of
> > the request to fool around with.
> > 
> > > Basically as the Block maintainer, you pointed out I am restricted to 4k
> > > chunking in PIO.  You decided, in the interest of the block glue layer
> > > into the driver, to force early end request per Linus's requirements to
> > > return back every 4k completed to block regardless of the size of the
> > > total data requested.
> > 
> > Correct. The solution I did (which was one of the two I suggested) is
> > still the cleanest, IMHO.
> > 
> > > For the above two condition to be properly satisfied, I have to adjust
> > > and apply one driver policy make the driver behave and give the desired
> > > results.  We should note this will conform with future IDEMA proposals
> > > being submitted to the T committees.
> > 
> > I still don't see a description of why this would cause a lost
> > interrupt. What is the flaw in my theory and/or code?
> 
> We issue a setmultimode command and the driver defaults to maximum or 16
> sectors in most cases.  This means the drive is expecting 16 sectors, and

Correct so far.

> your design is to issue only 8 sectors or less.  The issuing of 8 sectors
> or less in the sector_count, while the device is expecting 16 is a setup
> for problems.

No it's not. By your standards, that would mean that if the device is
setup for 16 sector multi mode, then I could never ever issue requests
less than that (without doing some crap 'toss away extra data' stuff).
How else would you handle, eg, 2 sector requests with multi mode set?

> The effective operations your changes have created without addressing all
> the variables is to terminate the command in process.  Therefore, the
> decision made by you was to restrict the transfers to be process to the
> count in rq->current_nr_sectors.  There is no bounds checking based on the
> command executed.

I'm not stopping a request in progress. I told the drive that the
request is current_nr_sectors big, so once it finishes transferring
current_nr_sectors sectors it truly thinks it's really done with that
request. And it is. However, I'm leaving the request on the queue (or,
really, ide_end_request is not taking it off because
end_that_request_first is not indicating it's complete). So I'm simply
starting from scratch with the remaining data. See?

> *****************************
> The questions to ask "How would the host terminate a command in progress, 
> since BSY=1 (or DRQ=1) at this point?   Is that done via a DEVICE_RESET or
> SRST write?"

[snip]

Moot, there's no premature termination going on.

-- 
Jens Axboe


  reply	other threads:[~2002-01-21  7:37 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-18  2:27 Linux 2.5.3-pre1-aia1 Anton Altaparmakov
2002-01-18 17:32 ` Davide Libenzi
2002-01-18 19:05   ` Jens Axboe
2002-01-18 19:23     ` Davide Libenzi
2002-01-18 19:28       ` Andre Hedrick
2002-01-18 19:48         ` Davide Libenzi
2002-01-18 19:40           ` Andre Hedrick
2002-01-18 19:44           ` Andre Hedrick
2002-01-19 11:40           ` Jens Axboe
2002-01-19 11:37             ` Andre Hedrick
2002-01-19 15:45               ` Jens Axboe
2002-01-19 20:36                 ` Andre Hedrick
2002-01-19 21:44                   ` Davide Libenzi
2002-01-20  0:31                     ` Andre Hedrick
2002-01-20  2:02                       ` Davide Libenzi
2002-01-20 10:48                   ` Jens Axboe
2002-01-20 18:55                     ` Davide Libenzi
2002-01-21  0:12                       ` Andre Hedrick
2002-01-21 10:43                         ` Vojtech Pavlik
2002-01-21 10:48                           ` Jens Axboe
2002-01-21 10:56                             ` Jens Axboe
2002-01-21 17:44                               ` Davide Libenzi
2002-01-21 11:14                             ` Vojtech Pavlik
2002-01-21 11:29                               ` Jens Axboe
2002-01-21 11:38                                 ` Vojtech Pavlik
2002-01-21 11:51                                   ` Andre Hedrick
2002-01-21 11:34                               ` Andre Hedrick
2002-01-21 17:44                                 ` Jens Axboe
2002-01-21 20:18                                   ` Andre Hedrick
2002-01-21 22:57                                     ` Vojtech Pavlik
2002-01-21 23:53                                       ` Andre Hedrick
2002-01-22  7:20                                         ` Vojtech Pavlik
2002-01-22  7:52                                           ` Andre Hedrick
2002-01-22  8:16                                             ` Jens Axboe
2002-01-22  9:45                                               ` Andre Hedrick
2002-01-22 10:06                                                 ` Jens Axboe
2002-01-22 23:18                                                   ` END GAME (Re: Linux 2.5.3-pre1-aia1) Andre Hedrick
2002-01-23  8:55                                                     ` Jens Axboe
2002-01-23 20:57                                                       ` Andre Hedrick
2002-01-22 10:26                                                 ` Linux 2.5.3-pre1-aia1 Anton Altaparmakov
2002-01-22 16:49                                           ` Linus Torvalds
2002-01-22 18:45                                             ` Andre Hedrick
2002-01-21 21:44                                   ` Andre Hedrick
2002-01-22  7:32                                     ` Jens Axboe
2002-01-21 11:22                           ` Andre Hedrick
2002-01-21 11:32                             ` Vojtech Pavlik
2002-01-21 11:34                               ` Jens Axboe
2002-01-21  1:48                     ` Andre Hedrick
2002-01-21  7:36                       ` Jens Axboe [this message]
2002-01-21  7:46                         ` Andre Hedrick
2002-01-21  8:01                           ` Jens Axboe
2002-01-21  8:42                             ` Andre Hedrick
2002-01-21  9:00                               ` Jens Axboe
2002-01-21  8:59                                 ` Andre Hedrick
2002-01-21  9:07                                   ` Jens Axboe
2002-01-21  9:48                                     ` Andre Hedrick
2002-01-18 19:26   ` Andre Hedrick
  -- strict thread matches above, loose matches on Subject: below --
2002-01-21  4:40 Andre Hedrick
2002-01-21  4:40 Andre Hedrick
2002-01-21  6:19 ` Matti Aarnio
2002-01-21 22:45 Petr Vandrovec
2002-01-21 23:27 ` Andre Hedrick
2002-01-22  7:58   ` Jens Axboe
2002-01-22  8:52     ` Andre Hedrick
2002-01-22 14:17 ` Denis Vlasenko

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=20020121083653.N27835@suse.de \
    --to=axboe@suse.de \
    --cc=aia21@cam.ac.uk \
    --cc=andre@linuxdiskcert.org \
    --cc=davidel@xmailserver.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /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