lkml.org 
[lkml]   [1996]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: more on AHA-2940UW vs. MSDOS file system

Leonard,

On Thu, 19 Sep 1996, Leonard N. Zubkoff wrote:

> From: Harold A Czegledi <hac@Thinkage.On.CA>
> Date: Thu, 19 Sep 1996 14:46:45 -0400 (EDT)
>
> I recognize that, however, what I should have mentioned in my last
> mail message is that the disk was returning SCSI command completions while
> still holding on the SCSI command and considering it to occupy a queued
> command slot. As a result, the number of tagged commands the SCSI driver
> thought it had outstanding did not agree with what the device had. I
> certainly had not expected this behaviour.
>
> That certainly dounds like broen behavior on the disk's part then. A QUEUE FULL
> message means that the drive should not have placed it in its queue. To qoute
> the SCSI-2 spec:
>
> 7.3.9 QUEUE FULL: This status shall be implemented if tagged queuing is
> implemented. This status is returned when a SIMPLE QUEUE TAG, ORDERED
> QUEUE TAG, or HEAD OF QUEUE TAG message is received and the command queue
> is full. The I/O process is not placed in the command queue.

7.3.9 does not allow scsi devices to return QUEUE FULL with 1 command
queued (even it is tagged) as reported in a previous mail, unless
it allows a device to announce tagged command queueing support with a
command queue depth of ZERO, but 6.8.2 does:

Tagged queuing may also be temporarily disabled internal to the
SCSI device during certain initialization periods or to control
internal resource utilization. During these periods the target may
elect to return QUEUE FULL status or it may respond to any queue tag
message with a MESSAGE REJECT.

In my opinion, the damned firmware implementors who decide to return QUEUE
FULL with ONE tagged command queued did not care about adapter and
drivers problems.

A proper handling of QUEUE FULL must not reorder commands queued to the
scsi device. For example, if the controller firmware manage an internal
queue of commands, this condition must be managed by the controller.
So, the driver should never see QUEUE FULL.

In my opinion, a _normal_ scsi disk should allow a well known maximum of
tagged command queued (16 is a quite good value) and should return QUEUE
FULL only if one try to queue more commands.

Regardless it conforms to scsi-2 or not, I consider that a disk with a
2MB cache that returns QUEUE FULL for 1 queued command is stupidly BUGGY.

Gerard.

\
 
 \ /
  Last update: 2005-03-22 13:37    [W:0.081 / U:0.924 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site