From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1FE40424CD; Wed, 19 Jun 2024 23:01:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0CC734279D; Wed, 19 Jun 2024 23:01:19 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by mails.dpdk.org (Postfix) with ESMTP id C4E23427A0 for ; Wed, 19 Jun 2024 23:01:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1718830877; x=1750366877; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=6w55pPSFOQKZMruvtGSOIdLJJm5NSKlQ5igmsiS/skw=; b=eohdepodOTcvZfF/ohSRm2ItYgyTYWqwzd3p2gXq8ZdlmvTKyMNZmxTz o5B76GBKBF+yLZzFvT/1iPgVVZtnlJDEaG6tbBhtXLHskE4Kdtx9kZgfr +tynGxsz+y8zAuG7VSDlrOcRuCDoMIVzDHTfnm6Z7tpDu/EeGm1I75t8q 3rwonDjyJNk9X+c0g86tlthENK2jXuJ1uFIxBT9Tz1Z6Ll+rL2m7zR0Kj AZOd8hx27P4XOo3VxsuK9s2Zdrp74wL7UaERypAta3+FxLP7p66/HaSks igceHrzv4zNjpTpHRjCoaQPBuInZg/ghycj+3TSqZuDMyrU2Xh01kW6Cg Q==; X-CSE-ConnectionGUID: 8F81H4p+QF2A0zejV61bWg== X-CSE-MsgGUID: +XvLv2UORHeMgVSu280pJA== X-IronPort-AV: E=McAfee;i="6700,10204,11108"; a="26906114" X-IronPort-AV: E=Sophos;i="6.08,251,1712646000"; d="scan'208";a="26906114" Received: from fmviesa008.fm.intel.com ([10.60.135.148]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jun 2024 14:01:16 -0700 X-CSE-ConnectionGUID: Hwrf7aO7SUuW1waGc0WrEA== X-CSE-MsgGUID: 8pEX5WSORa+6ZwIYf2WLYg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,251,1712646000"; d="scan'208";a="41979438" Received: from txanpdk02.an.intel.com ([10.123.117.76]) by fmviesa008.fm.intel.com with ESMTP; 19 Jun 2024 14:01:16 -0700 From: Abdullah Sevincer To: dev@dpdk.org Cc: jerinj@marvell.com, mike.ximing.chen@intel.com, tirthendu.sarkar@intel.com, pravin.pathak@intel.com, shivani.doneria@intel.com, Abdullah Sevincer Subject: [PATCH v5 4/5] doc: update DLB2 documentation Date: Wed, 19 Jun 2024 16:01:05 -0500 Message-Id: <20240619210106.253239-5-abdullah.sevincer@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240619210106.253239-1-abdullah.sevincer@intel.com> References: <20240501194620.1199357-2-abdullah.sevincer@intel.com> <20240619210106.253239-1-abdullah.sevincer@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 This commit updates the dlb2.rst eventdev guide to document for new features: HW delayed token support, dynamic hl entries and improvement in DLB credit handling. Signed-off-by: Abdullah Sevincer --- doc/guides/eventdevs/dlb2.rst | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/doc/guides/eventdevs/dlb2.rst b/doc/guides/eventdevs/dlb2.rst index 2532d92888..dfa4e1d903 100644 --- a/doc/guides/eventdevs/dlb2.rst +++ b/doc/guides/eventdevs/dlb2.rst @@ -456,6 +456,66 @@ Example command to enable QE Weight feature: --allow ea:00.0,enable_cq_weight= +Dynamic History List Entries +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +DLB has 64 LDB ports and 2048 HL entries. If all LDB ports are used, +possible HL entries per LDB port equals 2048 / 64 = 32. So, the +maximum CQ depth possible is 16, if all 64 LB ports are needed in a +high-performance setting. + +In case all CQs are configured to have HL = 2* CQ Depth as a +performance option, then the calculation of HL at the time of domain +creation will be based on maximum possible dequeue depth. This could +result in allocating too many HL entries to the domain as DLB only +has a limited number of HL entries to be allocated. Hence, it is best +to allow application to specify HL entries as a command line argument +and override default allocation. A summary of usage is listed below: + +When 'use_default_hl = 1', Per port HL is set to +DLB2_FIXED_CQ_HL_SIZE (32) and command line parameter +alloc_hl_entries is ignored. + +When 'use_default_hl = 0', Per LDB port HL = 2 * CQ depth and per +port HL is set to 2 * DLB2_FIXED_CQ_HL_SIZE. + +Users should calculate needed HL entries based on CQ depths the +application will use and specify it as command line parameter +'alloc_hl_entries'. This will be used to allocate HL entries. +Hence, alloc_hl_entries = (Sum of all LDB ports CQ depths * 2). + +If alloc_hl_entries is not specified, then Total HL entries for the +vdev = num_ldb_ports * 64 + +Example command to use dynamic history list entries feature: + + .. code-block:: console + + --allow ea:00.0,use_default_hl=0,alloc_hl_entries=1024 + +Credit Handling Scenario Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When ports hold on to credits but can't release them due to insufficient +accumulation (less than 2 * credit quanta) deadlocks may occur. Improvement +made for worker ports to release all accumulated credits when back-to-back +zero poll count reaches preset threshold and producer ports release all +accumulated credits if enqueue fails for a consecutive number of retries. + +New meson options are provided for handling credits. Valid options are +are ``bypass_fence``, ``hw_credits_checks``, ``sw_credits_checks`` and +``type_check``. These options need to be provided in meson in comma +separated form. + +The default behavior for ``bypass_fence`` is disabled and all others are +enabled. + +Example command to use as meson option for credit handling: + + .. code-block:: console + + meson configure -Ddlb_pmd_args=bypass_fence:0,hw_credits_checks:1 + Running Eventdev Applications with DLB Device --------------------------------------------- -- 2.25.1