DPDK patches and discussions
 help / color / mirror / Atom feed
From: Abdullah Sevincer <abdullah.sevincer@intel.com>
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 <abdullah.sevincer@intel.com>
Subject: [PATCH v5 4/5] doc: update DLB2 documentation
Date: Wed, 19 Jun 2024 16:01:05 -0500	[thread overview]
Message-ID: <20240619210106.253239-5-abdullah.sevincer@intel.com> (raw)
In-Reply-To: <20240619210106.253239-1-abdullah.sevincer@intel.com>

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 <abdullah.sevincer@intel.com>
---
 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=<y/Y>
 
+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


  parent reply	other threads:[~2024-06-19 21:01 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-01 19:46 [PATCH v4 0/3] DLB2 Enhancements Abdullah Sevincer
2024-05-01 19:46 ` [PATCH v4 1/3] event/dlb2: add support for HW delayed token Abdullah Sevincer
2024-05-27 15:19   ` Jerin Jacob
2024-06-19 21:01   ` [PATCH v5 0/5] DLB2 Enhancements Abdullah Sevincer
2024-06-19 21:01     ` [PATCH v5 1/5] event/dlb2: add support for HW delayed token Abdullah Sevincer
2024-06-20 12:01       ` Jerin Jacob
2024-06-19 21:01     ` [PATCH v5 2/5] event/dlb2: add support for dynamic HL entries Abdullah Sevincer
2024-06-19 21:01     ` [PATCH v5 3/5] event/dlb2: enhance DLB credit handling Abdullah Sevincer
2024-06-20 12:09       ` Jerin Jacob
2024-06-26  0:26         ` Sevincer, Abdullah
2024-06-26  9:37           ` Jerin Jacob
2024-06-19 21:01     ` Abdullah Sevincer [this message]
2024-06-19 21:01     ` [PATCH v5 5/5] doc: update release notes for 24.07 Abdullah Sevincer
2024-06-20  7:02       ` David Marchand
2024-05-01 19:46 ` [PATCH v4 2/3] event/dlb2: add support for dynamic HL entries Abdullah Sevincer
2024-05-27 15:23   ` Jerin Jacob
2024-05-01 19:46 ` [PATCH v4 3/3] event/dlb2: enhance DLB credit handling Abdullah Sevincer
2024-05-27 15:30   ` Jerin Jacob
2024-06-04 18:22     ` Sevincer, Abdullah
2024-06-05  4:02       ` Jerin Jacob
2024-06-19 21:07         ` Sevincer, Abdullah
2024-05-02  7:34 ` [PATCH v4 0/3] DLB2 Enhancements Bruce Richardson
2024-05-02 15:52   ` Sevincer, Abdullah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240619210106.253239-5-abdullah.sevincer@intel.com \
    --to=abdullah.sevincer@intel.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=mike.ximing.chen@intel.com \
    --cc=pravin.pathak@intel.com \
    --cc=shivani.doneria@intel.com \
    --cc=tirthendu.sarkar@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).