From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id E4FCFA04D8;
	Mon, 21 Sep 2020 19:12:00 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 25BCA1C1D4;
	Mon, 21 Sep 2020 19:12:00 +0200 (CEST)
Received: from mail-io1-f67.google.com (mail-io1-f67.google.com
 [209.85.166.67]) by dpdk.org (Postfix) with ESMTP id 671071C1AF
 for <dev@dpdk.org>; Mon, 21 Sep 2020 19:11:58 +0200 (CEST)
Received: by mail-io1-f67.google.com with SMTP id r9so16277199ioa.2
 for <dev@dpdk.org>; Mon, 21 Sep 2020 10:11:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=1cQxyu/VTCOvKpEn9NCcq6MRUWhkjAylZWOe2SAegww=;
 b=mGz7gVUpX9+m8QK1zZxPTdUKsjFLuzoVYiZGjKOtoyerWyAojpBhiN1uUw21EdTgrf
 8mvsQd0xnesGSXcYLFFmUrlo1pJvyA6rar8i6cMJUqxZwbBcmW853uxohdLBvsyIuxDR
 gtZc9/KEjBXZp7Ud6+LCUaK+UsMwKHWM0rAlO6ztj7dWLR0BDTBq2p8PAzUHF49FPbJx
 Vf0vJXLMorxJrC4TAl+utH96SDvl07+VbstZQc5RDxmn3sHQ7DymSD+Ww84zN7BsvaNi
 CztfejXaVtHOcCS5q0NwVJONecnZXw71mdrJ08snppRarG0Y+1EfvqLsysJffSCss6LF
 c9BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=1cQxyu/VTCOvKpEn9NCcq6MRUWhkjAylZWOe2SAegww=;
 b=IfnfwP2YFMla1XqS3DXXsNyUK+b8mtwUvt+82I2SwbBdQ6iS3K7aJjkBtDaw0iiM4n
 28ggd1+xLzC3BIl6NzH31KbCyAphoMm8kbNDEqmrVQAwCRvrNAcP4xixXXFdUcUS5Id8
 FEVQZcmefFqnz9AaW5bw0sQondpD6kMxqMyst7bwlmr2yIMcVjxQXHbLK0/2BHC5G0+e
 07txKoSdGzR9ii+8Cn5aLXzqXPnjhJ5ffwPu4906kvWJ+T4Firr2DjhPPckrjDr0Lb/t
 3BmTko98XvwQEL41uraNSzLT+mp6GSj83UgBhAQfbvN7geh259IgxhfrVvETn73OhM1Z
 Vv6Q==
X-Gm-Message-State: AOAM533yZfIl0JaSfABRaVW7scNT1ylKt/XoLPteEcyadiT1Sa+8LCZ+
 a6j9Ig2bJ8/cwIPOPhpp/GWjqr2CaWhy2TqpQc0=
X-Google-Smtp-Source: ABdhPJwRWKkyqJUKEIQsBVprn6Xys0r5RRtRnKXamAA5afeohWrnsYtcG1VnRT+B+3V8Q8kDmi2lcWFbUc8dGR4I6i4=
X-Received: by 2002:a05:6602:2c4d:: with SMTP id
 x13mr323981iov.94.1600708317560; 
 Mon, 21 Sep 2020 10:11:57 -0700 (PDT)
MIME-Version: 1.0
References: <1599855987-25976-1-git-send-email-timothy.mcdaniel@intel.com>
In-Reply-To: <1599855987-25976-1-git-send-email-timothy.mcdaniel@intel.com>
From: Jerin Jacob <jerinjacobk@gmail.com>
Date: Mon, 21 Sep 2020 22:41:41 +0530
Message-ID: <CALBAE1NA4eXxN4wOE6yvtdz4+mZYVFdCYUs30G4gQfQEOPNW2g@mail.gmail.com>
To: Timothy McDaniel <timothy.mcdaniel@intel.com>
Cc: dpdk-dev <dev@dpdk.org>, Erik Gabriel Carrillo <erik.g.carrillo@intel.com>,
 Gage Eads <gage.eads@intel.com>, "Van Haaren,
 Harry" <harry.van.haaren@intel.com>, Jerin Jacob <jerinj@marvell.com>
