DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Timothy McDaniel <timothy.mcdaniel@intel.com>
Cc: Jerin Jacob <jerinj@marvell.com>, dpdk-dev <dev@dpdk.org>
Subject: Re: [PATCH 1/3] event/dlb2: add producer port probing optimization
Date: Sat, 3 Sep 2022 18:46:22 +0530	[thread overview]
Message-ID: <CALBAE1Mch3+uXO7SDbJ_CmD8-CQbf9+EuQK+mTuYj4BeGE3N1w@mail.gmail.com> (raw)
In-Reply-To: <20220820005957.2986689-2-timothy.mcdaniel@intel.com>

On Sat, Aug 20, 2022 at 6:30 AM Timothy McDaniel
<timothy.mcdaniel@intel.com> wrote:
>
> For best performance, applications running on certain cores should use
> the DLB device locally available on the same tile along with other
> resources. To allocate optimal resources, probing is done for each
> producer port (PP) for a given CPU and the best performing ports are
> allocated to producers. The cpu used for probing is either the first
> core of producer coremask (if present) or the second core of EAL
> coremask. This will be extended later to probe for all CPUs in the
> producer coremask or EAL coremask.
>
> Producer coremask can be passed along with the BDF of the DLB devices.
> "-a xx:y.z,producer_coremask=<core_mask>"
>
> Applications also need to pass RTE_EVENT_PORT_CFG_HINT_PRODUCER during
> rte_event_port_setup() for producer ports for optimal port allocation.
>
> When events are dropped by workers or consumers that use LDB ports,
> completions are sent which are just ENQs and may impact the latency.
> To address this,  probing is done for LDB ports as well. Probing is
> done on ports per 'cos'. When default cos is used, ports will be
> allocated from best ports from the best 'cos', else from best ports of
> the specific cos.
>
> Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>
> ---
>  drivers/event/dlb2/dlb2.c                  |  40 +++-
>  drivers/event/dlb2/dlb2_priv.h             |   5 +
>  drivers/event/dlb2/dlb2_user.h             |   1 +
>  drivers/event/dlb2/pf/base/dlb2_hw_types.h |   5 +
>  drivers/event/dlb2/pf/base/dlb2_resource.c | 248 ++++++++++++++++++++-
>  drivers/event/dlb2/pf/base/dlb2_resource.h |  13 ++
>  drivers/event/dlb2/pf/dlb2_main.c          |   7 +-
>  drivers/event/dlb2/pf/dlb2_main.h          |  23 +-
>  drivers/event/dlb2/pf/dlb2_pf.c            |  23 +-
>  9 files changed, 341 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c
> index 5a443acff8..a9a174e136 100644
> --- a/drivers/event/dlb2/dlb2.c
> +++ b/drivers/event/dlb2/dlb2.c
> @@ -293,6 +293,23 @@ dlb2_string_to_int(int *result, const char *str)
>         return 0;
>  }
>
> +/* Extern functions */
> +extern int rte_eal_parse_coremask(const char *coremask, int *cores);

Include eal header file.

I will wait for the dependent patch to merge to the main tree to tale
the next version.

> +#ifdef DLB2_DEFAULT_LDB_PORT_ALLOCATION

Introduce a new devargs to make it runtime.

Also update the PMD doc for the existing and new devargs.

  reply	other threads:[~2022-09-03 13:16 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-20  0:59 [PATCH 0/3] DLB2 Performance Optimizations Timothy McDaniel
2022-08-20  0:59 ` [PATCH 1/3] event/dlb2: add producer port probing optimization Timothy McDaniel
2022-09-03 13:16   ` Jerin Jacob [this message]
2022-09-26 22:55   ` [PATCH v3 " Abdullah Sevincer
2022-09-26 22:55     ` [PATCH v3 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-26 22:55     ` [PATCH v3 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-27  1:42   ` [PATCH v4 1/3] event/dlb2: add producer port probing optimization Abdullah Sevincer
2022-09-27  1:42     ` [PATCH v4 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-27  1:42     ` [PATCH v4 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-28 14:45     ` [PATCH v4 1/3] event/dlb2: add producer port probing optimization Jerin Jacob
2022-09-28 19:11     ` [PATCH v5 " Abdullah Sevincer
2022-09-28 19:11     ` [PATCH v5 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-28 19:19     ` [PATCH v6 1/3] event/dlb2: add producer port probing optimization Abdullah Sevincer
2022-09-28 19:19       ` [PATCH v6 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-28 19:19       ` [PATCH v6 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-28 20:28     ` [PATCH v7 1/3] event/dlb2: add producer port probing optimization Abdullah Sevincer
2022-09-28 20:28       ` [PATCH v7 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-28 20:28       ` [PATCH v7 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-29  1:32     ` [PATCH v8 1/3] event/dlb2: add producer port probing optimization Abdullah Sevincer
2022-09-29  1:32       ` [PATCH v8 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-29  1:32       ` [PATCH v8 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-29  2:48       ` [PATCH v8 1/3] event/dlb2: add producer port probing optimization Sevincer, Abdullah
2022-09-29  3:46     ` [PATCH v9 " Abdullah Sevincer
2022-09-29  3:46       ` [PATCH v9 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-29  3:46       ` [PATCH v9 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-29  5:03   ` [PATCH v10 1/3] event/dlb2: add producer port probing optimization Abdullah Sevincer
2022-09-29  5:03     ` [PATCH v10 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-29  5:03     ` [PATCH v10 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-29 15:26   ` [PATCH v11 1/3] event/dlb2: add producer port probing optimization Abdullah Sevincer
2022-09-29 15:26     ` [PATCH v11 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-29 15:26     ` [PATCH v11 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-29 23:58   ` [PATCH v12 1/3] event/dlb2: add producer port probing optimization Abdullah Sevincer
2022-09-29 23:58     ` [PATCH v12 2/3] event/dlb2: add fence bypass option for producer ports Abdullah Sevincer
2022-09-29 23:59     ` [PATCH v12 3/3] event/dlb2: optimize credit allocations Abdullah Sevincer
2022-09-30  8:28     ` [PATCH v12 1/3] event/dlb2: add producer port probing optimization Jerin Jacob
2022-08-20  0:59 ` [PATCH 2/3] event/dlb2: add fence bypass option for producer ports Timothy McDaniel
2022-08-20  0:59 ` [PATCH 3/3] event/dlb2: optimize credit allocations Timothy McDaniel

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=CALBAE1Mch3+uXO7SDbJ_CmD8-CQbf9+EuQK+mTuYj4BeGE3N1w@mail.gmail.com \
    --to=jerinjacobk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=timothy.mcdaniel@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).