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 19DDFA0540; Mon, 4 Jul 2022 18:12:28 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0C60240E50; Mon, 4 Jul 2022 18:12:28 +0200 (CEST) Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by mails.dpdk.org (Postfix) with ESMTP id 2373B4021D for ; Mon, 4 Jul 2022 18:12:26 +0200 (CEST) Received: by mail-qt1-f174.google.com with SMTP id c13so10404857qtq.10 for ; Mon, 04 Jul 2022 09:12:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=S6xKAToZRcRtEOEohzWLUNypN6zCUL6ZiHOGdpbQlfU=; b=iE7WdK+UjVp9sPMzJozwfJR0Gum6IwYm5SYknisBXgiTCbhmYZmhy6WWGaxQKyyVnm gwhZlWd5+m6p2dzqfySaICe8wLTSZaLWtdChgx3yVC8zIhO+MRnLvzd4v3VxG0f/WRvX up7ftYpUM3uDOx05CYdbJk5ID/rg3/RJhoEtTDtd9V5HEKrFfmOzAKcR9XRq6FeBPKP6 sQ8wYG3ZRTbPlj1zotTYNoyXtfoDmkDAXqnnqUpUoZ1N8wqUnsjzOzxspJ6RrN3DUdfP FkoGROl1IITnsK3zN20C73bfMhwx/uAmnc28ugZiVVGjpk42cU2oid7iPM4xl384u1P3 F3jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=S6xKAToZRcRtEOEohzWLUNypN6zCUL6ZiHOGdpbQlfU=; b=jrL7ib+kmETD19s//Q2qohvjn/Ny/igrjW/ZAC0RDi2aPLe+72t/zdz8JzynceXh6f a5x0z263u+CeJyloNcwlVSsoTBsFUYDXfB+9el62AE1PPtCOPQDpmIshw7cFTdT8DIeE r87yarNZ+E8+qiv9kndKemOEwPqbMYizKQavFmRXFfbIZxeS2wsyJw3j5nuxr1Mpmri1 BlhL2P4rkWj0vwaP6JpFmR3Ca1kpZ6WkvlrJDC2sLQte30bsL8DkYfmoj2cb30kJvKOn VgaKPCLxzgOSat5ppXGpZ8oqmTCAdV3bIJck1wvEjq2c1wGkBdExNd+NLul740/waAb1 V9wA== X-Gm-Message-State: AJIora8Gd2kvrGjan9bZbb47oZnZBcpdiB5UyDZdTao8cRoUsoBGHPXY /ysp6/wqCUy9muF83hT/lVJPHYQYRyWtwe2aAHo= X-Google-Smtp-Source: AGRyM1sXSAqLw99l82FS8r4FNc5MpJGf6b06hLazCCp6r2HUTu5o1ypLGItIrosCExLS7pfTVlc9uUS5ixZvQIu43cI= X-Received: by 2002:a05:622a:8e:b0:31d:4a7c:1e66 with SMTP id o14-20020a05622a008e00b0031d4a7c1e66mr5797536qtw.172.1656951145524; Mon, 04 Jul 2022 09:12:25 -0700 (PDT) MIME-Version: 1.0 References: <20220702193500.1654078-1-timothy.mcdaniel@intel.com> In-Reply-To: <20220702193500.1654078-1-timothy.mcdaniel@intel.com> From: Jerin Jacob Date: Mon, 4 Jul 2022 21:41:59 +0530 Message-ID: Subject: Re: [PATCH] doc: update DLB2 documentation To: Timothy McDaniel Cc: Jerin Jacob , dpdk-dev Content-Type: text/plain; charset="UTF-8" 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 On Sun, Jul 3, 2022 at 1:05 AM Timothy McDaniel wrote: > > This commit updates the dlb2.rst eventdev guide to document the > new DLB2 features that were added to dpdk 22.07. > 1) CQ Weight > 2) Port COS > 3) Maximum CQ depth > 4) Maximum enqueue depth > > Signed-off-by: Timothy McDaniel Updated the git commit as follows and applied to dpdk-next-net-eventdev/for-main. Thanks commit 69aec6abd96030f4197685573c8a60395e573c63 (HEAD -> for-main) Author: Timothy McDaniel Date: Sat Jul 2 14:35:00 2022 -0500 doc: update DLB2 documentation Updated DLB2 guide to document following features. 1) CQ Weight 2) Port COS 3) Maximum CQ depth 4) Maximum enqueue depth Signed-off-by: Timothy McDaniel > doc/guides/eventdevs/dlb2.rst | 67 ++++++++++++++++++++++++++++------- > 1 file changed, 54 insertions(+), 13 deletions(-) > > diff --git a/doc/guides/eventdevs/dlb2.rst b/doc/guides/eventdevs/dlb2.rst > index bc53618b53..5b21f13b68 100644 > --- a/doc/guides/eventdevs/dlb2.rst > +++ b/doc/guides/eventdevs/dlb2.rst > @@ -343,23 +343,21 @@ Class of service > ~~~~~~~~~~~~~~~~ > > DLB supports provisioning the DLB bandwidth into 4 classes of service. > +A LDB port or range of LDB ports may be configured to use one of the classes. > +If a port's COS is not defined, then it will be allocated from class 0, > +class 1, class 2, or class 3, in that order, depending on availability. > > -- Class 4 corresponds to 40% of the DLB hardware bandwidth > -- Class 3 corresponds to 30% of the DLB hardware bandwidth > -- Class 2 corresponds to 20% of the DLB hardware bandwidth > -- Class 1 corresponds to 10% of the DLB hardware bandwidth > -- Class 0 corresponds to don't care > - > -The classes are applied globally to the set of ports contained in this > -scheduling domain, which is more appropriate for the bifurcated > -PMD than for the PF PMD, since the PF PMD supports just 1 scheduling > -domain. > - > -Class of service can be specified in the devargs, as follows > +The sum of the cos_bw values may not exceed 100, and no more than > +16 LDB ports may be assigned to a given class of service. If port cos is > +not defined on the command line, then each class is assigned 25% of the > +bandwidth, and the available load balanced ports are split between the classes. > +Per-port class of service and bandwidth can be specified in the devargs, > +as follows. > > .. code-block:: console > > - --allow ea:00.0,cos=<0..4> > + --allow ea:00.0,port_cos=Px-Py:<0-3>,cos_bw=5:10:80:5 > + --allow ea:00.0,port_cos=Px:<0-3>,cos_bw=5:10:80:5 > > Use X86 Vector Instructions > ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > @@ -373,3 +371,46 @@ follows > .. code-block:: console > > --allow ea:00.0,vector_opts_enabled= > + > +Maximum CQ Depth > +~~~~~~~~~~~~~~~~ > + > +DLB supports configuring the maximum depth of a consumer queue (CQ). > +The depth must be between 32 and 128, and must be a power of 2. Note > +that credit deadlocks may occur as a result of changing the default depth. > +To prevent deadlock, the user may also need to configure the maximum > +enqueue depth. > + > + .. code-block:: console > + > + --allow ea:00.0,max_cq_depth= > + > +Maximum Enqueue Depth > +~~~~~~~~~~~~~~~~~~~~~ > + > +DLB supports configuring the maximum enqueue depth of a producer port (PP). > +The depth must be between 32 and 1024, and must be a power of 2. > + > + .. code-block:: console > + > + --allow ea:00.0,max_enqueue_depth= > + > +QE Weight > +~~~~~~~~~ > + > +DLB supports advanced scheduling mechanisms, such as CQ weight. > +Each load balanced CQ has a configurable work capacity (max 256) > +which corresponds to the total QE weight DLB will allow to be enqueued > +to that consumer. Every load balanced event/QE carries a weight of 0, 2, 4, > +or 8 and DLB will increment a (per CQ) load indicator when it schedules a > +QE to that CQ. The weight is also stored in the history list. When a > +completion arrives, the weight is popped from the history list and used to > +decrement the load indicator. This creates a new scheduling condition - a CQ > +whose load is equal to or in excess of capacity is not available for traffic. > +Note that the weight may not exceed the maximum CQ depth. > + > + .. code-block:: console > + > + --allow ea:00.0,cq_weight=all: > + --allow ea:00.0,cq_weight=qidA-qidB: > + --allow ea:00.0,cq_weight=qid: > -- > 2.25.1 >