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 10:00:42 +0100 [thread overview]
Message-ID: <20020121100042.P27835@suse.de> (raw)
In-Reply-To: <20020121090156.O27835@suse.de> <Pine.LNX.4.10.10201210031300.13727-100000@master.linux-ide.org>
In-Reply-To: <Pine.LNX.4.10.10201210031300.13727-100000@master.linux-ide.org>
(have read up on mult now)
On Mon, Jan 21 2002, Andre Hedrick wrote:
> > On Sun, Jan 20 2002, Andre Hedrick wrote:
> > > > 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?
> > >
> > > Change the opcode in the command block to single sector, if
> > > rq->current_nr_sectors != drive->multcount.
> >
> > That crossed my mind too, however that's not what we've been doing in
> > the past and multi mode has worked fine.
>
> And we have not done a lot of things in the past.
> Mind the fact, before you changed max-sectors from 128 to 255 != 256, he
> problems maybe a direct result. Mind the fact, it is my fault for not
> telling you about the issue.
>
> Since 128 and 256 are clearly 2,4,8,16 divisable and clean, as a result we
> kind of masked the problem, but 255 is not at all the same issue.
But, eg, 24 sectors is not and we would still be starting a multi
read/write for that...
> Mind you Mark Lord did get this correct in the copy buffer issue, but the
> bug introduced by 255 is the only problem I can trace to be suspect.
255 is effectively 248 (256 - 8), however that is still not correct when
modulo a 16 multi sector setting.
> > > the hardware to what you are sending down. The question you need to
> > > answer is issuing a request for multi-sector transfers less than what the
> > > device is expecting, sane and correct. If you tell me it is correct,
> > > please show me where I read something wrong in the specification.
> >
> > You are saying that even when I do:
> >
> > /* this is our request */
> > rq->nr_sectors = 48;
> > rq->current_nr_sectors = 8;
> >
> > /* drive->mult_count has been programmed to 16 */
>
> You exectute WIN_MULTREAD and it behaves based on what the device has been
> programmed to do respond.
>
> If you want 8 sectors only, by golly you had better tell it expect 8
> sectors and then you can interrupt upon completion.
>
> If it expects 16 sectors and you stop at 8, and issue a new command,
> expect the device to go south.
This really sucks, it means we cannot safely use multi mode for a
variety of request sizes. I agree with your earlier comment. Here's what
I think we should be doing: when requesting multi mode, limit to 8
sectors like in your patch. This is by far the most commen multiple,
that's why. When starting a request, use WIN_MULT* only for cases where
(rq->nr_sectors % drive->mult_count) == 0. If that doesn't hold, simply
use WIN_READ or WIN_WRITE.
Applied the 2.5.3-pre2 sched SMP fix, booting -pre2 and then hacking up
a patch.
--
Jens Axboe
next prev parent reply other threads:[~2002-01-21 9:01 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
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 [this message]
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=20020121100042.P27835@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 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.