Linux SCSI subsystem development
 help / color / mirror / Atom feed
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!




  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox