From mboxrd@z Thu Jan 1 00:00:00 1970 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.8 required=3.0 tests=BAYES_00, 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 C045CC2B9F4 for ; Thu, 17 Jun 2021 10:18:38 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id 52A1061245 for ; Thu, 17 Jun 2021 10:18:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 52A1061245 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7F35540150; Thu, 17 Jun 2021 12:18:37 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 866BA40150 for ; Thu, 17 Jun 2021 12:18:35 +0200 (CEST) IronPort-SDR: /5AWGalCRTNZWjZK0/n3DbAJwm4t6bk8BibchA1vkqL1CgQlL41ZzIcuHoMoQ4mxQE2upFTeTE YbvSzUdGOykw== X-IronPort-AV: E=McAfee;i="6200,9189,10017"; a="206297203" X-IronPort-AV: E=Sophos;i="5.83,280,1616482800"; d="scan'208";a="206297203" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2021 03:18:31 -0700 IronPort-SDR: ahB7e/5UN+Wg0CWOxhWCMsX9Y4BBEjFdjUd/Qe1XXzGtSZfFuMJ4clEsUGQmWzxXYJ6Ynb0Gfi 012Itn/AGTLA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,280,1616482800"; d="scan'208";a="488603090" Received: from dpdk-xuting-main.sh.intel.com ([10.67.117.76]) by fmsmga002.fm.intel.com with ESMTP; 17 Jun 2021 03:18:29 -0700 From: Ting Xu To: dev@dpdk.org Cc: qi.z.zhang@intel.com, jingjing.wu@intel.com, beilei.xing@intel.com, qiming.yang@intel.com Date: Thu, 17 Jun 2021 18:17:03 +0800 Message-Id: <20210617101708.113951-1-ting.xu@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210601014034.36100-1-ting.xu@intel.com> References: <20210601014034.36100-1-ting.xu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 0/5] Enable ETS-based Tx QoS for VF in DCF X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch enables the ETS-based Tx QoS for IAVF. Kernel tool is used to configure ETS first. DCF is used to set bandwidth limit for VFs of each TC. IAVF is supported to query QoS capability and set queue TC mapping. Traffic Management API is utilized to configure the QoS hierarchy scheduler tree. The scheduler tree will be passed to hardware to enable all above functions. Ting Xu (5): common/iavf: support ETS-based QoS offload configuration net/ice/base: support DCF query port ETS adminq net/ice: support DCF link status event handling net/ice: support QoS config VF bandwidth in DCF net/iavf: query QoS cap and set queue TC mapping drivers/common/iavf/iavf_type.h | 2 + drivers/common/iavf/virtchnl.h | 125 ++++++ drivers/net/iavf/iavf.h | 45 ++ drivers/net/iavf/iavf_ethdev.c | 31 ++ drivers/net/iavf/iavf_tm.c | 663 +++++++++++++++++++++++++++++ drivers/net/iavf/iavf_vchnl.c | 56 ++- drivers/net/iavf/meson.build | 1 + drivers/net/ice/base/ice_dcb.c | 3 +- drivers/net/ice/ice_dcf.c | 6 +- drivers/net/ice/ice_dcf.h | 53 +++ drivers/net/ice/ice_dcf_ethdev.c | 67 ++- drivers/net/ice/ice_dcf_ethdev.h | 3 + drivers/net/ice/ice_dcf_parent.c | 81 ++++ drivers/net/ice/ice_dcf_sched.c | 688 +++++++++++++++++++++++++++++++ drivers/net/ice/meson.build | 3 +- 15 files changed, 1820 insertions(+), 7 deletions(-) create mode 100644 drivers/net/iavf/iavf_tm.c create mode 100644 drivers/net/ice/ice_dcf_sched.c -- 2.25.1