All of lore.kernel.org
 help / color / mirror / Atom feed
From: Douglas Gilbert <dougg@torque.net>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Mark Haverkamp <markh@osdl.org>,
	Christoffer Hall-Frederiksen <hall@jiffies.dk>,
	linux-scsi@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux aacraid devel <linux-aacraid-devel@dell.com>
Subject: Re: Problem with aacraid driver in 2.5.63-bk-latest
Date: Thu, 13 Mar 2003 09:55:02 +1000	[thread overview]
Message-ID: <3E6FC8D6.7090005@torque.net> (raw)
In-Reply-To: 1047514681.23725.35.camel@irongate.swansea.linux.org.uk

Alan Cox wrote:
> On Wed, 2003-03-12 at 23:06, Mark Haverkamp wrote:
> 
>>During probe, scsi_alloc_sdev is called.  It calls
>>scsi_adjust_queue_depth with the cmd_per_lun value. 
>>scsi_adjust_queue_depth returns without doing anything if the tags value
>>is greater than 256.  This leaves the Scsi_Device queue_depth at zero. 
>>Later when an I/O is queued, scsi_request_fn checks for device_busy >=
>>queue_depth.  If so, the function does a break and exits.  This is where
>>it hangs.
>>
>>To get things to load I set cmd_per_lun to 256.  I don't know if the is
>>the correct way to deal with the problem.  Maybe someone else can say
>>something about that.
> 
> 
> If the SCSI layer is trying to be clever by ignoring the requested 512
> then thats the actual problem. 512 is the right value because its not
> really a disk you are talking to on the main channel. So the scsi layer
> ought to honour it.

Here is the relevant code snippet in scsi.c around line
930:


void scsi_adjust_queue_depth(Scsi_Device *SDpnt, int tagged, int tags)
{
         static spinlock_t device_request_lock = SPIN_LOCK_UNLOCKED;
         unsigned long flags;

         /*
          * refuse to set tagged depth to an unworkable size
          */
         if(tags <= 0)
                 return;
         /*
          * Limit max queue depth on a single lun to 256 for now.  Remember,
          * we allocate a struct scsi_command for each of these and keep it
          * around forever.  Too deep of a depth just wastes memory.
          */
         if(tags > 256)
                 return;
....

[pardon the wrap]
Now scsi_device::queue_depth is an unsigned short so that
is not a problem. Also the comment prior to the
"if (tags > 256)" is no longer correct (I think). So
perhaps it can be changed to "if (tags > 65535) ..."

Doug Gilbert


  reply	other threads:[~2003-03-12 23:55 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-28 13:30 Problem with aacraid driver in 2.5.63-bk-latest Christoffer Hall-Frederiksen
2003-03-12 23:06 ` Mark Haverkamp
2003-03-13  0:18   ` Alan Cox
2003-03-12 23:55     ` Douglas Gilbert [this message]
2003-03-13  1:06       ` Alan Cox
2003-03-13  0:50         ` Mike Anderson
2003-03-13 23:13           ` Mark Haverkamp
2003-03-14  7:05           ` Denis Vlasenko
2003-03-14 10:18             ` Mike Anderson
2003-03-13  1:31         ` Douglas Gilbert
2003-03-13 23:27           ` Doug Ledford
2003-03-13 15:42         ` Mark Haverkamp
2003-03-13 23:17           ` Doug Ledford
2003-03-13 23:22             ` Mark Haverkamp
2003-03-13 23:25               ` Doug Ledford
2003-03-14 14:57                 ` Alan Cox
2003-03-14 15:34                   ` Mark Haverkamp
2003-03-14 16:48                     ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2003-03-03 10:05 Christoffer Hall-Frederiksen
2003-03-03 13:40 ` Alan Cox
2003-03-03 14:46   ` Christoffer Hall-Frederiksen

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=3E6FC8D6.7090005@torque.net \
    --to=dougg@torque.net \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=hall@jiffies.dk \
    --cc=linux-aacraid-devel@dell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=markh@osdl.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.