Re: [PATCH v3 48/77] atari_NCR5380: Fix queue_size limit

2015-12-21 Thread Hannes Reinecke

On 12/22/2015 02:18 AM, Finn Thain wrote:

When a target reports a QUEUE_FULL condition it causes the driver to
update the 'queue_size' limit with the number of currently allocated tags.
At least, that's what's supposed to happen, according to the comments.
Unfortunately the terms in the assignment are swapped. Fix this and
cleanup some obsolete comments.

Signed-off-by: Finn Thain 

---
  drivers/scsi/atari_NCR5380.c |   14 ++
  1 file changed, 2 insertions(+), 12 deletions(-)


Reviewed-by: Hannes Reinecke 

Cheers,

Hannes
--
Dr. Hannes Reinecke   zSeries & Storage
h...@suse.de  +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v3 48/77] atari_NCR5380: Fix queue_size limit

2015-12-21 Thread Finn Thain
When a target reports a QUEUE_FULL condition it causes the driver to
update the 'queue_size' limit with the number of currently allocated tags.
At least, that's what's supposed to happen, according to the comments.
Unfortunately the terms in the assignment are swapped. Fix this and
cleanup some obsolete comments.

Signed-off-by: Finn Thain 

---
 drivers/scsi/atari_NCR5380.c |   14 ++
 1 file changed, 2 insertions(+), 12 deletions(-)

Index: linux/drivers/scsi/atari_NCR5380.c
===
--- linux.orig/drivers/scsi/atari_NCR5380.c 2015-12-22 12:16:37.0 
+1100
+++ linux/drivers/scsi/atari_NCR5380.c  2015-12-22 12:16:44.0 +1100
@@ -229,9 +229,7 @@ static void do_reset(struct Scsi_Host *)
  * cannot know it in advance :-( We just see a QUEUE_FULL status being
  * returned. So, in this case, the driver internal queue size assumption is
  * reduced to the number of active tags if QUEUE_FULL is returned by the
- * target. The command is returned to the mid-level, but with status changed
- * to BUSY, since --as I've seen-- the mid-level can't handle QUEUE_FULL
- * correctly.
+ * target.
  *
  * We're also not allowed running tagged commands as long as an untagged
  * command is active. And REQUEST SENSE commands after a contingent allegiance
@@ -2152,21 +2150,13 @@ static void NCR5380_information_transfer
 #ifdef SUPPORT_TAGS
cmd_free_tag(cmd);
if (status_byte(cmd->SCp.Status) == 
QUEUE_FULL) {
-   /* Turn a QUEUE FULL status 
into BUSY, I think the
-* mid level cannot handle 
QUEUE FULL :-( (The
-* command is retried after 
BUSY). Also update our
-* queue size to the number of 
currently issued
-* commands now.
-*/
-   /* ++Andreas: the mid level 
code knows about
-  QUEUE_FULL now. */
struct tag_alloc *ta = 
>TagAlloc[scmd_id(cmd)][cmd->device->lun];
dprintk(NDEBUG_TAGS, "scsi%d: 
target %d lun %llu returned "
   "QUEUE_FULL after %d 
commands\n",
   HOSTNO, 
cmd->device->id, cmd->device->lun,
   ta->nr_allocated);
if (ta->queue_size > 
ta->nr_allocated)
-   ta->nr_allocated = 
ta->queue_size;
+   ta->queue_size = 
ta->nr_allocated;
}
 #else
hostdata->busy[cmd->device->id] &= ~(1 
<< cmd->device->lun);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v3 48/77] atari_NCR5380: Fix queue_size limit

2015-12-21 Thread Finn Thain
When a target reports a QUEUE_FULL condition it causes the driver to
update the 'queue_size' limit with the number of currently allocated tags.
At least, that's what's supposed to happen, according to the comments.
Unfortunately the terms in the assignment are swapped. Fix this and
cleanup some obsolete comments.

Signed-off-by: Finn Thain 

---
 drivers/scsi/atari_NCR5380.c |   14 ++
 1 file changed, 2 insertions(+), 12 deletions(-)

Index: linux/drivers/scsi/atari_NCR5380.c
===
--- linux.orig/drivers/scsi/atari_NCR5380.c 2015-12-22 12:16:37.0 
+1100
+++ linux/drivers/scsi/atari_NCR5380.c  2015-12-22 12:16:44.0 +1100
@@ -229,9 +229,7 @@ static void do_reset(struct Scsi_Host *)
  * cannot know it in advance :-( We just see a QUEUE_FULL status being
  * returned. So, in this case, the driver internal queue size assumption is
  * reduced to the number of active tags if QUEUE_FULL is returned by the
- * target. The command is returned to the mid-level, but with status changed
- * to BUSY, since --as I've seen-- the mid-level can't handle QUEUE_FULL
- * correctly.
+ * target.
  *
  * We're also not allowed running tagged commands as long as an untagged
  * command is active. And REQUEST SENSE commands after a contingent allegiance
@@ -2152,21 +2150,13 @@ static void NCR5380_information_transfer
 #ifdef SUPPORT_TAGS
cmd_free_tag(cmd);
if (status_byte(cmd->SCp.Status) == 
QUEUE_FULL) {
-   /* Turn a QUEUE FULL status 
into BUSY, I think the
-* mid level cannot handle 
QUEUE FULL :-( (The
-* command is retried after 
BUSY). Also update our
-* queue size to the number of 
currently issued
-* commands now.
-*/
-   /* ++Andreas: the mid level 
code knows about
-  QUEUE_FULL now. */
struct tag_alloc *ta = 
>TagAlloc[scmd_id(cmd)][cmd->device->lun];
dprintk(NDEBUG_TAGS, "scsi%d: 
target %d lun %llu returned "
   "QUEUE_FULL after %d 
commands\n",
   HOSTNO, 
cmd->device->id, cmd->device->lun,
   ta->nr_allocated);
if (ta->queue_size > 
ta->nr_allocated)
-   ta->nr_allocated = 
ta->queue_size;
+   ta->queue_size = 
ta->nr_allocated;
}
 #else
hostdata->busy[cmd->device->id] &= ~(1 
<< cmd->device->lun);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v3 48/77] atari_NCR5380: Fix queue_size limit

2015-12-21 Thread Hannes Reinecke

On 12/22/2015 02:18 AM, Finn Thain wrote:

When a target reports a QUEUE_FULL condition it causes the driver to
update the 'queue_size' limit with the number of currently allocated tags.
At least, that's what's supposed to happen, according to the comments.
Unfortunately the terms in the assignment are swapped. Fix this and
cleanup some obsolete comments.

Signed-off-by: Finn Thain 

---
  drivers/scsi/atari_NCR5380.c |   14 ++
  1 file changed, 2 insertions(+), 12 deletions(-)


Reviewed-by: Hannes Reinecke 

Cheers,

Hannes
--
Dr. Hannes Reinecke   zSeries & Storage
h...@suse.de  +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/