public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: Andre Hedrick <andre@linux-ide.org>
Cc: Linus Torvalds <torvalds@transmeta.com>, linux-kernel@vger.kernel.org
Subject: Re: 2.5.6: ide driver broken in PIO mode
Date: Wed, 13 Mar 2002 21:37:19 +0100	[thread overview]
Message-ID: <20020313203719.GE20220@suse.de> (raw)
In-Reply-To: <a6o30m$25j$1@penguin.transmeta.com> <Pine.LNX.4.10.10203131001230.19703-100000@master.linux-ide.org>
In-Reply-To: <Pine.LNX.4.10.10203131001230.19703-100000@master.linux-ide.org>

On Wed, Mar 13 2002, Andre Hedrick wrote:
> On Wed, 13 Mar 2002, Linus Torvalds wrote:
> 
> > In article <Pine.LNX.4.21.0203131339050.26768-100000@serv>,
> > Roman Zippel  <zippel@linux-m68k.org> wrote:
> > >
> > >I first noticed the problem on my Amiga, but I can reproduce it on an ia32
> > >machine, when I turn off dma with hdparm.
> > 
> > With PIO, the current IDE/bio stuff doesn't like the write-multiple
> > interface and has bad interactions. 
> > 
> > Jens, you talked about a patch from Supparna two weeks ago, any
> > progress?
> 
> Linus,
> 
> Suparna understands the problem and it is a solution I have described,
> and I have been working with her on a solution but I suspect you will not
> take it.  Because it requires an in process operation of traversing
> several BIOS' in order to statisfy the hardware atomic.  Until you figure
> out, you can not have the partial completion update to the granularity of
> a single page or single bio it can not be fixed.  You have to permit the
> hardware to satisfy its needs and have an active in process list it will
> never work.

Again, this is not needed, there are two ways at doing this. One is to
traverse the segments and setup the drive for the full transfer with
write (or read) multi. Drive will expect nr_sectors transfer and do it
xx sectors of the time as programmed by set multi. The other approach is
what I tried last time (but with the early-interrupt fixed), just
program the drive for no more than current_nr_sectors and simply let the
command request nr_sectors / current_nr_sectors times.

The latter approach also satisfies 'the hardware atomic' as you call it.

> So let me know when you want a solution that is correct and proper to the

Still all talk, I'm guessing.

> The fact is a few people understand the problem and the solution.
> By now I think you are just now getting the problem.

No the fact is that you _think_ only a few people understand the
problem.

-- 
Jens Axboe


  parent reply	other threads:[~2002-03-13 20:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-13 13:05 2.5.6: ide driver broken in PIO mode Roman Zippel
2002-03-13 17:41 ` Linus Torvalds
2002-03-13 18:14   ` Andre Hedrick
2002-03-13 20:06     ` Andrew Morton
2002-03-13 22:37       ` Alan Cox
2002-03-14  5:21         ` Andre Hedrick
2002-03-13 20:37     ` Jens Axboe [this message]
2002-03-14  5:56       ` Andre Hedrick
2002-03-13 20:34   ` Jens Axboe
2002-03-13 22:09     ` Martin Dalecki
2002-03-14 16:06     ` Suparna Bhattacharya
2002-03-14 18:42       ` Andrew Morton
2002-03-14 18:50         ` Jens Axboe

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=20020313203719.GE20220@suse.de \
    --to=axboe@suse.de \
    --cc=andre@linux-ide.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