From patchwork Mon Nov 9 04:23:46 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: 11891119 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DBE4C921 for ; Mon, 9 Nov 2020 11:17:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9D2ED206E5 for ; Mon, 9 Nov 2020 11:17:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="ZIl9Mv90" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729146AbgKILR2 (ORCPT ); Mon, 9 Nov 2020 06:17:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33058 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727303AbgKILR1 (ORCPT ); Mon, 9 Nov 2020 06:17:27 -0500 Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ECD23C0613CF for ; Mon, 9 Nov 2020 03:17:26 -0800 (PST) Received: by mail-pl1-x62e.google.com with SMTP id t18so4584201plo.0 for ; Mon, 09 Nov 2020 03:17:26 -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; bh=DaqcUY9N6bfeZWuzBt4uw+qtr0GeOlrhb+92aGwj6w4=; b=ZIl9Mv90SVwrPyIyQriAEFr8f/wVQahEWxf2vo7SPcihXGiFdOG7D1elE5WN3QYMIq t4DpRISRrX/AhsOVGJeqIVnof9TVnN8hNBIw7R3+enzqqZ5TOuX668OZNibIFeYVL49K 1oy1+2uR6hN5dnxg+QVuEvjyzW2FbbCmUxFDU= 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; bh=DaqcUY9N6bfeZWuzBt4uw+qtr0GeOlrhb+92aGwj6w4=; b=TeblvXrhjn4yjhY66R6UzNA/B1r/eg9GIROIxKp6+igOy9MXm1820D6ZyCumVxBcO5 SoipTPpYIe3ZGqJwAtpIKNukN/Hx2fyV/3hKtQTmsTlNARF+RUrsuVPSp2yOQ2+8Vk/z XsIPgFeEOiuTd8Y5LDLvkGnOeVsngB1+57vvdE3dAH7UCfLqhfeoNmb91LPBKpzqAsgA 0Ob1FIBkbYhz0k4Tp8Ipjte2LIysHNL8Z3EsKWIzlwfgUduQJU4X+jg4I1Z/KDSiHbU8 kmRXZu1o+SBdkeHEnA5mvhd9JLu4siefd+1G/JkRlrkWYB4zr6mM7WzjLuuUuaufkrjW RlLg== X-Gm-Message-State: AOAM530cXQDg3Wz+IkVFbcFKUDvmmR4zfm83r2KttjwnaA6TNiRT+5ol KW27LlLz5D4DTwVjCSYZEwl1Bg== X-Google-Smtp-Source: ABdhPJzjr/BVgoPVSQNUeHknMC8qohGVkHP1Banksggiru4X3WO7wlWwRqKst0aAtW7KejZQPUGS4A== X-Received: by 2002:a17:902:bb8c:b029:d2:2503:e458 with SMTP id m12-20020a170902bb8cb02900d22503e458mr12166620pls.18.1604920646332; Mon, 09 Nov 2020 03:17:26 -0800 (PST) Received: from localhost.localdomain ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id k9sm10889364pfp.68.2020.11.09.03.17.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 09 Nov 2020 03:17:25 -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, Muneendra Subject: [PATCH v4 00/19] blkcg:Support to track FC storage blk io traffic Date: Mon, 9 Nov 2020 09:53:46 +0530 Message-Id: <1604895845-2587-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.10/scsi-queue tree 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 (15): lpfc: vmid: Add the datastructure for supporting VMID in lpfc lpfc: vmid: API to check if VMID is enabled. lpfc: vmid: Supplementary data structures for vmid lpfc: vmid: Forward declarations for APIs lpfc: vmid: Add support for vmid in mailbox command lpfc: vmid: VMID params initialization lpfc: vmid: vmid resource allocation lpfc: vmid: cleanup vmid resources 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 request 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_kernfs_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 | 356 ++++++++++++++++++++++++++++++- 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 | 65 ++++++ include/linux/cgroup.h | 6 + kernel/cgroup/cgroup.c | 26 +++ 20 files changed, 1763 insertions(+), 13 deletions(-)