From: Jens Axboe <axboe@suse.de>
To: martin@dalecki.de
Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>, linux-kernel@vger.kernel.org
Subject: Re: IDE from current bk tree, UDMA and two channels...
Date: Thu, 1 Aug 2002 11:56:09 +0200 [thread overview]
Message-ID: <20020801095609.GE1096@suse.de> (raw)
In-Reply-To: <3D48420F.5050407@evision.ag>
On Wed, Jul 31 2002, Marcin Dalecki wrote:
> >Unfortunately, problem is still here: when kernel was in idedisk_do_request
> >performed on channel 0, IRQ for channel 1 arrived, and this irq found
> >channel 1 DMA engine ready, but drive had DRQ set... oops. Shortly after
> >that IRQ for channel 1 arrived again, but as it was unexpected, nothing
> >happened.
> >
> >I hope that i845 is not simplex device, but first (unexpected) IRQ arrived
> >just when channel 0 code wrote new value to its IDE_SELECT_REG register.
> >Now I even disconnected DVD drive, so it is simple two masters, two
> >channels configuration, but it still happens.
>
> One idea and one experiment I was already thinking about is
> to change do_ide_request to actually *not* select delibreately which
> device do handle. (The big for loop found there...)
> One can instead search for a device on the channel which is matching
> the queue for which do_ide_request() was called.
>
> for (unit = 0; unit < MAX_DEVICES; ++unit) {
> ....
> if (tmp->queue == q) {
> drive = tmp;
> break;
> }
> }
> if (!drive)
> BUG();
hey that sucks :-)
seriously, the better way to do this would be to change the q->queuedata
to be a pointer to drive instead of the channel.
that would work, but I think it would seriously starve the other device
on the same channel.
--
Jens Axboe
next prev parent reply other threads:[~2002-08-01 9:53 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-30 19:26 IDE from current bk tree, UDMA and two channels Petr Vandrovec
2002-07-31 20:01 ` Marcin Dalecki
2002-08-01 9:56 ` Jens Axboe [this message]
2002-08-01 9:56 ` Marcin Dalecki
2002-08-01 10:05 ` Jens Axboe
2002-08-01 10:33 ` Marcin Dalecki
2002-08-01 10:45 ` Jens Axboe
-- strict thread matches above, loose matches on Subject: below --
2002-08-01 23:13 Petr Vandrovec
2002-08-02 13:07 ` Alan Cox
2002-08-01 23:00 Petr Vandrovec
2002-08-01 23:05 ` Alexander Viro
2002-08-01 22:53 Petr Vandrovec
2002-08-01 23:02 ` Alexander Viro
2002-08-01 23:54 ` Linus Torvalds
[not found] <200208012219.g71MJV109133@penguin.transmeta.com>
2002-08-01 22:45 ` Alexander Viro
2002-08-02 9:10 ` Marcin Dalecki
2002-08-01 22:42 Petr Vandrovec
2002-08-01 22:52 ` Alexander Viro
2002-08-02 9:11 ` Marcin Dalecki
2002-08-01 22:34 Petr Vandrovec
2002-08-01 17:07 Petr Vandrovec
2002-08-01 22:00 ` Petr Vandrovec
2002-08-01 22:13 ` Marcin Dalecki
2002-08-01 22:39 ` Alexander Viro
2002-07-30 18:19 Petr Vandrovec
2002-07-31 19:48 ` Marcin Dalecki
2002-07-30 16:15 Petr Vandrovec
2002-07-30 14:03 Petr Vandrovec
2002-07-30 14:25 ` Marcin Dalecki
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=20020801095609.GE1096@suse.de \
--to=axboe@suse.de \
--cc=VANDROVE@vc.cvut.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=martin@dalecki.de \
/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.