Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2435314imm; Mon, 28 May 2018 08:03:27 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrzMmMasCBzHke4a2QaYbFD0wL05k8OFWmVzD0KbREZEvzEiN5TXLvU0m2GFpRlVItQw/Gn X-Received: by 2002:a63:77c9:: with SMTP id s192-v6mr10896635pgc.140.1527519807165; Mon, 28 May 2018 08:03:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527519807; cv=none; d=google.com; s=arc-20160816; b=zSSA9ZJ4hHs9T7OLo22ox+SVe9q3M8OD7o8ENK/j1o9HDuG15nooswNG773iCc5qws RuFBMZL/vg8qI6B8EAjFatb+Ep+xiq0Jai2+iRXdTmxuEdcokPhCOxji9WjC2UOCMiaZ w5BEAgzqV/oE93DfD1MkrOBWPq3NkSrfh6ravhV+vgmDcXiro2xHGJ9Gy05fyjFVL8S6 xAjSpvNXDjGXHAcdlHrSDzwx15RiwD88Y5dMA4Hqyh+BZvFlr4lQU1QIzOlk3TW9S+2u A/Im+AMRjiUBTy//txy/oC7sMiE64bnrmHDcGZzytL3OmN4mAzpW/GvkOWGILDAVxFFT oXfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=lYCe9MNIHvdWHXTMXETVbcIXs8rPePpGNSiUS1xONuQ=; b=MPBr4oNSRemq4Vgo23t/dkGe5d7mU5HwuJ66iFRvCMYDeKNloWdPmVIlwRLEt0SrxM E9WmeWV+3LlYdaxYGvbc+9Rsruj+X64IhuqYf6p2KTn4YXaKNI7SfW8iFJiN16000Fam Oh1JKND8OAb/v222QU7urvnkBlajjaEkGUEX41mWhD1DgAiLvBsx1WdWSw1CqAFT+la5 /mzxPeWoR2QfQqnlr10TZ2HHLub/65/Z78Yw1Dwn4secq+ttqiZ9dSYLvFCbWGRDvEdA kWsQNap0+1v7wXqs8Qn/FLqaqAyGaAnR1xMdLYteFJCDfcX/J8e8pWVOGqOn1xs6yww3 NB7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pshpP4oN; 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 p13-v6si23050647pgv.182.2018.05.28.08.03.12; Mon, 28 May 2018 08:03:27 -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=pshpP4oN; 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 S937223AbeE1O73 (ORCPT + 99 others); Mon, 28 May 2018 10:59:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:45230 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1034079AbeE1KZy (ORCPT ); Mon, 28 May 2018 06:25:54 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 91A872088E; Mon, 28 May 2018 10:25:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527503154; bh=QSnA01AmOoPSpRmyw5RHT7tr6qRcVt2OigYrr7lrImo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pshpP4oNJ+cXIZ+ZuM4T3UUs/OyqK3F3Y0rrQIU9SLjm/n6D8MMKAXrCN+SRTLpI6 ml6EqzqZ+Yi5V+CGwgQ4KeOCLTZ7nplAgG3Y9x8KE6Etss/YR89zAAsQygtveORc6H E2JnT6JZgt56AERUM0/I2+UKtvGkgZ/1Ymj1XkK0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dick Kennedy , James Smart , Hannes Reinecke , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.4 263/268] scsi: lpfc: Fix frequency of Release WQE CQEs Date: Mon, 28 May 2018 12:03:57 +0200 Message-Id: <20180528100232.712860896@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100202.045206534@linuxfoundation.org> References: <20180528100202.045206534@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: James Smart [ Upstream commit 04673e38f56b30cd39b1fa0f386137d818b17781 ] The driver controls when the hardware sends completions that communicate consumption of elements from the WQ. This is done by setting a WQEC bit on a WQE. The current driver sets it on every Nth WQE posting. However, the driver isn't clearing the bit if the WQE is reused. Thus, if the queue depth isn't evenly divisible by N, with enough time, it can be set on every element, creating a lot of overhead and risking CQ full conditions. Correct by clearing the bit when not setting it on an Nth element. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Hannes Reinecke Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/lpfc/lpfc_sli.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -115,6 +115,8 @@ lpfc_sli4_wq_put(struct lpfc_queue *q, u /* set consumption flag every once in a while */ if (!((q->host_index + 1) % q->entry_repost)) bf_set(wqe_wqec, &wqe->generic.wqe_com, 1); + else + bf_set(wqe_wqec, &wqe->generic.wqe_com, 0); if (q->phba->sli3_options & LPFC_SLI4_PHWQ_ENABLED) bf_set(wqe_wqid, &wqe->generic.wqe_com, q->queue_id); lpfc_sli_pcimem_bcopy(wqe, temp_wqe, q->entry_size);