Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3310665imu; Sun, 11 Nov 2018 12:06:51 -0800 (PST) X-Google-Smtp-Source: AJdET5ceVuIYzqX8L4aR9peHlcI/PoEg7/ZoOEkpM7WgTRcHLUPXiUD/hJKLehoyUbYhBb+v1bpU X-Received: by 2002:a17:902:8f8f:: with SMTP id z15-v6mr17359737plo.257.1541966811624; Sun, 11 Nov 2018 12:06:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541966811; cv=none; d=google.com; s=arc-20160816; b=Rcju3vc2E/my3tg70vn0vLAMeK8pFZAocd4oq5rLdb5U9sJ+u1gwVWCHu7ZghEVA5q 5aWuvhPhqywt4DrupAueWz3EhkRwsafXbI3gEPNOKhosZaK953kMk0gch+y81I6vpulK imQo17mX3rAKSG/A0kYLWeKF/Y9qw2orZREAlR1Fcej/UIlqd8eRX/AObYBioNJO6GVm /W4fIMav4jgmtSb23I3lwg7aGmcbN7IuTNGk4AkDMIqshxcUGcH72+YNLfknv5RJDGfS uSHeXMYgz1Uj69BnXc3Tkv92rdXl9fzpy1GcTVGxW2h3h0wI7DtPHP6pQ+VAjDbgjIhp EPJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=SxNTWloAYqUBe0yl4oZPV1q1I1pcIIq88d0246+FSpc=; b=K5E9gSlgpqWUS8DuocZwtHX482B+C34IUy7auxEcU5QheC8tLUtYHXfSS5wJDqw9U2 FXPZc6DG6r6NNAf/F1LMVCqasMvFpcXRNGACj06xY6tAZ+F54kjrAB/LtTi6ROx3aLdC ou3ZWZ5rMlPoF29qwpnuPnrR0hv97+YFiCsSMqDlgidTxsq6zfYydjCeeJuDDnVmhIt7 H3iVQeuJIQV6S5O4GbYP+9DhRKqXT5l7sWoqrNOnggXMLfubid9nGtIfufq+dHvgpORw wmaUSIgR+IALXG/Jwox3B1ADDhKvBJ2XcFqVcyIZyjBjrQ9QwfOTCmlWOyg1qIUtgaex goyw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v19-v6si15716469pfn.26.2018.11.11.12.06.36; Sun, 11 Nov 2018 12:06:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731127AbeKLFyE (ORCPT + 99 others); Mon, 12 Nov 2018 00:54:04 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:51694 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726508AbeKLFyD (ORCPT ); Mon, 12 Nov 2018 00:54:03 -0500 Received: from [192.168.4.242] (helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gLvtA-0000oU-60; Sun, 11 Nov 2018 19:59:20 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gLvsP-0001Qw-Bz; Sun, 11 Nov 2018 19:58:33 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Martin K. Petersen" , "Steffen Maier" , "Benjamin Block" Date: Sun, 11 Nov 2018 19:49:05 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) Subject: [PATCH 3.16 061/366] scsi: zfcp: fix missing SCSI trace for retry of abort / scsi_eh TMF In-Reply-To: X-SA-Exim-Connect-IP: 192.168.4.242 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.61-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Steffen Maier commit 81979ae63e872ef650a7197f6ce6590059d37172 upstream. We already have a SCSI trace for the end of abort and scsi_eh TMF. Due to zfcp_erp_wait() and fc_block_scsi_eh() time can pass between the start of our eh callback and an actual send/recv of an abort / TMF request. In order to see the temporal sequence including any abort / TMF send retries, add a trace before the above two blocking functions. This supports problem determination with scsi_eh and parallel zfcp ERP. No need to explicitly trace the beginning of our eh callback, since we typically can send an abort / TMF and see its HBA response (in the worst case, it's a pseudo response on dismiss all of adapter recovery, e.g. due to an FSF request timeout [fsrth_1] of the abort / TMF). If we cannot send, we now get a trace record for the first "abrt_wt" or "[lt]r_wait" which denotes almost the beginning of the callback. No need to explicitly trace the wakeup after the above two blocking functions because the next retry loop causes another trace in any case and that is sufficient. Example trace records formatted with zfcpdbf from s390-tools: Timestamp : ... Area : SCSI Subarea : 00 Level : 1 Exception : - CPU ID : .. Caller : 0x... Record ID : 1 Tag : abrt_wt abort, before zfcp_erp_wait() Request ID : 0x0000000000000000 none (invalid) SCSI ID : 0x SCSI LUN : 0x SCSI LUN high : 0x SCSI result : 0x SCSI retries : 0x SCSI allowed : 0x SCSI scribble : 0x SCSI opcode : FCP rsp inf cod: 0x.. none (invalid) FCP rsp IU : ... none (invalid) Timestamp : ... Area : SCSI Subarea : 00 Level : 1 Exception : - CPU ID : .. Caller : 0x... Record ID : 1 Tag : lr_wait LUN reset, before zfcp_erp_wait() Request ID : 0x0000000000000000 none (invalid) SCSI ID : 0x SCSI LUN : 0x SCSI LUN high : 0x SCSI result : 0x... unrelated SCSI retries : 0x.. unrelated SCSI allowed : 0x.. unrelated SCSI scribble : 0x... unrelated SCSI opcode : ... unrelated FCP rsp inf cod: 0x.. none (invalid) FCP rsp IU : ... none (invalid) Signed-off-by: Steffen Maier Fixes: 63caf367e1c9 ("[SCSI] zfcp: Improve reliability of SCSI eh handlers in zfcp") Fixes: af4de36d911a ("[SCSI] zfcp: Block scsi_eh thread for rport state BLOCKED") Reviewed-by: Benjamin Block Signed-off-by: Martin K. Petersen Signed-off-by: Ben Hutchings --- drivers/s390/scsi/zfcp_scsi.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/s390/scsi/zfcp_scsi.c +++ b/drivers/s390/scsi/zfcp_scsi.c @@ -201,6 +201,7 @@ static int zfcp_scsi_eh_abort_handler(st if (abrt_req) break; + zfcp_dbf_scsi_abort("abrt_wt", scpnt, NULL); zfcp_erp_wait(adapter); ret = fc_block_scsi_eh(scpnt); if (ret) { @@ -297,6 +298,7 @@ static int zfcp_task_mgmt_function(struc if (fsf_req) break; + zfcp_dbf_scsi_devreset("wait", scpnt, tm_flags, NULL); zfcp_erp_wait(adapter); ret = fc_block_scsi_eh(scpnt); if (ret) {