Content-Type: text/plain; charset="UTF-8"
Subject: Re: [dpdk-dev] [PATCH 00/22] Add DLB2 PMD
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On Sat, Sep 12, 2020 at 2:00 AM Timothy McDaniel
<timothy.mcdaniel@intel.com> wrote:
>
> The following patch series adds support for a new eventdev PMD. The DLB2
> PMD adds support for the Intel Dynamic Load Balancer 2.0 (DLB2)
> hardware.
> The DLB2 is a PCIe device that provides load-balanced, prioritized
> scheduling of core-to-core communication. The device consists of
> queues and arbiters that connect producer and consumer cores, and
> implements load-balanced queueing features including:
> - Lock-free multi-producer/multi-consumer operation.
> - Multiple priority levels for varying traffic types.
> - 'Direct' traffic (i.e. multi-producer/single-consumer)
> - Simple unordered load-balanced distribution.
> - Atomic lock-free load balancing across multiple consumers.
> - Queue element reordering feature allowing ordered load-balanced
>   distribution.
>
> The DLB2 hardware supports both load balanced and directed ports and
> queues. Unlike other eventdev devices already in the repo,  not all
> DLB2 ports and queues are equally capable. In particular, directed
> ports are limited to a single link, and must be connected to a
> directed queue. Additionally, even though LDB ports may link multiple queues,
> the number of queues that may be linked is limited by hardware.
>
> While reviewing the code, please be aware that this PMD has full
> control over the DLB2 hardware. Intel will be extending the DLB2 PMD
> in the future (not as part of this first series) with a mode that we
> refer to as the bifurcated PMD. The bifurcated PMD communicates with a
> kernel driver to configure the device, ports, and queues, and memory
> maps device MMIO so datapath operations occur purely in user-space.
> Note that the DLB2 hardware is a successor of the DLB hardware, and
> as such is structured similarly, both in terms of code layout and
> implementation.
>
> The framework to support both the PF PMD and bifurcated PMD exists in
> this patchset, and is why the iface.[ch] layer is present.
>
> Depends-on: patch-77466 ("eventdev: add PCI probe named convenience function")
> Depends-on: series-12160 ("Eventdev ABI changes")
> Depends-on: patch-77460 ("eal: add umonitor umwait to x86 cpuflags")
>
> Timothy McDaniel (22):


There is two version of driver(DLB and DLB2)[1]
Both are needed?
Is two separate set of HW?

http://patches.dpdk.org/project/dpdk/list/?submitter=826


