From patchwork Mon Nov 9 04:24:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Muneendra Kumar X-Patchwork-Id: 321787 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 666CEC2D0A3 for ; Mon, 9 Nov 2020 11:18:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 11EA2206E5 for ; Mon, 9 Nov 2020 11:18:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="Xk0x26c8" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729528AbgKILSZ (ORCPT ); Mon, 9 Nov 2020 06:18:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729510AbgKILSZ (ORCPT ); Mon, 9 Nov 2020 06:18:25 -0500 Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 392EFC0613CF for ; Mon, 9 Nov 2020 03:18:25 -0800 (PST) Received: by mail-pf1-x441.google.com with SMTP id x13so7836629pfa.9 for ; Mon, 09 Nov 2020 03:18:25 -0800 (PST) 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=qickDs3IFp7SDY3FNRSwYvW5iRj/DAHi2V1nVonhKWg=; b=Xk0x26c8lICl/gkg9Ivb3Oj3w2cfFFHe7i2+GmN3kY1uaP4u0J3sugIULHlx4AHQee mNAbNx5yFoPORdKGSETfu5FtQdXxkgcPqGsxLvzJ5Y/TCy2b7lcCZ5oeZiktsbyCbI60 /9aroImGzCA1H91A+5KC4pdHCeLZOALvAF7ok= 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=qickDs3IFp7SDY3FNRSwYvW5iRj/DAHi2V1nVonhKWg=; b=Nh9Hz8wHbn7tiWUIiEHgCihTar8brxgS3DsVgbnA+8K4r6cIoX7Al52dA2ZujXmy0X 8ECZNFjWPZgM0KCG91x9ywV08EwBqy+7hH07gNEA/61Y9NBTjFV+MxffA9hnt87zi+p0 EdlimfYe/v5PZSjfqH9K9kLZ62Lso7gJwxKaRH5MZQ7okyyKrROll4wNl8tdpwSSS2Ae O08LJXKgaEjZRFOLC0Gxwjn2kYyhxXUd9RDdFA4FCywQdw7IhA7d5mCOlDvUwo3Ncqmx 3BHjXEHKK3eowDjankWbDAFh/1PWViN+OH8KiD+y7IvhYuuzgzx+V3XOTKKfZVLn1iL7 DAcQ== X-Gm-Message-State: AOAM532z0LMBZhwxL6V1cJ2NcNDJc2nMQoYPlEzx2IZI+RqriSWxgZhx tB7nlli1eUlNoy4QRxPbLYK8votB+uC2aalH X-Google-Smtp-Source: ABdhPJxObZG9gPREZNxM5/sJNJSyL5S2bdb/IoXyJz+lYQrzm7umUcJwpf6MElVWC9M39gdCP5yRYA== X-Received: by 2002:a17:90a:4dc8:: with SMTP id r8mr12178865pjl.1.1604920704756; Mon, 09 Nov 2020 03:18:24 -0800 (PST) Received: from localhost.localdomain ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id k9sm10889364pfp.68.2020.11.09.03.18.21 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 09 Nov 2020 03:18:24 -0800 (PST) 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: [PATCH v4 17/19] lpfc: vmid: Adding qfpa and vmid timeout check in worker thread Date: Mon, 9 Nov 2020 09:54:03 +0530 Message-Id: <1604895845-2587-18-git-send-email-muneendra.kumar@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1604895845-2587-1-git-send-email-muneendra.kumar@broadcom.com> References: <1604895845-2587-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 Reviewed-by: Hannes Reinecke --- v4: No change v3: No change 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)