Commit c3baa9a26c5ac7e8d801093d55d33620d8bc2fe2
Committed by
James Bottomley
1 parent
e891bffe92
Exists in
master
and in
7 other branches
[SCSI] zfcp: Add information about interrupt to trace.
Store the index of the buffer in the inbound queue used to report request completion in trace record for request coompletion. This piece of information allows to better compare qdio and zfcp traces. Signed-off-by: Martin Peschke <mp3@de.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Showing 4 changed files with 7 additions and 2 deletions Side-by-side Diff
drivers/s390/scsi/zfcp_dbf.c
... | ... | @@ -187,6 +187,7 @@ |
187 | 187 | response->fsf_req_status = fsf_req->status; |
188 | 188 | response->sbal_first = fsf_req->sbal_first; |
189 | 189 | response->sbal_last = fsf_req->sbal_last; |
190 | + response->sbal_response = fsf_req->sbal_response; | |
190 | 191 | response->pool = fsf_req->pool != NULL; |
191 | 192 | response->erp_action = (unsigned long)fsf_req->erp_action; |
192 | 193 | |
... | ... | @@ -355,6 +356,7 @@ |
355 | 356 | zfcp_dbf_out(p, "fsf_req_status", "0x%08x", r->fsf_req_status); |
356 | 357 | zfcp_dbf_out(p, "sbal_first", "0x%02x", r->sbal_first); |
357 | 358 | zfcp_dbf_out(p, "sbal_last", "0x%02x", r->sbal_last); |
359 | + zfcp_dbf_out(p, "sbal_response", "0x%02x", r->sbal_response); | |
358 | 360 | zfcp_dbf_out(p, "pool", "0x%02x", r->pool); |
359 | 361 | |
360 | 362 | switch (r->fsf_command) { |
drivers/s390/scsi/zfcp_dbf.h
drivers/s390/scsi/zfcp_def.h
... | ... | @@ -856,6 +856,7 @@ |
856 | 856 | this reuest */ |
857 | 857 | u8 sbale_curr; /* current SBALE during creation |
858 | 858 | of request */ |
859 | + u8 sbal_response; /* SBAL used in interrupt */ | |
859 | 860 | wait_queue_head_t completion_wq; /* can be used by a routine |
860 | 861 | to wait for completion */ |
861 | 862 | volatile u32 status; /* status of this request */ |
drivers/s390/scsi/zfcp_qdio.c
... | ... | @@ -235,7 +235,7 @@ |
235 | 235 | * zfcp_qdio_reqid_check - checks for valid reqids. |
236 | 236 | */ |
237 | 237 | static void zfcp_qdio_reqid_check(struct zfcp_adapter *adapter, |
238 | - unsigned long req_id) | |
238 | + unsigned long req_id, int sbal) | |
239 | 239 | { |
240 | 240 | struct zfcp_fsf_req *fsf_req; |
241 | 241 | unsigned long flags; |
... | ... | @@ -255,6 +255,7 @@ |
255 | 255 | atomic_dec(&adapter->reqs_active); |
256 | 256 | spin_unlock_irqrestore(&adapter->req_list_lock, flags); |
257 | 257 | |
258 | + fsf_req->sbal_response = sbal; | |
258 | 259 | /* finish the FSF request */ |
259 | 260 | zfcp_fsf_req_complete(fsf_req); |
260 | 261 | } |
... | ... | @@ -321,7 +322,7 @@ |
321 | 322 | /* look for QDIO request identifiers in SB */ |
322 | 323 | buffere = &buffer->element[buffere_index]; |
323 | 324 | zfcp_qdio_reqid_check(adapter, |
324 | - (unsigned long) buffere->addr); | |
325 | + (unsigned long) buffere->addr, i); | |
325 | 326 | |
326 | 327 | /* |
327 | 328 | * A single used SBALE per inbound SBALE has been |