>   event/dlb2: add meson build infrastructure
>   event/dlb2: add dynamic logging
>   event/dlb2: add private data structures and constants
>   event/dlb2: add definitions shared with LKM or shared code
>   event/dlb2: add inline functions
>   event/dlb2: add probe
>   event/dlb2: add xstats
>   event/dlb2: add infos get and configure
>   event/dlb2: add queue and port default conf
>   event/dlb2: add queue setup
>   event/dlb2: add port setup
>   event/dlb2: add port link
>   event/dlb2: add port unlink and port unlinks in progress
>   event/dlb2: add eventdev start
>   event/dlb2: add enqueue and its burst variants
>   event/dlb2: add dequeue and its burst variants
>   event/dlb2: add eventdev stop and close
>   event/dlb2: add PMD's token pop public interface
>   event/dlb2: add PMD self-tests
>   event/dlb2: add queue and port release
>   event/dlb2: add timeout ticks entry point
>   doc: add new DLB2 eventdev driver to relnotes
>
>  app/test/test_eventdev.c                          |    9 +
>  config/rte_config.h                               |    7 +
>  doc/guides/rel_notes/release_20_11.rst            |    5 +
>  drivers/event/dlb2/dlb2.c                         | 4046 ++++++++++++++
>  drivers/event/dlb2/dlb2_iface.c                   |   88 +
>  drivers/event/dlb2/dlb2_iface.h                   |   75 +
>  drivers/event/dlb2/dlb2_inline_fns.h              |   85 +
>  drivers/event/dlb2/dlb2_log.h                     |   25 +
>  drivers/event/dlb2/dlb2_priv.h                    |  619 +++
>  drivers/event/dlb2/dlb2_selftest.c                | 1570 ++++++
>  drivers/event/dlb2/dlb2_user.h                    |  883 +++
>  drivers/event/dlb2/dlb2_xstats.c                  | 1269 +++++
>  drivers/event/dlb2/meson.build                    |   16 +
>  drivers/event/dlb2/pf/base/dlb2_hw_types.h        |  367 ++
>  drivers/event/dlb2/pf/base/dlb2_mbox.h            |  596 ++
>  drivers/event/dlb2/pf/base/dlb2_osdep.h           |  248 +
>  drivers/event/dlb2/pf/base/dlb2_osdep_bitmap.h    |  447 ++
>  drivers/event/dlb2/pf/base/dlb2_osdep_list.h      |  131 +
>  drivers/event/dlb2/pf/base/dlb2_osdep_types.h     |   31 +
>  drivers/event/dlb2/pf/base/dlb2_regs.h            | 2527 +++++++++
>  drivers/event/dlb2/pf/base/dlb2_resource.c        | 6023 +++++++++++++++++++++
>  drivers/event/dlb2/pf/base/dlb2_resource.h        | 1913 +++++++
>  drivers/event/dlb2/pf/dlb2_main.c                 |  692 +++
>  drivers/event/dlb2/pf/dlb2_main.h                 |  107 +
>  drivers/event/dlb2/pf/dlb2_pf.c                   |  734 +++
>  drivers/event/dlb2/rte_pmd_dlb2.c                 |   39 +
>  drivers/event/dlb2/rte_pmd_dlb2.h                 |   59 +
>  drivers/event/dlb2/rte_pmd_dlb2_event_version.map |    9 +
>  drivers/event/meson.build                         |    4 +
>  29 files changed, 22624 insertions(+)
>  create mode 100644 drivers/event/dlb2/dlb2.c
>  create mode 100644 drivers/event/dlb2/dlb2_iface.c
>  create mode 100644 drivers/event/dlb2/dlb2_iface.h
>  create mode 100644 drivers/event/dlb2/dlb2_inline_fns.h
>  create mode 100644 drivers/event/dlb2/dlb2_log.h
>  create mode 100644 drivers/event/dlb2/dlb2_priv.h
>  create mode 100644 drivers/event/dlb2/dlb2_selftest.c
>  create mode 100644 drivers/event/dlb2/dlb2_user.h
>  create mode 100644 drivers/event/dlb2/dlb2_xstats.c
>  create mode 100644 drivers/event/dlb2/meson.build
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_hw_types.h
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_mbox.h
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_osdep.h
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_osdep_bitmap.h
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_osdep_list.h
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_osdep_types.h
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_regs.h
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_resource.c
>  create mode 100644 drivers/event/dlb2/pf/base/dlb2_resource.h
>  create mode 100644 drivers/event/dlb2/pf/dlb2_main.c
>  create mode 100644 drivers/event/dlb2/pf/dlb2_main.h
>  create mode 100644 drivers/event/dlb2/pf/dlb2_pf.c
>  create mode 100644 drivers/event/dlb2/rte_pmd_dlb2.c
>  create mode 100644 drivers/event/dlb2/rte_pmd_dlb2.h
>  create mode 100644 drivers/event/dlb2/rte_pmd_dlb2_event_version.map
>
> --
> 2.6.4
>