Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4151654pxb; Mon, 27 Sep 2021 10:26:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwlCEPacwqG+HYPrGazPnK+bfXdoQzoL42+xkfFv4MNrL9aKxSZnQDSAdAPBwM/xQKSFwBL X-Received: by 2002:a62:1dc5:0:b0:43e:f8a4:49a7 with SMTP id d188-20020a621dc5000000b0043ef8a449a7mr1184830pfd.26.1632763580825; Mon, 27 Sep 2021 10:26:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632763580; cv=none; d=google.com; s=arc-20160816; b=EXRTzQlYV0or7dtZ1/syZvk0xccsrY2P8chiH57pYccZln2H5H8QJDrItvPo81I77x p1+z4XmPsbSWCOqNAdxvCm+dQm+aHMHeZ4/BZ1ETLCptX5tXgTJDUEf6p2mshhDdwkOV 40Tw9V4slzziYvRN74Se1TIgqI6jDq5AqetNFOuHLbYvWIxd8EMNcPJt88ui1xm9sdF5 0r9NWXQO1/N+4OofjdocytOEmPXRJ3jRyTW9p1klpbG62JaVCQdAiB49TFcvfp1LRBaL vxPjqiiTDI8VDTNJugAJV5B6SVzIaHN3uDpbU1tRPX/Nv32yKj6F0ikVMmqE61gFtAnc uNEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=mdIZi5l7gQQOZXWxP44opqU0Vg52t0ViyFpoVCSp/3M=; b=BRGzbMONElVcMLp93VTBW52lZFrnA3kEnbFJiHlg60nXuazcJNWCLws6khVAtTPzgp ZIjllnEi8hwMQJ8Fw7kR3UDPt8+Ce9UeLuLFmZYF3wGhn/xAsoveKNOaEpwRKGPHXKNR OGhFnGZDqEYPt9JKugqrv2i7EcWT2RnPTOkbFofpa+//RXm23Aydr+kk6n9JukujG/vx by3xQzArnDE+MzOl+aGKP40d9MIwLchmEeIRMz1b6BRURDAB4w4bs8gR9XCdPlG8yTH+ Qm79/fJs0sCKAs9CXXoRhf+fohoqPQqhKAX/6/1DZVoN/QmdHTCvEz515dfdMNSoD/eK 2ZYA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=08cu1aWL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t11si22796501pgu.251.2021.09.27.10.26.07; Mon, 27 Sep 2021 10:26:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=08cu1aWL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237746AbhI0RZi (ORCPT + 99 others); Mon, 27 Sep 2021 13:25:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:36614 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237273AbhI0RWv (ORCPT ); Mon, 27 Sep 2021 13:22:51 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 68FEB61362; Mon, 27 Sep 2021 17:14:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632762871; bh=RSZkiJ2yqzaRdXX9rL57ZA7zNS/yRoj+t1rLaJ5pFUc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=08cu1aWLfNAWcQL+7iQ5YhqIgWXw62ADbmV72PGCwWqqm3qq6y40EK694vvNk1vXw LzddOPepyAlWqnN2iie0bovxlAuOssQd0ULz6XaEoJ+hkj+igTVHQ1CWJS++c79CBX UGQ+b25YZcKJJdpjCYgE2G4Zjat6Bmd/XIGkLGv8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michal Kalderon , Ariel Elior , Shai Malin , "David S. Miller" , Sasha Levin Subject: [PATCH 5.14 082/162] qed: rdma - dont wait for resources under hw error recovery flow Date: Mon, 27 Sep 2021 19:02:08 +0200 Message-Id: <20210927170236.283512377@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210927170233.453060397@linuxfoundation.org> References: <20210927170233.453060397@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Shai Malin [ Upstream commit 1ea7812326004afd2803cc968a4776ae5120a597 ] If the HW device is during recovery, the HW resources will never return, hence we shouldn't wait for the CID (HW context ID) bitmaps to clear. This fix speeds up the error recovery flow. Fixes: 64515dc899df ("qed: Add infrastructure for error detection and recovery") Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior Signed-off-by: Shai Malin Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 8 ++++++++ drivers/net/ethernet/qlogic/qed/qed_roce.c | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c index a99861124630..68fbe536a1f3 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c +++ b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c @@ -1297,6 +1297,14 @@ qed_iwarp_wait_cid_map_cleared(struct qed_hwfn *p_hwfn, struct qed_bmap *bmap) prev_weight = weight; while (weight) { + /* If the HW device is during recovery, all resources are + * immediately reset without receiving a per-cid indication + * from HW. In this case we don't expect the cid_map to be + * cleared. + */ + if (p_hwfn->cdev->recov_in_prog) + return 0; + msleep(QED_IWARP_MAX_CID_CLEAN_TIME); weight = bitmap_weight(bmap->bitmap, bmap->max_count); diff --git a/drivers/net/ethernet/qlogic/qed/qed_roce.c b/drivers/net/ethernet/qlogic/qed/qed_roce.c index f16a157bb95a..cf5baa5e59bc 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_roce.c +++ b/drivers/net/ethernet/qlogic/qed/qed_roce.c @@ -77,6 +77,14 @@ void qed_roce_stop(struct qed_hwfn *p_hwfn) * Beyond the added delay we clear the bitmap anyway. */ while (bitmap_weight(rcid_map->bitmap, rcid_map->max_count)) { + /* If the HW device is during recovery, all resources are + * immediately reset without receiving a per-cid indication + * from HW. In this case we don't expect the cid bitmap to be + * cleared. + */ + if (p_hwfn->cdev->recov_in_prog) + return; + msleep(100); if (wait_count++ > 20) { DP_NOTICE(p_hwfn, "cid bitmap wait timed out\n"); -- 2.33.0