From patchwork Wed Dec 16 05:29:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Muneendra Kumar M X-Patchwork-Id: 11977415 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=-12.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,SPF_HELO_NONE, SPF_PASS,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 5D8B9C2BBD5 for ; Wed, 16 Dec 2020 12:23:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 25C0B233FC for ; Wed, 16 Dec 2020 12:23:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725905AbgLPMX2 (ORCPT ); Wed, 16 Dec 2020 07:23:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725385AbgLPMX2 (ORCPT ); Wed, 16 Dec 2020 07:23:28 -0500 Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 02752C061794 for ; Wed, 16 Dec 2020 04:22:47 -0800 (PST) Received: by mail-pj1-x102e.google.com with SMTP id f14so1394507pju.4 for ; Wed, 16 Dec 2020 04:22:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:from:to:cc:subject:date:message-id; bh=CZSLMurkpgBkYRt7pKJT+sJMGU+BFI/LZiqjWHQ9Fmk=; b=VAF7kLyPCzpNf3m6F2CRP60wCe/ugUZh9N4mDrGJmp4SWmMnMXoQJVZna9v9nY3RK9 FTu9Y/6c7YNKrm8jfJpn1zSCV9msL8XFr7R0EV9EROu8EWosdx8LFqLZ9+Y5Ks47S0bf NmodIoyniQ3gaJbffWv4HU41y5lx6M4HLO13k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=mime-version:x-gm-message-state:from:to:cc:subject:date:message-id; bh=CZSLMurkpgBkYRt7pKJT+sJMGU+BFI/LZiqjWHQ9Fmk=; b=iZM2pbAf9QpXyaAUxCuiJxqs3vKfo5ym/vBbHQCHx17rcqdVwGj1A6LAu6F8ewauje aFe/L9zAPgq28jyKEBPpxBFZnfZu2SMjWDsywFXGt8jxS6LO05FKk4fKvbqeo+QcBRyJ W8oiO1G5an4agy2DfxWOPagxITVrwvbvZDb6ou4tIMl8xhkHlF8CVtK0VFB6enmKyled ZMw0RGj3ZXJSAZImUsjDTGT2Vfk4qBrxoRwrbSIkjzMqzG/DC7M1y1xYy7qZcac3aSGq iZrFOKyXK5mACKkMZtYwUCBLiUR3ujY2YjURdgpT9vOO7jt8Sxu7siR8vX9IKoVk7dVy xdNA== MIME-Version: 1.0 X-Gm-Message-State: AOAM531uWSf6TkauTnO2wkDVtEIhLkSe6Fs71lMWYenRmK+GnIYZJw7T /rqgOyAZsmgphRZxECJ725T0eR0gzuipCSBRaS4DI9xBQ/il5zaTpgebnS6pva4kmnziQ5mJeOv K0uqXt7lZewiL X-Google-Smtp-Source: ABdhPJy8NnByWAYwsRu9jCFmaCXklcEJRWrTzv5wETTbmnLT4euQZiXC14W6oFqEq1HLjl95oVW3Hg== X-Received: by 2002:a17:902:c409:b029:dc:1b6:7448 with SMTP id k9-20020a170902c409b02900dc01b67448mr12041214plk.19.1608121366816; Wed, 16 Dec 2020 04:22:46 -0800 (PST) Received: from localhost.localdomain ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id s7sm2477296pfh.207.2020.12.16.04.22.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Dec 2020 04:22:46 -0800 (PST) From: Muneendra To: linux-block@vger.kernel.org, linux-scsi@vger.kernel.org, tj@kernel.org, linux-nvme@lists.infradead.org, hare@suse.de Cc: jsmart2021@gmail.com, emilne@redhat.com, mkumar@redhat.com, pbonzini@redhat.com, Muneendra Subject: [PATCH v5 00/16] blkcg:Support to track FC storage blk io traffic Date: Wed, 16 Dec 2020 10:59:30 +0530 Message-Id: <1608096586-21656-1-git-send-email-muneendra.kumar@broadcom.com> X-Mailer: git-send-email 1.8.3.1 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org This Patch added a unique application identifier i.e app_id knob to blkcg which allows identification of traffic sources at an individual cgroup based Applications (ex:virtual machine (VM))level in both host and fabric infrastructure. Added a new sysfs attribute appid_store to set the application identfier in the blkcg associted with cgroup id /sys/class/fc/fc_udev_device/* With this new interface the user can set the application identfier in the blkcg associted with cgroup id. This capability can be utilized by multiple block transport infrastructure like fc,iscsi,roce. Existing FC fabric will use this feature and the description of the use case is below. Various virtualization technologies used in Fibre Channel SAN deployments have created the opportunity to identify and associate traffic with specific virtualized applications. The concepts behind the T11 Application Services standard is to provide the general mechanisms needed to identify virtualized services. It enables the Fabric and the storage targets to identify, monitor, and handle FC traffic based on vm tags by inserting application specific identification into the FC frame. The patches were cut against 5.11/scsi-queue tree v5: Renamed the function cgroup_get_from_kernfs_id to cgroup_get_from_id. Moved the input validation at the beginning of the function in Renamed the arguments appropriatley. Changed Return code to non-numeric/SymbolChanged Return code to non-numeric/Symbol Modified the comments. v4: Addressed the error reported by kernel test robot v3: removed RFC. Renamed the functions and app_id to more specific Addressed the reference leaks in blkcg_set_app_identifier Added a new config BLK_CGROUP_FC_APPID and made changes to select the same under SCSI_FC_ATTRS V2: renamed app_identifier to app_id. removed the sysfs interface blkio.app_identifie under /sys/fs/cgroup/blkio Ported the patch on top of 5.10/scsi-queue. Removed redundant code due to changes since last submit. Added a fix for issuing QFPA command. Gaurav Srivastava (12): lpfc: vmid: Add the datastructure for supporting VMID in lpfc lpfc: vmid: Supplementary data structures for vmid and APIs lpfc: vmid: Forward declarations for APIs lpfc: vmid: VMID params initialization lpfc: vmid: Add support for vmid in mailbox command, does vmid resource allocation and vmid cleanup lpfc: vmid: Implements ELS commands for appid patch lpfc: vmid: Functions to manage vmids lpfc: vmid: Implements CT commands for appid. lpfc: vmid: Appends the vmid in the wqe before sending lpfc: vmid: Timeout implementation for vmid lpfc: vmid: Adding qfpa and vmid timeout check in worker thread lpfc: vmid: Introducing vmid in io path. Muneendra (4): cgroup: Added cgroup_get_from_id blkcg: Added a app identifier support for blkcg nvme: Added a newsysfs attribute appid_store scsi: Made changes in Kconfig to select BLK_CGROUP_FC_APPID block/Kconfig | 9 + drivers/nvme/host/fc.c | 73 +++++- drivers/scsi/Kconfig | 13 ++ drivers/scsi/lpfc/lpfc.h | 121 ++++++++++ drivers/scsi/lpfc/lpfc_attr.c | 47 ++++ drivers/scsi/lpfc/lpfc_crtn.h | 11 + drivers/scsi/lpfc/lpfc_ct.c | 249 +++++++++++++++++++++ drivers/scsi/lpfc/lpfc_disc.h | 1 + drivers/scsi/lpfc/lpfc_els.c | 371 ++++++++++++++++++++++++++++++- drivers/scsi/lpfc/lpfc_hbadisc.c | 151 +++++++++++++ drivers/scsi/lpfc/lpfc_hw.h | 124 ++++++++++- drivers/scsi/lpfc/lpfc_hw4.h | 12 + drivers/scsi/lpfc/lpfc_init.c | 108 +++++++++ drivers/scsi/lpfc/lpfc_mbox.c | 6 + drivers/scsi/lpfc/lpfc_scsi.c | 325 +++++++++++++++++++++++++++ drivers/scsi/lpfc/lpfc_sli.c | 65 +++++- drivers/scsi/lpfc/lpfc_sli.h | 8 + include/linux/blk-cgroup.h | 56 +++++ include/linux/cgroup.h | 6 + kernel/cgroup/cgroup.c | 26 +++ 20 files changed, 1769 insertions(+), 13 deletions(-)