[prev in list] [next in list] [prev in thread] [next in thread]
List: dpdk-dev
Subject: Re: [dpdk-dev] [20.11, PATCH v2] baseband/fpga_5gnr_fec: add companion PF config App
From: "Chautru, Nicolas" <nicolas.chautru () intel ! com>
Date: 2020-07-31 15:17:10
Message-ID: BY5PR11MB4451650146CCE77F4E68174CF84E0 () BY5PR11MB4451 ! namprd11 ! prod ! outlook ! com
[Download RAW message or body]
Hi Maxime,
>
> Hi Nicolas,
>
> On 7/16/20 10:20 PM, Nicolas Chautru wrote:
> > Adding companion application to configure HW Device from the PF.
> > Then the device can be accessed through BBDEV from VF (or PF).
> >
> > Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> > ---
> > doc/guides/bbdevs/fpga_5gnr_fec.rst | 80 +++--
> > .../baseband/fpga_5gnr_fec/pf_config_app/Makefile | 36 +++
> > .../fpga_5gnr_fec/pf_config_app/config_app.c | 333
> +++++++++++++++++++
> > .../pf_config_app/fpga_5gnr_cfg_app.c | 351
> +++++++++++++++++++++
> > .../pf_config_app/fpga_5gnr_cfg_app.h | 102 ++++++
> > .../pf_config_app/fpga_5gnr_cfg_parser.c | 187 +++++++++++
> > .../pf_config_app/fpga_5gnr_config.cfg | 18 ++
> > 7 files changed, 1087 insertions(+), 20 deletions(-) create mode
> > 100644 drivers/baseband/fpga_5gnr_fec/pf_config_app/Makefile
> > create mode 100644
> > drivers/baseband/fpga_5gnr_fec/pf_config_app/config_app.c
> > create mode 100644
> > drivers/baseband/fpga_5gnr_fec/pf_config_app/fpga_5gnr_cfg_app.c
> > create mode 100644
> > drivers/baseband/fpga_5gnr_fec/pf_config_app/fpga_5gnr_cfg_app.h
> > create mode 100644
> > drivers/baseband/fpga_5gnr_fec/pf_config_app/fpga_5gnr_cfg_parser.c
> > create mode 100644
> > drivers/baseband/fpga_5gnr_fec/pf_config_app/fpga_5gnr_config.cfg
>
> I think having the pf_config_app in the driver directory is not a good idea,
> this is not the place for applications.
>
> Also, it is not integrated in the DPDK build system, so it cannot benefit from
> the CI. Having an external dependency that is not packaged in distributions
> will not help to have it integrated in the build system.
>
Thanks for sharing.
Note that all these points were raised openly explicitly earlier as you know, ie part \
of both pros and cons. Still happy to get feedback from others notably Thomas. It \
appears you had side conversations with him on this very topic.
> I see some alternatives:
> 1. Move it in another directory in the main DPDK repo, but it is not a DPDK
> example, not a dev tool and not a build tool, so it would need a new
> directory.
> 2. Create a BBDEV tools repository on dpdk.org (It would require techboard
> approval).
> 3. Host it in a dedicated repository on Intel's github 4. Move it into some
> Intel FPGA tools repository
There are several others options which were indeed considered in case this option was \
not viable. Still DPDK was considered best option so far to keep everything in one \
recognized place for BBDEV devices but happy to get further input from others.
> I think option 3 would be the best to get it packaged into distributions as it
> has no build dependency with any DPDK library.
> You could maybe add inih library as a git sub-repository within this repo.
> Other advantage is you wouldn't depend on DPDK release cycles to get fixes
> merged.
>
> Regarding the tool itself, I understand from the commit message that the
> tool has a dependency on the BBDEV PMD version, but the tool run on the
> host while the PMD driver is used in the guest/container. So having it in the
> driver directory will not really help, as host DPDK (if any) and guest DPDK may
> come from different parties.
Yes this was captured earlier, purely stored there as a companion application for a \
given version of the PMD (ie. different subdirectories for each PMD directory).
They do no run in the same container for deployment and are not built at the same \
time indeed, their interface is the HW really and one being needed to be run prior to \
the other one to be functional.
> One question I have is whether this is the tool itself that has a dependency on
> the PMD, or just the config file?
Each PMD directory would have its own version of the companion PF config application.
Ie. the patch above is only for baseband/fpga_5gnr_fec ie. Intel Vista Creek with 5G \
LDPC user image. There will be different companion applications upstreamed for each \
other PMD directories (current and future) as they rely on different HW devices with \
independent MMIO access. Said otherwise both the config file (features exposed) and \
implementation (registers required for these features) are defined per HW device (+ \
user image for FPGA) hence per PMD version.
There 2 entities have no API between themselves, only indirectly through HW (no \
shared memory, VF2PF comms, etc..). New features may have to be added concurrently \
though, hence splitting repos create room for version mismatch and complicate the \
ingredients line up. That was part of the pros and cons described earlier and I can \
totally see arguments both ways, and that's what I have been trying to share openly \
in this ticket history.
Basically I see nothing fundamentally new here in the discussion, but it is great to \
receive input and I am happy to hear further input from tech board or others towards \
a decision. This started as an open discussion on this DPDK mailing list capturing \
explicitly both pros and cons of this approach which are arguable, and in case this \
is not deemed practical eventually then we can still totally come back internally to \
the drawing board with other options outside of DPDK.
Thanks,
Nic
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic