Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1176792yba; Thu, 9 May 2019 12:02:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqzWeWnrNGms+sMfMmVJGL0SGPQcFh/F1GW5ycH032ycIaZYAq3biNZT+zB9DtjIBZnPciO1 X-Received: by 2002:aa7:98c6:: with SMTP id e6mr7598289pfm.191.1557428543485; Thu, 09 May 2019 12:02:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557428543; cv=none; d=google.com; s=arc-20160816; b=oQt/UmTvAm5I1+8VDtdKCnwirlQ+XmzStiOi9rer4SqklgkR9xG2jlhLKiGR0c68oW THBX/3oi4kBbHILzp7kkM4qAxo4UCvhPbLW6YX5ZRhMQwu7RADekqvaQufzivd950hsy WtFIgLkHlNUYF3FQmnmcLzsmk9rQMeRxcP1zWFXMWOQcc5iJkHoINUj56FE/EpISnncG whHcaGqzrRRksm6r7BzP7UysUMJwsd0SXuXZjRaWLgrF0iuTxFEGkw4oia+ZOFS4nH9j a0wmVgab7E8kP3lzoN1LU2WLUjccwfr4K/OTo64Kc96O0WkzHok5LziWNfdJNfR19A52 nLCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=sXo7yadUy6JY3sma4tTbTi96y2J8H6XRzpwLwzKC3II=; b=jk6NsBXLzx0eoYsCP9vOZd2v7WU4QdQVsnB+NocyH4wP2Ery1qyVic4aPRL8P8Dieo 05XEc2zq6pmkAOfl19oNtqL71AYFlfjececqp/e01Ds4oSQe0Uu6EuO/asBMQGm0OCkO pJPIuLufhwBO7QFqCUaDat3kG/cOiDRA2LZxJhdDaoSHEAiARW30lXbD4DC+nKnIF3ch RZDR6IvvJLXXa97UEaB2M6n68doCyN6h7U/GC1KasEELfCBJBV8Yu0Oidl3VabOa4Sxy Wo2mMunTtOdr3DbFKIoA62feMCxHVL/0UWIaz/D29n7J8Jtq8QL/SBLPd0HhY4TTNu46 veOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=D29CJDxp; 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 bj5si3914465plb.406.2019.05.09.12.02.06; Thu, 09 May 2019 12:02:23 -0700 (PDT) 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; dkim=pass header.i=@kernel.org header.s=default header.b=D29CJDxp; 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 S1728555AbfEISvY (ORCPT + 99 others); Thu, 9 May 2019 14:51:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:45042 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728187AbfEISvS (ORCPT ); Thu, 9 May 2019 14:51:18 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 37F3F20578; Thu, 9 May 2019 18:51:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557427877; bh=DLBaHWJ8etHMqED68yOHHGboeI4028t2Fw312XqA0pU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=D29CJDxpFIDDw/RjFeylPAkiH2HmwUqxMEzYrCqJBuidu4KGpmG5aKs4anHAMBBRE 7++h1vDpLcOMLycnylIZmvxvF0U7oDWi5Z4AXYNWBNb44q81YDHXdHl9hK1YmSyTCy YdsLyG4ear+U6N2WrHzI/TFY0rgWJwvV67A/6GCQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mike Marciniszyn , Alex Estrin , Kaike Wan , Dennis Dalessandro , Jason Gunthorpe , Sasha Levin Subject: [PATCH 5.0 30/95] IB/hfi1: Clear the IOWAIT pending bits when QP is put into error state Date: Thu, 9 May 2019 20:41:47 +0200 Message-Id: <20190509181311.409753392@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190509181309.180685671@linuxfoundation.org> References: <20190509181309.180685671@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 93b289b9aff66eca7575b09f36f5abbeca8e6167 ] When a QP is put into error state, it may be waiting for send engine resources. In this case, the QP will be removed from the send engine's waiting list, but its IOWAIT pending bits are not cleared. This will normally not have any major impact as the QP is being destroyed. However, the QP still needs to wind down its operations, such as draining the send queue by scheduling the send engine. Clearing the pending bits will avoid any potential complications. In addition, if the QP will eventually hang, clearing the pending bits can help debugging by presenting a consistent picture if the user dumps the qp_stats. This patch clears a QP's IOWAIT_PENDING_IB and IO_PENDING_TID bits in priv->s_iowait.flags in this case. Fixes: 5da0fc9dbf89 ("IB/hfi1: Prepare resource waits for dual leg") Reviewed-by: Mike Marciniszyn Reviewed-by: Alex Estrin Signed-off-by: Kaike Wan Signed-off-by: Dennis Dalessandro Signed-off-by: Jason Gunthorpe Signed-off-by: Sasha Levin --- drivers/infiniband/hw/hfi1/qp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/infiniband/hw/hfi1/qp.c b/drivers/infiniband/hw/hfi1/qp.c index 5866f358ea044..df8e812804b34 100644 --- a/drivers/infiniband/hw/hfi1/qp.c +++ b/drivers/infiniband/hw/hfi1/qp.c @@ -834,6 +834,8 @@ void notify_error_qp(struct rvt_qp *qp) if (!list_empty(&priv->s_iowait.list) && !(qp->s_flags & RVT_S_BUSY)) { qp->s_flags &= ~HFI1_S_ANY_WAIT_IO; + iowait_clear_flag(&priv->s_iowait, IOWAIT_PENDING_IB); + iowait_clear_flag(&priv->s_iowait, IOWAIT_PENDING_TID); list_del_init(&priv->s_iowait.list); priv->s_iowait.lock = NULL; rvt_put_qp(qp); -- 2.20.1