From patchwork Mon Oct 19 07:43:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Muneendra Kumar X-Patchwork-Id: 287110 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.2 required=3.0 tests=BAYES_00, DATE_IN_PAST_06_12, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_HEADER_CTYPE_ONLY,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, T_TVD_MIME_NO_HEADERS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8B58C43457 for ; Mon, 19 Oct 2020 14:37:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6329C222C3 for ; Mon, 19 Oct 2020 14:37:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="Ayw6vJEU" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729631AbgJSOhl (ORCPT ); Mon, 19 Oct 2020 10:37:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729223AbgJSOhk (ORCPT ); Mon, 19 Oct 2020 10:37:40 -0400 Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BEEE6C0613CE for ; Mon, 19 Oct 2020 07:37:40 -0700 (PDT) Received: by mail-pf1-x442.google.com with SMTP id e15so68143pfh.6 for ; Mon, 19 Oct 2020 07:37:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=3+aHRBs9BCA9iChNfiuc+rtxuWm/Sy061WpVwERrzuM=; b=Ayw6vJEU/TI+aV7HgUN2D+BvsatrlY/4Kh17SjRgHrel1FFXbyzz8aD41BG7wVgu90 LXZBKIfJpdFtpV7cFerzgu4a5qRgdP3p2tzOVMeHyRI6GInRs8iUO0plBGnfmrfrKA8f tHqyrRWs5+EtsS69nigOBnyXQJ+AJRg+xYaJM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=3+aHRBs9BCA9iChNfiuc+rtxuWm/Sy061WpVwERrzuM=; b=CVGTqC0HQOkXooOpORLj/+PAdEKI9yESgnHIpsgB0xPscT4rB9fd3DSQchejz3a3GU kiwd70U0T2YNYPhRiVKDmuZE0zBJq1ko1/wYy7z9G3H7mE6sWDWFGL2TiI+DA1g9CM01 WtKNjf4SckK8VRRORL3eb53wuK4QNHIomwJTxyoGxqKF6fzOgKRogLwr/6lCPMDruK29 jzRHB9EA8CDlDYbh5jK+3qOQBAIj0IEtG5ybAgXJ8gUupIyL7mIlI3REX6udJMkm4mes 6vAbyUxfXKAe0xWCg/dGKGn6KlLzc3wLEt2IvQLKdk91qsEmQS4GoCSq3EehgiGuMFC1 u6kw== X-Gm-Message-State: AOAM530MqveYxgmbDGR9dGVSUhG/JLjn2fscCiXWtGRdVu9d+vxMnC1G 6rQflwvRofEDbceqE0DEz0lJmw== X-Google-Smtp-Source: ABdhPJyywZrIxN0Ny18WPaahqzIHUvpo37azAKHmOMwzseDtU29GLd0r8eOrt6TxPoOR4RCOQUPG3Q== X-Received: by 2002:a63:f514:: with SMTP id w20mr14743260pgh.313.1603118260156; Mon, 19 Oct 2020 07:37:40 -0700 (PDT) Received: from localhost.localdomain ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id kb15sm53377pjb.17.2020.10.19.07.37.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Oct 2020 07:37:39 -0700 (PDT) From: Muneendra To: linux-block@vger.kernel.org, linux-scsi@vger.kernel.org, tj@kernel.org, linux-nvme@lists.infradead.org Cc: jsmart2021@gmail.com, emilne@redhat.com, mkumar@redhat.com, pbonzini@redhat.com, Gaurav Srivastava Subject: [RFC v2 17/18] lpfc: vmid: Adding qfpa and vmid timeout check in worker thread Date: Mon, 19 Oct 2020 13:13:12 +0530 Message-Id: <1603093393-12875-18-git-send-email-muneendra.kumar@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1603093393-12875-1-git-send-email-muneendra.kumar@broadcom.com> References: <1603093393-12875-1-git-send-email-muneendra.kumar@broadcom.com> Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org From: Gaurav Srivastava This patch add the periodic check for issuing of qfpa command and vmid timeout in the worker thread. The inactivity timeout check is added via the timer function. Signed-off-by: Gaurav Srivastava Signed-off-by: James Smart --- v2: Ported the patch on top of 5.10/scsi-queue --- drivers/scsi/lpfc/lpfc_hbadisc.c | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index b20013866942..38df3c4341f9 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c @@ -433,6 +433,32 @@ lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *ndlp) return fcf_inuse; } +void lpfc_check_vmid_qfpa_issue(struct lpfc_hba *phba) +{ + struct lpfc_vport *vport; + struct lpfc_vport **vports; + int i, ret; + + vports = lpfc_create_vport_work_array(phba); + if (!vports) + return; + + for (i = 0; i <= phba->max_vports; i++) { + if ((!vports[i]) && (i == 0)) + vport = phba->pport; + else + vport = vports[i]; + if (!vport) + break; + + if (vport->vmid_flag & LPFC_VMID_ISSUE_QFPA) { + ret = lpfc_issue_els_qfpa(vport); + vport->vmid_flag &= ~LPFC_VMID_ISSUE_QFPA; + } + } + lpfc_destroy_vport_work_array(phba, vports); +} + /** * lpfc_sli4_post_dev_loss_tmo_handler - SLI4 post devloss timeout handler * @phba: Pointer to hba context object. @@ -744,6 +770,22 @@ lpfc_work_done(struct lpfc_hba *phba) if (ha_copy & HA_LATT) lpfc_handle_latt(phba); + /* Handle VMID Events */ + if (lpfc_is_vmid_enabled(phba)) { + if (phba->pport->work_port_events & + WORKER_CHECK_VMID_ISSUE_QFPA) { + lpfc_check_vmid_qfpa_issue(phba); + phba->pport->work_port_events &= + ~WORKER_CHECK_VMID_ISSUE_QFPA; + } + if (phba->pport->work_port_events & + WORKER_CHECK_INACTIVE_VMID) { + lpfc_check_inactive_vmid(phba); + phba->pport->work_port_events &= + ~WORKER_CHECK_INACTIVE_VMID; + } + } + /* Process SLI4 events */ if (phba->pci_dev_grp == LPFC_PCI_DEV_OC) { if (phba->hba_flag & HBA_RRQ_ACTIVE)