summaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_fsf.h
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@de.ibm.com>2008-05-06 11:00:05 +0200
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-06-05 09:23:42 -0500
commitc9615858a81d2424c78b10a2f689ba24b156937c (patch)
tree34af50eaeb958a95d13b4f1b6ec9da7ea89f7024 /drivers/s390/scsi/zfcp_fsf.h
parent688864e29869a71a8183e4e2f96ccf9f2de1375f (diff)
downloadlinux-stable-c9615858a81d2424c78b10a2f689ba24b156937c.tar.gz
linux-stable-c9615858a81d2424c78b10a2f689ba24b156937c.tar.bz2
linux-stable-c9615858a81d2424c78b10a2f689ba24b156937c.zip
[SCSI] zfcp: Track fabric and channel latencies provided by FCP adapter
Add the infrastructure to retrieve the fabric and channel latencies from FSF commands for each SCSI command that has been processed. For each unit, the sum, min, max and number of requests is tracked. Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_fsf.h')
-rw-r--r--drivers/s390/scsi/zfcp_fsf.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_fsf.h b/drivers/s390/scsi/zfcp_fsf.h
index 099970b27001..8b1a7d9c840f 100644
--- a/drivers/s390/scsi/zfcp_fsf.h
+++ b/drivers/s390/scsi/zfcp_fsf.h
@@ -323,11 +323,18 @@ struct fsf_link_down_info {
u8 vendor_specific_code;
} __attribute__ ((packed));
+struct fsf_qual_latency_info {
+ u32 channel_lat;
+ u32 fabric_lat;
+ u8 res1[8];
+} __attribute__ ((packed));
+
union fsf_prot_status_qual {
u64 doubleword[FSF_PROT_STATUS_QUAL_SIZE / sizeof(u64)];
struct fsf_qual_version_error version_error;
struct fsf_qual_sequence_error sequence_error;
struct fsf_link_down_info link_down_info;
+ struct fsf_qual_latency_info latency_info;
} __attribute__ ((packed));
struct fsf_qtcb_prefix {
@@ -437,7 +444,9 @@ struct fsf_qtcb_bottom_config {
u32 fc_link_speed;
u32 adapter_type;
u32 peer_d_id;
- u8 res2[12];
+ u8 res1[2];
+ u16 timer_interval;
+ u8 res2[8];
u32 s_id;
struct fsf_nport_serv_param nport_serv_param;
u8 reserved_nport_serv_param[16];