aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_erp.c
diff options
context:
space:
mode:
authorMartin Peschke <mp3@de.ibm.com>2008-03-27 09:22:01 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-04-07 13:19:04 -0400
commit348447e85749120ad600a5c8e23b6bb7058b931d (patch)
treec7d524906bf256c113d32783e8bfaecad1d1657c /drivers/s390/scsi/zfcp_erp.c
parentd79a83dbffe2e49e73f2903c350937faf2e0c2f1 (diff)
[SCSI] zfcp: Add trace records for recovery thread and its queues
This patch writes trace records which provide information about the operation of the zfcp error recovery thread and the queues it works on. 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>
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index 2dc8110ebf74..f9383f068169 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -788,6 +788,7 @@ zfcp_erp_action_ready(struct zfcp_erp_action *erp_action)
788 788
789 zfcp_erp_action_to_ready(erp_action); 789 zfcp_erp_action_to_ready(erp_action);
790 up(&adapter->erp_ready_sem); 790 up(&adapter->erp_ready_sem);
791 zfcp_rec_dbf_event_thread(2, adapter, 0);
791} 792}
792 793
793/* 794/*
@@ -1027,6 +1028,7 @@ zfcp_erp_thread_kill(struct zfcp_adapter *adapter)
1027 1028
1028 atomic_set_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL, &adapter->status); 1029 atomic_set_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL, &adapter->status);
1029 up(&adapter->erp_ready_sem); 1030 up(&adapter->erp_ready_sem);
1031 zfcp_rec_dbf_event_thread(2, adapter, 1);
1030 1032
1031 wait_event(adapter->erp_thread_wqh, 1033 wait_event(adapter->erp_thread_wqh,
1032 !atomic_test_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, 1034 !atomic_test_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP,
@@ -1084,7 +1086,9 @@ zfcp_erp_thread(void *data)
1084 * no action in 'ready' queue to be processed and 1086 * no action in 'ready' queue to be processed and
1085 * thread is not to be killed 1087 * thread is not to be killed
1086 */ 1088 */
1089 zfcp_rec_dbf_event_thread(4, adapter, 1);
1087 down_interruptible(&adapter->erp_ready_sem); 1090 down_interruptible(&adapter->erp_ready_sem);
1091 zfcp_rec_dbf_event_thread(5, adapter, 1);
1088 debug_text_event(adapter->erp_dbf, 5, "a_th_woken"); 1092 debug_text_event(adapter->erp_dbf, 5, "a_th_woken");
1089 } 1093 }
1090 1094
@@ -2150,7 +2154,9 @@ zfcp_erp_adapter_strategy_open_fsf_xconfig(struct zfcp_erp_action *erp_action)
2150 * _must_ be the one belonging to the 'exchange config 2154 * _must_ be the one belonging to the 'exchange config
2151 * data' request. 2155 * data' request.
2152 */ 2156 */
2157 zfcp_rec_dbf_event_thread(6, adapter, 1);
2153 down(&adapter->erp_ready_sem); 2158 down(&adapter->erp_ready_sem);
2159 zfcp_rec_dbf_event_thread(7, adapter, 1);
2154 if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) { 2160 if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) {
2155 ZFCP_LOG_INFO("error: exchange of configuration data " 2161 ZFCP_LOG_INFO("error: exchange of configuration data "
2156 "for adapter %s timed out\n", 2162 "for adapter %s timed out\n",
@@ -2207,7 +2213,9 @@ zfcp_erp_adapter_strategy_open_fsf_xport(struct zfcp_erp_action *erp_action)
2207 debug_text_event(adapter->erp_dbf, 6, "a_xport_ok"); 2213 debug_text_event(adapter->erp_dbf, 6, "a_xport_ok");
2208 2214
2209 ret = ZFCP_ERP_SUCCEEDED; 2215 ret = ZFCP_ERP_SUCCEEDED;
2216 zfcp_rec_dbf_event_thread(8, adapter, 1);
2210 down(&adapter->erp_ready_sem); 2217 down(&adapter->erp_ready_sem);
2218 zfcp_rec_dbf_event_thread(9, adapter, 1);
2211 if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) { 2219 if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) {
2212 ZFCP_LOG_INFO("error: exchange port data timed out (adapter " 2220 ZFCP_LOG_INFO("error: exchange port data timed out (adapter "
2213 "%s)\n", zfcp_get_busid_by_adapter(adapter)); 2221 "%s)\n", zfcp_get_busid_by_adapter(adapter));
@@ -3091,6 +3099,7 @@ zfcp_erp_action_enqueue(int action,
3091 /* finally put it into 'ready' queue and kick erp thread */ 3099 /* finally put it into 'ready' queue and kick erp thread */
3092 list_add_tail(&erp_action->list, &adapter->erp_ready_head); 3100 list_add_tail(&erp_action->list, &adapter->erp_ready_head);
3093 up(&adapter->erp_ready_sem); 3101 up(&adapter->erp_ready_sem);
3102 zfcp_rec_dbf_event_thread(1, adapter, 0);
3094 retval = 0; 3103 retval = 0;
3095 out: 3104 out:
3096 return retval; 3105 return retval;