From: David Miller <davem@davemloft.net>
To: bzolnier@gmail.com
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 4/6] ide: allow ide_dev_read_id() to be called from the IRQ context
Date: Wed, 24 Jun 2009 02:55:18 -0700 (PDT) [thread overview]
Message-ID: <20090624.025518.75726622.davem@davemloft.net> (raw)
In-Reply-To: <200906241151.16506.bzolnier@gmail.com>
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: Wed, 24 Jun 2009 11:51:16 +0200
> You've put less than 2h (because that was the time since my post till your
> reply) into analysis of the bug, the related problems and the solution.
>
> It could be that if you had put a bit more time into it and/or asked detailed
> technical questions related to the solution (i.e. "Why x needs to be there
> and we can't do y?") instead of keeping the technical discussion on the very
> vague level (which sounded like "can't we use block layer to process block
> requests because drive commands are block requests and raw commands are drive
> commands so we should use block layer") you would come to very different
> conclusions than you did initially.
I'm investigating alternative ways to this problem, less because
of the time I put into the investigation, but moreso because I'm
able to put fresh eyes onto the problem.
And also I don't know the IDE code as well as you do, which is
an advantage insofar as not falling into "oh I know how this
stuff works, therefore we can't..." kinds of mental traps.
Back to the technical side, ignoring the interrupt-or-not uglies,
there are two other reasons why using synchronization is better
here:
1) You want the device to be quiescent anyways when you do this
SET_XFER command. What better way than to plug the queue
and make sure all currently outstanding requests complete?
And as already discussed, we even already have logic to support
this kind of thing for the sake of power-management.
2) All commands going into the device do so from a context from
which we could take a sleeping lock such as a mutex. It's
therefore the most natural way to synchonize things.
I know you're busy, so I'll try to draft something up myself.
Thanks.
next prev parent reply other threads:[~2009-06-24 9:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-23 21:29 [patch 4/6] ide: allow ide_dev_read_id() to be called from the IRQ context Bartlomiej Zolnierkiewicz
2009-06-23 23:22 ` David Miller
2009-06-24 1:36 ` Bartlomiej Zolnierkiewicz
2009-06-24 4:35 ` David Miller
2009-06-24 9:51 ` Bartlomiej Zolnierkiewicz
2009-06-24 9:55 ` David Miller [this message]
2009-06-24 10:48 ` Bartlomiej Zolnierkiewicz
2009-06-24 11:04 ` Bartlomiej Zolnierkiewicz
2009-06-24 13:05 ` Bartlomiej Zolnierkiewicz
2009-06-24 19:30 ` Jeff Garzik
2009-06-24 19:55 ` Bartlomiej Zolnierkiewicz
2009-07-01 16:35 ` Bartlomiej Zolnierkiewicz
2009-07-01 20:47 ` David Miller
2009-08-07 11:55 ` Bartlomiej Zolnierkiewicz
2009-08-07 16:01 ` David Miller
2009-08-07 17:27 ` Bartlomiej Zolnierkiewicz
2009-08-07 17:36 ` David Miller
2009-08-07 17:46 ` Bartlomiej Zolnierkiewicz
2009-08-07 18:09 ` David Miller
2009-08-07 18:35 ` Bartlomiej Zolnierkiewicz
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=20090624.025518.75726622.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).