From patchwork Wed Jun 14 03:47:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Madhani, Himanshu" X-Patchwork-Id: 9785257 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A287E602DC for ; Wed, 14 Jun 2017 03:48:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B3B0527FA3 for ; Wed, 14 Jun 2017 03:48:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A856528589; Wed, 14 Jun 2017 03:48:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D71D727FA3 for ; Wed, 14 Jun 2017 03:48:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754237AbdFNDsc (ORCPT ); Tue, 13 Jun 2017 23:48:32 -0400 Received: from mail-by2nam01on0086.outbound.protection.outlook.com ([104.47.34.86]:22016 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754213AbdFNDsU (ORCPT ); Tue, 13 Jun 2017 23:48:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=so/v81hCMIArHjcvYT5Ngwy3xuSoHeRguec6ZH1kjUg=; b=HwRRzPO6r8Cm9IcMrBijHZBjDKeNxaTWTfQByV4LjwHqNOm7/nuj7ofLcHHw35dwnIctU2NRJemBt7Kx14tMVuc2OCeO+NI4YHwIlE94hQ/GXisbUOeGWd0JP/aaIiNcHxfEO7Dmrc2Fg8cWdfAI1Pf+KBsckB4FXb6qtVV6tGk= Received: from SN1PR0701CA0070.namprd07.prod.outlook.com (10.163.126.38) by BN3PR0701MB1573.namprd07.prod.outlook.com (10.163.38.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1178.14; Wed, 14 Jun 2017 03:48:11 +0000 Received: from BL2FFO11FD009.protection.gbl (2a01:111:f400:7c09::165) by SN1PR0701CA0070.outlook.office365.com (2a01:111:e400:52fd::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.12 via Frontend Transport; Wed, 14 Jun 2017 03:48:11 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=cavium.com; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BL2FFO11FD009.mail.protection.outlook.com (10.173.161.15) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1143.11 via Frontend Transport; Wed, 14 Jun 2017 03:48:09 +0000 Received: from dut1171.mv.qlogic.com (172.29.51.171) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Tue, 13 Jun 2017 20:47:57 -0700 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id v5E3lu99015503; Tue, 13 Jun 2017 20:47:56 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id v5E3lu23015502; Tue, 13 Jun 2017 20:47:56 -0700 From: Himanshu Madhani To: , CC: , , Subject: [PATCH v2 10/15] qla2xxx: Add debug logging routine for qpair Date: Tue, 13 Jun 2017 20:47:25 -0700 Message-ID: <20170614034730.15428-11-himanshu.madhani@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170614034730.15428-1-himanshu.madhani@cavium.com> References: <20170614034730.15428-1-himanshu.madhani@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39850400002)(39450400003)(39400400002)(39410400002)(39840400002)(2980300002)(428002)(199003)(189002)(9170700003)(33646002)(106466001)(5003940100001)(4326008)(80596001)(105586002)(305945005)(50466002)(8676002)(50226002)(86362001)(8936002)(575784001)(81166006)(5660300001)(1076002)(48376002)(72206003)(87636003)(189998001)(42186005)(36756003)(76176999)(50986999)(478600001)(2906002)(6666003)(47776003)(356003)(2950100002)(38730400002)(101416001)(54906002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1573; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD009; 1:Ae0hIpeUjr69UAMk94GjkSzf9uWG9VFAnxRiRnOQLrOlldneqSkIvOhF6RLpVBwQtLBvGnqiTr2GzquL0cC/j20ccvPLX1aGISCzjwLx9QxebpxMjEK5AXxbcSzwL2aoOlbpsAIFNQCKxRujlD8cZbmdm1dsVOG1CMDhS+f+osAbgPhfVDHkIFBVSNkO2EIB9wot0yWNlaLgieSlwd4cvY04LSoq21aV4LrLKm1fK/Km8eKiq1HKpcXK00x0gEishXlbdnwC0INvPOQtWBclQSjQTn+hZaOvRfCMJZcuwQnBmXgdO05Ukc2X9Z88etP7ijX1fLu+4uIT24GU7RK8URdUR5FOUsvQeEG805gADVCg+F742oF9G/NPZvj+O6S8EGn3ohV1LPeCWxfxW2pTRUyl2Hc15CuM8R+GXrmGMBcBRXjJr5OIojsHo7986J8HN3LnRe3QWwSxvcJvRoKpg77ZM6srxP0aot7+hwyhKW2Tqi6xsqxoBqESq24g+MBhk5YtNosTc3/logHfxjPhgQ== X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fe4de3c1-42c9-4b4a-4e3a-08d4b2d82d98 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BN3PR0701MB1573; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1573; 3:y/gXgdX6ziEPBswd4Wha+yFbYfBLw0+BA8SN/R/g6EJAxXFPMrq15AZ6lqmA8UupJWLbxB7tiEWnpOGMu481Je2LmO1frbeitTCBExNcAC3YzpQtFpAB3GkvgvQufE4TERItFhcFz3ErxMjnOscZZDgFgrKPP4iVbhDCPZoLmSv+CM2r/60btH4x2s2OZly/2gOBYSfitoWFLj42i+G5sjJB/PmvpQ2L0Xcx1gr3arNCWggPDO3CQ93yDETf6Z2BEjPSzjyP23FbflnBrZgKKDYlII5JHIq+ZQZ6vs1eSOcgMxRRV5FKIYZ3DmeBn4qPgWO85UxIHd1EK0gCMiV2yGZY2HxCXJkWPOFB0VbIFMcyUvK6Wm6N99hLnM2G+qEnEaPV/1bikk5/yh570G2F/v90dfyu2W5+2wXEci/82HhB3wgzYX0RPsIywVVKxYA8GgHoEbLQccsls9kus3fCX4kCynGcjz8jd8bzUF3yOn9emt717S/rc8hqwd2C6rBC X-MS-TrafficTypeDiagnostic: BN3PR0701MB1573: X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1573; 25:0/VxQPWER8K9jclrg0v3Mz7R9qRyWtnlqr/hoj9KR62G9XA1/w6eoEh24n45TgmlM11IMeRJ5Ieo+RE8XG8xTw/Oe5ur5iVcu3v8yh0U5bcIvNTXC0OE3c7hdhdFFVFjyH+/CbJCujNBvPxkCyTiZpSrX9ClzIhZ9z+9sevAqLWm7BVK10EHCBAab0WcqJBXndprRw/+f15x9AoVST9CTZGGnXPG5mMrt14PcAoI5NEeg8d8c11QDACW78QPRbZwmkfjxk1bGHQ9u4Vwd92dp/1lRxsaSQ7SstqCMmgtsvBAcChP6MMg6VXVD8xdgBFZCwHONNUMCq9AP/Lm4PDCVbwJEIkh99h2+tpFxOagVc39NpXuAAz/090b+VuPwosHpNqFmqKF6Yda8GsPhfMQ0b8MsEE2CKH0cv0ww1ugmanuf3vduLDYtIQd1gSi8Yz7muazz2CpRTZUoT1R1nYASS+KpT4a5qsvWNGZaF2RIhA=; 31:mH0NMGwdYdVcH7iy/R6Ul0gma3Kw3Zdw8bNMcIDJZSR4yF51eksEFxoWqDrjZdfdgf7NRZlIH/S3SOY/EVqDvH8isGT/y3kd6VTcikgXb1CZfQP7dLt2YRn0zLC8ipNY+nJUK4x+j8WvHgAcUad2t6ACrmumZignc3WUulMMq7ff6rlIQOoaE1n0D98hnjTLYtlHLzSixa8z3lVmEVsXSzRcDgSGiZIohOGrEOd9PLrBUt0nIydE1gLwovrpP9RU X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1573; 20:exroepB4zKEzqYrHDU1iVytS48iidTh0nU/Hy5kR2MOM7cq8RwlCzom3zrP3t+X9cx7+L2JgVkmRaJcB5ehe/4AGZye0qjYXq2ETiNTw3mW3H/34ZSRrXF7Njenik4Myblu678ygm6bXBPDzcAYnkCak8zxDV6ISbI9sdoH71rQ89uYCO0xf5ylsoMC5IPrC77tZCHFtHDCmLVKvJ8395TLT4zK+Aa7SjE21PpDHS+gQak1dT+ZxTb5ZPohN44t9QvpfHQALe07hFh5DywRBRUrPOCbpsCOb7V2rBIYEInQ6jgfnDuq8ev7NKUt3yHjtew65T0kaiPFW0PPyXwyeD0GIMtirCFoWiI0C2Hz2K5mXG1nVdjc22frY76M5f6CMfeAhRMej7IfEx1VJKxPrSRMfw69/IegQNVQmW20/WPTIWc6MZv5PsBZPVraB6cOUPgcsi8f87d/pvPOEaiNRYK3Pyx7nIG//H3o8NTPi+YzMAFQ5cx25oA6+9lFgvrxR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(209352067349851); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(13018025)(5005006)(13016025)(8121501046)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123564025)(20161123562025)(20161123558100)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN3PR0701MB1573; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN3PR0701MB1573; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0701MB1573; 4:pBR9i0qNYJYIaJBnv0ZF0/yVFPJcvmdJmOVnLBWg?= =?us-ascii?Q?EIHWO5j8weiz9k888CnTMpeyNAO02cEHr1Qb+NBEqw7wTLFXeYXbcMnPInDy?= =?us-ascii?Q?xu03EIx0UXURSgn4FrSfWLCkUnk52yPmjry8G7ga2Bj0FxQx4zTvm4fYfHFu?= =?us-ascii?Q?Q6mDiPO6WkZ0Epz5dw80giwcGgc23avWammmfh1eO/ADpYvMqWGfNQqi4z9T?= =?us-ascii?Q?0B5EbwudFJPM/wXhKSG0euAFLxPW2F0AbQzX33AO9wLKBl5NwY032AIrxik4?= =?us-ascii?Q?XDo2K5sK18XF3Hq9f1jeUtEfMKevR3LJZM/yByXZTjGAdZu25dx7IsMBiwAB?= =?us-ascii?Q?7WIuEcjrmCYiQZF27/ry9UhHhWhp4A6jnejuNeXEJ6omUFgv9TlnMdlpo7Ei?= =?us-ascii?Q?Jq1/23wpkfsxA7DZ72rlOpJP/5TO/4R/LkSBhseoOoJEkApstl9cp+fWtpMB?= =?us-ascii?Q?7TkVCrHjGxnTw4wL2X2Ur5/sljQFLc7xxRs08udbS3kYIq7H+h6Mowxipb+o?= =?us-ascii?Q?T1ACYgJqxWCWDK+4guA/dTDEEM7QXNErx5zR/2WuJJUgF1EHekH4Ogh7cXf+?= =?us-ascii?Q?wXWZ4KZ8UaZDjd3essUTPZqEvExA3fN6I8Lqsq1+Tb3q+HE2XfG+2c3XYSd9?= =?us-ascii?Q?dZoUOJCULbbjnqGg8NxVeWlMgU8OPIQI/KM1dSU3bv8J2aBk1vUDOfPu/4bt?= =?us-ascii?Q?iyhkHKKGLrjfkN+GV5QqLKu5Ucp3xXZdGafG6b2fUJVWtudiR3boUjXwImk8?= =?us-ascii?Q?N+lTM6a7aqGn+lFajU5Pi1Dmm/Ws3BYqWZnPLdpEszK4GQI8k/iYdLlHYIEq?= =?us-ascii?Q?pjLq/mWFHC6DeE/WJl1/Ow/jkAwxxwFxKzn5rMwq2/VuPOVqFyQJ7jEytBAt?= =?us-ascii?Q?REIjtRC+wlu7dJ/dXJvKYm8v1bHMJs/symygJXyJjrK7RztYhkA3/iEydPe2?= =?us-ascii?Q?okyb1tHaN5rqVrVrU3VuaqbwJimVdcEV+4gONGX7Ebi2r2hIuQFKYieUOfcy?= =?us-ascii?Q?SSJWJJEg/vAXPVpCmMnn5sEeeXtzBAKCwg0pRXwbCx2r8BmyNtyenOzoXl/x?= =?us-ascii?Q?l/YiDebr594PmNQ2OjrhOmxFPuDx/mJpYqhVXi+FOPye+KZ7NyUrpIZj70EK?= =?us-ascii?Q?g5ykrTwAfUtrBlCMqA6OWUff/oKOAtodYFvRZpqWNHg7ucg9QeFBcIdwpcJj?= =?us-ascii?Q?nAnCwb9EpVo0zqiQPFb7seSLoue5wIZlaThokmqjTAOvAsLqoB7nWtwklQ?= =?us-ascii?Q?=3D=3D?= X-Forefront-PRVS: 033857D0BD X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0701MB1573; 23:wW82aOd6PVhsgy5RZme6hk+4ULMQp2qJvpP3ZmA?= =?us-ascii?Q?iW8qTgc6zdX87NgW64CkanLqGq7OpOn5TqssGFTW2Aq0ak35v+a9BAdon5s7?= =?us-ascii?Q?woVRdPLvo34IalppJruYvV/4CIRURE1wRZ3GK6s7+4rBZNIT8PSj0J4Q4sNs?= =?us-ascii?Q?L6eVxmqiatvo1DmuwwHJevBO+uquKlNufY/aFnFYMSgrG/jf3lPgxnHkje1h?= =?us-ascii?Q?NZ6+Bu8erRvY0tDj2qkAF+k1wBYZ080umZwB5VsikbRGV+w7OgRaSKWSGAIm?= =?us-ascii?Q?cMi4+0ky1ug6OQT0mzlI6YVPQwXJ+WVEJKZL3D8W/uuNBeNI2uVwNTjX6K3C?= =?us-ascii?Q?CR2GgO2bGsoUm6vxN5pq3rzCVdTLxDlXYBO8ArA1bq/NuIizshZIhGtAPH/P?= =?us-ascii?Q?9VTFThELFQJdW0PUbQ+9bzMgehEyoC9wHRQL1aYf0XKB9Zsn6gorPf315zzR?= =?us-ascii?Q?Ud4/bN8821+FsyvJ3xAthBuoiFBbskLNWDVvqVMpA2tr/S1sR5UlQ4/6UGaN?= =?us-ascii?Q?qWLoIeN+1Txff4p5F6BEWesPzH/blo9yiiKwJpS2Np7KudV37epfrToeO1m7?= =?us-ascii?Q?Q9HBRs2Md92OBiSCCa4Rr8GwDYuMAhn0+Md+BIcsK0UkIJbACYz7JzHfOrPF?= =?us-ascii?Q?5gUHIJa3GaXx+i7v/8LffcXeHKn4ybd9SQWBbzMoQph6EhGSc6lYr9zgmmw5?= =?us-ascii?Q?DmjzIEcHr8a9IMspXe8VRcqlfuhsAiK9a0GeXoFm64ckVB7Vo6mPh28pVorB?= =?us-ascii?Q?NzMGFt2dV6+X0GSBmtjtg1Yasvfiy/daFx3TdX5JhJgzmOxz9UTBettKSYJm?= =?us-ascii?Q?To5EaKFXQfpU1lAclOn1+MXRSmwbz1fncRHKM84icaQQsBOZbPZoiIeRBr9f?= =?us-ascii?Q?69/lOO2MhMQEsdHa3hLgrDAjasxVfGc9TrxdWFckK/ssSwA+HB3DO4yV6fuO?= =?us-ascii?Q?gWLs0juDyLU/1l2hmEdtD5Qxa6Bn5sGiVT6cTBfd9bXn74MjDlQyN7BLoBIz?= =?us-ascii?Q?8yFzWgOMqRw34eM/n9B1MXpItlMkJzMRlCDBdRyiTEG0gFD6CVJpuUR5mTv7?= =?us-ascii?Q?FSshces9ICOZr5UcyFhHGIdMNPIg+EBa9xmw19NjXRE9BwvtzMndgeB8E6MY?= =?us-ascii?Q?OevuoSwER1g8=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1573; 6:MU3dE2LDSqxsUhD30Cu8VnWECQ74xVC8Fe0EHcA6NfXHEcEtoLvMv9vat4NykOQmV+c0If0F311n86Bq1X+AtKp9KZjsDgPIOAKZl8qUufU5MBR1QacG8mLIxNhK8i+w81P0GQuYz5jHUNW+xDiFAIIIXzhuQ8E2mJ7Va78WYxhjKFaSnG8m3vnLS4u4kE3sgcKaECAWIa3Z/nPWSig/nzlhvIESvGOWHLRJQaQM8mLqDwpezc+KqDZLc5uNckTnd/I+Ftc6ftoxTnrBkWUtzKn2sRs/7WA0A9ZimFMRzPgypl7n02H8BKLd+814g03FC1SElYP/ULAheOjT0FI3KPmu1f6K/xbcim4rrLu8tgkIOgdhfsIXoWI9Bw+VWec2tuD+oFb9j/jZBzIMOqhd+S9sDqkykGbnLWYtSImIPnEzPt2z3K87VBxuDV01GrjXeFJtk6l3hrsndMfXFj0RAw2jCkXd0kYhYdEiVTZU1avlXrmaZdeogwmZK9Y3cGZsUjvD1zOWaATNdNRzesQFsg== X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1573; 5:VTo7sNNyBSmDK13fDjUQGygi36BO27h7Q4dJDXU9OYBIvm3qRoBjDvV4hB7timGxxKOn8rgDYiTmYTMc5Ulx+8dPTGBDn0FPaM2LLUe9ZCXNba30zFiuQFZx5VuqXrkke3dxO1BngEy6yVhMyb3mu2LDG23mYNDYyfGfyjCaBiNkz0cD4q1pCGKgdRVHMtEw+o46a7xyMoXGliOKtwH6XNLhreAK5umvS3Sa42Hzmn/TUPuzvKkDzbqLP0WErThbMmV3t/rY+lrI58w6TpGl7vlcUzGK8LMIesmTAIPvAE0wJxfmEia94q9NUv1eSiBGQeprR7PaQlHcOntfEMXCyHevCuCv1b23fhuEvNzC+PVMWBkKjYNNyaNGoL9UvAJBC/8EhGHHNyfVOapf2lPbPhsVhxwNXYNWh2rBls96IjUOpUtXrSnQdnJtpSV3/Xn3VfwsBrbR2Tt+uwXF07Fxb/FLrW/HSKrjzQrVq2mkuiFtaFGHEt0qeZWyscy8Ja7k; 24:lo4hwvqW3qy+UhNm5ekKFtPyNbW8C7VupEazSvk6ttR/TinCNqUBGYHy2AwkxgdJyX5vDk9OXUrOwG7LMyeNsHXPi0CUCRdDFgFf2/cuFEg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1573; 7:F+nA9XBIrPqg2yNUi1P1l+DTTt7VeRtLrrmDVFbPbeAwzaroAgD88I5G+LNA15VfBPDyqv639tfsCi3WYrJ+oCHmRhJngmIdHoCClHDD9ADimF9rnmKfGWdO7TN1O192b1UYsvifbG+i8z8aPdQFYCNxtU3xurEMbKcVYP6RA94Pj1GQSnFtE5zq/z9DOW1cZF29+g2kZakFFyPg8nVMz80plOZq6QTVKna2fepcTWyAZwX+2to8GrH0z7U3c7StDWQqSizkQMW7+c+S3I6LPydj0gwYz5k9mOXHZP4NQNfjQbBk8hn/IY3HaXQnYct9o9awOXWOToPNoVHtssddaA== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jun 2017 03:48:09.8742 (UTC) X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1573 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Quinn Tran For target main path io routines that uses qpair, create new logging & debugging routines to use qpair instead of reaching for scsi_qla_host to reduce cache thrash. Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani --- drivers/scsi/qla2xxx/qla_dbg.c | 101 ++++++++++++++++++++++++++++++++++++++ drivers/scsi/qla2xxx/qla_dbg.h | 6 +++ drivers/scsi/qla2xxx/qla_target.c | 28 +++++------ drivers/scsi/qla2xxx/qla_target.h | 1 + 4 files changed, 122 insertions(+), 14 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c index 11e097e123bd..c0c90dcc7c7b 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.c +++ b/drivers/scsi/qla2xxx/qla_dbg.c @@ -2713,3 +2713,104 @@ ql_dump_buffer(uint32_t level, scsi_qla_host_t *vha, int32_t id, buf + cnt, min(16U, size - cnt), false); } } + +/* + * This function is for formatting and logging log messages. + * It is to be used when vha is available. It formats the message + * and logs it to the messages file. All the messages will be logged + * irrespective of value of ql2xextended_error_logging. + * parameters: + * level: The level of the log messages to be printed in the + * messages file. + * vha: Pointer to the scsi_qla_host_t + * id: This is a unique id for the level. It identifies the + * part of the code from where the message originated. + * msg: The message to be displayed. + */ +void +ql_log_qp(uint32_t level, struct qla_qpair *qpair, int32_t id, + const char *fmt, ...) +{ + va_list va; + struct va_format vaf; + char pbuf[128]; + + if (level > ql_errlev) + return; + + if (qpair != NULL) { + const struct pci_dev *pdev = qpair->pdev; + /* : Message */ + snprintf(pbuf, sizeof(pbuf), "%s [%s]-%04x: ", + QL_MSGHDR, dev_name(&(pdev->dev)), id); + } else { + snprintf(pbuf, sizeof(pbuf), "%s [%s]-%04x: : ", + QL_MSGHDR, "0000:00:00.0", id); + } + pbuf[sizeof(pbuf) - 1] = 0; + + va_start(va, fmt); + + vaf.fmt = fmt; + vaf.va = &va; + + switch (level) { + case ql_log_fatal: /* FATAL LOG */ + pr_crit("%s%pV", pbuf, &vaf); + break; + case ql_log_warn: + pr_err("%s%pV", pbuf, &vaf); + break; + case ql_log_info: + pr_warn("%s%pV", pbuf, &vaf); + break; + default: + pr_info("%s%pV", pbuf, &vaf); + break; + } + + va_end(va); +} + +/* + * This function is for formatting and logging debug information. + * It is to be used when vha is available. It formats the message + * and logs it to the messages file. + * parameters: + * level: The level of the debug messages to be printed. + * If ql2xextended_error_logging value is correctly set, + * this message will appear in the messages file. + * vha: Pointer to the scsi_qla_host_t. + * id: This is a unique identifier for the level. It identifies the + * part of the code from where the message originated. + * msg: The message to be displayed. + */ +void +ql_dbg_qp(uint32_t level, struct qla_qpair *qpair, int32_t id, + const char *fmt, ...) +{ + va_list va; + struct va_format vaf; + + if (!ql_mask_match(level)) + return; + + va_start(va, fmt); + + vaf.fmt = fmt; + vaf.va = &va; + + if (qpair != NULL) { + const struct pci_dev *pdev = qpair->pdev; + /* : Message */ + pr_warn("%s [%s]-%04x: %pV", + QL_MSGHDR, dev_name(&(pdev->dev)), id + ql_dbg_offset, + &vaf); + } else { + pr_warn("%s [%s]-%04x: : %pV", + QL_MSGHDR, "0000:00:00.0", id + ql_dbg_offset, &vaf); + } + + va_end(va); + +} diff --git a/drivers/scsi/qla2xxx/qla_dbg.h b/drivers/scsi/qla2xxx/qla_dbg.h index c6bffe929fe7..f60138f66dce 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.h +++ b/drivers/scsi/qla2xxx/qla_dbg.h @@ -313,12 +313,18 @@ void __attribute__((format (printf, 4, 5))) ql_dbg(uint32_t, scsi_qla_host_t *vha, int32_t, const char *fmt, ...); void __attribute__((format (printf, 4, 5))) ql_dbg_pci(uint32_t, struct pci_dev *pdev, int32_t, const char *fmt, ...); +void __attribute__((format (printf, 4, 5))) +ql_dbg_qp(uint32_t, struct qla_qpair *, int32_t, const char *fmt, ...); + void __attribute__((format (printf, 4, 5))) ql_log(uint32_t, scsi_qla_host_t *vha, int32_t, const char *fmt, ...); void __attribute__((format (printf, 4, 5))) ql_log_pci(uint32_t, struct pci_dev *pdev, int32_t, const char *fmt, ...); +void __attribute__((format (printf, 4, 5))) +ql_log_qp(uint32_t, struct qla_qpair *, int32_t, const char *fmt, ...); + /* Debug Levels */ /* The 0x40000000 is the max value any debug level can have * as ql2xextended_error_logging is of type signed int diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index f18a50867119..84be2b48246f 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -2263,7 +2263,7 @@ static int qlt_pci_map_calc_cnt(struct qla_tgt_prm *prm) return 0; out_err: - ql_dbg(ql_dbg_tgt, prm->cmd->vha, 0xe04d, + ql_dbg_qp(ql_dbg_tgt, prm->cmd->qpair, 0xe04d, "qla_target(%d): PCI mapping failed: sg_cnt=%d", 0, prm->cmd->sg_cnt); return -1; @@ -2379,7 +2379,6 @@ static int qlt_24xx_build_ctio_pkt(struct qla_qpair *qpair, struct ctio7_to_24xx *pkt; struct atio_from_isp *atio = &prm->cmd->atio; uint16_t temp; - struct scsi_qla_host *vha = prm->cmd->vha; pkt = (struct ctio7_to_24xx *)qpair->req->ring_ptr; prm->pkt = pkt; @@ -2387,7 +2386,7 @@ static int qlt_24xx_build_ctio_pkt(struct qla_qpair *qpair, pkt->entry_type = CTIO_TYPE7; pkt->entry_count = (uint8_t)prm->req_cnt; - pkt->vp_index = vha->vp_idx; + pkt->vp_index = prm->cmd->vp_idx; h = qlt_make_handle(qpair); if (unlikely(h == QLA_TGT_NULL_HANDLE)) { @@ -2583,6 +2582,7 @@ static int qlt_pre_xmit_response(struct qla_tgt_cmd *cmd, uint32_t *full_req_cnt) { struct se_cmd *se_cmd = &cmd->se_cmd; + struct qla_qpair *qpair = cmd->qpair; prm->cmd = cmd; prm->tgt = cmd->tgt; @@ -2608,7 +2608,7 @@ static int qlt_pre_xmit_response(struct qla_tgt_cmd *cmd, if (se_cmd->se_cmd_flags & SCF_UNDERFLOW_BIT) { prm->residual = se_cmd->residual_count; - ql_dbg(ql_dbg_io + ql_dbg_verbose, cmd->vha, 0x305c, + ql_dbg_qp(ql_dbg_io + ql_dbg_verbose, qpair, 0x305c, "Residual underflow: %d (tag %lld, op %x, bufflen %d, rq_result %x)\n", prm->residual, se_cmd->tag, se_cmd->t_task_cdb ? se_cmd->t_task_cdb[0] : 0, @@ -2616,7 +2616,7 @@ static int qlt_pre_xmit_response(struct qla_tgt_cmd *cmd, prm->rq_result |= SS_RESIDUAL_UNDER; } else if (se_cmd->se_cmd_flags & SCF_OVERFLOW_BIT) { prm->residual = se_cmd->residual_count; - ql_dbg(ql_dbg_io, cmd->vha, 0x305d, + ql_dbg_qp(ql_dbg_io, qpair, 0x305d, "Residual overflow: %d (tag %lld, op %x, bufflen %d, rq_result %x)\n", prm->residual, se_cmd->tag, se_cmd->t_task_cdb ? se_cmd->t_task_cdb[0] : 0, cmd->bufflen, prm->rq_result); @@ -2672,7 +2672,7 @@ static void qlt_24xx_init_ctio_to_isp(struct ctio7_to_24xx *ctio, if (qlt_need_explicit_conf(prm->cmd, 1)) { if ((prm->rq_result & SS_SCSI_STATUS_BYTE) != 0) { - ql_dbg(ql_dbg_tgt, prm->cmd->vha, 0xe017, + ql_dbg_qp(ql_dbg_tgt, prm->cmd->qpair, 0xe017, "Skipping EXPLICIT_CONFORM and " "CTIO7_FLAGS_CONFORM_REQ for FCP READ w/ " "non GOOD status\n"); @@ -2867,9 +2867,9 @@ qlt_build_ctio_crc2_pkt(struct qla_qpair *qpair, struct qla_tgt_prm *prm) prm->pkt = pkt; memset(pkt, 0, sizeof(*pkt)); - ql_dbg(ql_dbg_tgt, vha, 0xe071, + ql_dbg_qp(ql_dbg_tgt, cmd->qpair, 0xe071, "qla_target(%d):%s: se_cmd[%p] CRC2 prot_op[0x%x] cmd prot sg:cnt[%p:%x] lba[%llu]\n", - vha->vp_idx, __func__, se_cmd, se_cmd->prot_op, + cmd->vp_idx, __func__, se_cmd, se_cmd->prot_op, prm->prot_sg, prm->prot_seg_cnt, se_cmd->t_task_lba); if ((se_cmd->prot_op == TARGET_PROT_DIN_INSERT) || @@ -2932,7 +2932,7 @@ qlt_build_ctio_crc2_pkt(struct qla_qpair *qpair, struct qla_tgt_prm *prm) /* Update entry type to indicate Command Type CRC_2 IOCB */ pkt->entry_type = CTIO_CRC2; pkt->entry_count = 1; - pkt->vp_index = vha->vp_idx; + pkt->vp_index = cmd->vp_idx; h = qlt_make_handle(qpair); if (unlikely(h == QLA_TGT_NULL_HANDLE)) { @@ -3080,7 +3080,7 @@ int qlt_xmit_response(struct qla_tgt_cmd *cmd, int xmit_type, return 0; } - ql_dbg(ql_dbg_tgt, cmd->vha, 0xe018, + ql_dbg_qp(ql_dbg_tgt, qpair, 0xe018, "is_send_status=%d, cmd->bufflen=%d, cmd->sg_cnt=%d, cmd->dma_data_direction=%d se_cmd[%p] qp %d\n", (xmit_type & QLA_TGT_XMIT_STATUS) ? 1 : 0, cmd->bufflen, cmd->sg_cnt, cmd->dma_data_direction, @@ -3106,7 +3106,7 @@ int qlt_xmit_response(struct qla_tgt_cmd *cmd, int xmit_type, */ cmd->state = QLA_TGT_STATE_PROCESSED; qlt_abort_cmd_on_host_reset(cmd->vha, cmd); - ql_dbg(ql_dbg_async, vha, 0xe101, + ql_dbg_qp(ql_dbg_async, qpair, 0xe101, "RESET-RSP online/active/old-count/new-count = %d/%d/%d/%d.\n", vha->flags.online, qla2x00_reset_active(vha), cmd->reset_count, qpair->chip_reset); @@ -3164,7 +3164,7 @@ int qlt_xmit_response(struct qla_tgt_cmd *cmd, int xmit_type, (struct ctio7_to_24xx *)qlt_get_req_pkt( qpair->req); - ql_dbg(ql_dbg_tgt, vha, 0x305e, + ql_dbg_qp(ql_dbg_tgt, qpair, 0x305e, "Building additional status packet 0x%p.\n", ctio); @@ -3191,7 +3191,6 @@ int qlt_xmit_response(struct qla_tgt_cmd *cmd, int xmit_type, */ qlt_24xx_init_ctio_to_isp((struct ctio7_to_24xx *)ctio, &prm); - pr_debug("Status CTIO7: %p\n", ctio); } } else qlt_24xx_init_ctio_to_isp(pkt, &prm); @@ -3246,7 +3245,7 @@ int qlt_rdy_to_xfer(struct qla_tgt_cmd *cmd) */ cmd->state = QLA_TGT_STATE_NEED_DATA; qlt_abort_cmd_on_host_reset(cmd->vha, cmd); - ql_dbg(ql_dbg_async, vha, 0xe102, + ql_dbg_qp(ql_dbg_async, qpair, 0xe102, "RESET-XFR online/active/old-count/new-count = %d/%d/%d/%d.\n", vha->flags.online, qla2x00_reset_active(vha), cmd->reset_count, qpair->chip_reset); @@ -4222,6 +4221,7 @@ static struct qla_tgt_cmd *qlt_get_tag(scsi_qla_host_t *vha, (struct scsi_lun *)&atio->u.isp24.fcp_cmnd.lun); qlt_assign_qpair(vha, cmd); cmd->reset_count = vha->hw->base_qpair->chip_reset; + cmd->vp_idx = vha->vp_idx; return cmd; } diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h index 30a389445de4..bb8f73a86b2b 100644 --- a/drivers/scsi/qla2xxx/qla_target.h +++ b/drivers/scsi/qla2xxx/qla_target.h @@ -908,6 +908,7 @@ struct qla_tgt_cmd { u64 unpacked_lun; enum dma_data_direction dma_data_direction; + uint16_t vp_idx; uint16_t loop_id; /* to save extra sess dereferences */ struct qla_tgt *tgt; /* to save extra sess dereferences */ struct scsi_qla_host *vha;