From: "Zhikun Wang" <raidwang@gmail.com>
To: Arjan van de Ven <arjan@infradead.org>,
linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: Re: Calling scsi_done from queuecommand()
Date: Thu, 12 Jan 2006 17:47:36 +0800 [thread overview]
Message-ID: <200601121747284849911@gmail.com> (raw)
In-Reply-To: 1137052740.2936.7.camel@laptopd505.fenrus.org
>On Thu, 2006-01-12 at 11:57 +0800, Zhikun Wang wrote:
> Hi list,
> Can we call scsi_done() to complete the I/O from the queuecommand() ?
>>yes that should be fine *IF THE COMMAND COMPLETED*. (for example that
>>can be done for battery backed ram cards)
> (e.g. to make queuecommand synchronous).
> I try this method in my LsiLogic 22320 SCSI card driver
>>but... that sounds unlikely to be right. That is real scsi, which means
>>you have to wait a REALLY long time (easily 5 miliseconds) before the
>>command completes, and you cannot sleep in queuecommand (it's called
>>from interrupt context). So this sounds really fishy
I intend to use a global variable to make queuecommand synchronously. In the <queuecommand function> i set the global variable to 0.
......
global = 0;
......
while(!global)
barrier();
SCpnt->scsi_done(SCpnt);
......
When the command completes, in the <interrupt routine> i set the global variable to 1.
......
global = 1;
......
this method works for read command, but write command will stop at scsi_done routine and then timeout!
i am very puzzled about this!
> in Redhat9,
>>you do realize you're using a truely antique linux kernel/distribution
>>there, right? I suggest you go to a far more recent (and an actual
>>maintained) distribution
i know Redhat9 is out of time, but i must use this kernel/distribution
in my project!
next prev parent reply other threads:[~2006-01-12 9:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-12 3:57 Calling scsi_done from queuecommand() Zhikun Wang
2006-01-12 7:59 ` Arjan van de Ven
2006-01-12 9:47 ` Zhikun Wang [this message]
[not found] <F331B95B72AFFB4B87467BE1C8E9CF5F18160D@NAMAIL2.ad.lsil.com>
2006-01-13 1:44 ` Zhikun Wang
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=200601121747284849911@gmail.com \
--to=raidwang@gmail.com \
--cc=arjan@infradead.org \
--cc=linux-scsi@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 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.