Skip to contentSkip to conversation

ipr: fix synchronous request flags for better performance

PATCH In review Wayne Boyer 2 participants 2 messages Mar 31, 2011 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

PATCH 1/1 ipr: fix synchronous request flags for better performance

In testing it was noticed that Extended Delay after Reset flag was being set for gscsi and volume set devices. This had a negative effect on performance for volume sets. The fix is to only set the flag for gscsi devices.

---

 drivers/scsi/ipr.c |    3 ++-
 drivers/scsi/ipr.h |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
drivers/scsi/ipr.c +2 -1
Index: b/drivers/scsi/ipr.c
===================================================================
@@ -5773,7 +5773,8 @@ static int ipr_queuecommand_lck(struct s
 		}
 
 		ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_LINK_DESC;
-		ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_DELAY_AFTER_RST;
+		if (ipr_is_gscsi(res))
+			ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_DELAY_AFTER_RST;
 		ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_ALIGNED_BFR;
 		ioarcb->cmd_pkt.flags_lo |= ipr_get_task_attributes(scsi_cmd);
 	}
drivers/scsi/ipr.h +1 -1
Index: b/drivers/scsi/ipr.h
===================================================================
@@ -474,7 +474,7 @@ struct ipr_cmd_pkt {
 
 	u8 flags_lo;
 #define IPR_FLAGS_LO_ALIGNED_BFR		0x20
-#define IPR_FLAGS_LO_DELAY_AFTER_RST	0x10
+#define IPR_FLAGS_LO_DELAY_AFTER_RST		0x10
 #define IPR_FLAGS_LO_UNTAGGED_TASK		0x00
 #define IPR_FLAGS_LO_SIMPLE_TASK		0x02
 #define IPR_FLAGS_LO_ORDERED_TASK		0x04