DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
To: "thomas@monjalon.net" <thomas@monjalon.net>,
	"ferruh.yigit@intel.com" <ferruh.yigit@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] eal: change init macro as exec environment specific
Date: Tue, 12 Mar 2019 19:25:17 +0000	[thread overview]
Message-ID: <60e55d6305c357c8d4bc46d56263b6f5485df84f.camel@marvell.com> (raw)
In-Reply-To: <2668267.HQ7s86BJXi@xps>

On Fri, 2019-03-01 at 18:28 +0100, Thomas Monjalon wrote:
> External Email
> 
> -------------------------------------------------------------------
> ---
> 01/03/2019 18:05, Ferruh Yigit:
> > On 10/11/2017 3:33 PM, jerin.jacob at caviumnetworks.com (Jerin
> > Jacob) wrote:
> > > From: Thomas Monjalon <thomas at monjalon.net>
> > > > 07/08/2017 14:04, Jerin Jacob:
> > > > > baremetal execution environments may have a different
> > > > > method to enable RTE_INIT instead of using compiler
> > > > > constructor scheme. Move RTE_INIT* definition under
> > > > > exec-env to support different execution environments.
> > > > > 
> > > > > Signed-off-by: Jerin Jacob <jerin.jacob at
> > > > > caviumnetworks.com>
> > > > > ---
> > > > >  app/test-eventdev/evt_test.h                       |  2 +-
> > > > >  lib/librte_eal/bsdapp/eal/Makefile                 |  2 +-
> > > > >  .../bsdapp/eal/include/exec-env/rte_eal.h          | 51
> > > > > ++++++++++++++++++++++
> > > > >  lib/librte_eal/common/eal_common_log.c             |  2 +
> > > > >  lib/librte_eal/common/include/rte_bus.h            |  2 +
> > > > >  lib/librte_eal/common/include/rte_eal.h            |  6 ---
> > > > >  lib/librte_eal/common/include/rte_tailq.h          |  2 +
> > > > >  lib/librte_eal/linuxapp/eal/Makefile               |  2 +-
> > > > >  .../linuxapp/eal/include/exec-env/rte_eal.h        | 51
> > > > > ++++++++++++++++++++++
> > > > >  9 files changed, 111 insertions(+), 9 deletions(-)
> > > > >  create mode 100644 lib/librte_eal/bsdapp/eal/include/exec-
> > > > > env/rte_eal.h
> > > > >  create mode 100644 lib/librte_eal/linuxapp/eal/include/exec-
> > > > > env/rte_eal.h
> > > > 
> > > > I am not a big fan of duplicating code for Linux and BSD.
> > > > 
> > > > Maybe we should have different splits and include a common file
> > > > in Linux and BSD?
> > > 
> > > OK. This is doable.
> > > 
> > > > I feel it would be easier to think about the split when adding
> > > > a new environment.
> > > > It is also an open question whether we want to support (again)
> > > > some
> > > > bare metal environments.
> > > 
> > > IMO, A factor could be, how much we are OK to change?
> > > 
> > > Our internal prototype implementation for a bare metal
> > > environment
> > > shows things are already in place and may need minor changes like
> > > this to
> > > accommodate a bare metal execution environment(accounting the
> > > latest
> > > changes of moving pci to driver/pci/..)
> > > 
> > > If no one care about need for such abstraction then we could drop
> > > this
> > > patch. We can always keep local copy of such patches in our
> > > internal
> > > tree. I thought to upstream it as it may be useful for someone
> > > else and
> > > it is easy for us maintain if changes are in
> > > lib/librte_eal/<new environment>/eal/ and drivers/*/
> >  Hi Jerin, Thomas,
> > 
> > This is an old patch, the abstraction seems good idea but it comes
> > with a
> > duplication.
> > 
> > Is there an intention to continue the work? Are we waiting for any
> > decision?
> > Any objection to mark it as rejected?
> 
> I am not sure there is a real desire to make DPDK
> ready for bare-metal (back again).
> If any of you are aware of a real use-case, we can re-consider.

Some of the usecases:

# PCIe endpoint mode aka Smart NIC(Where DPDK runs on PCIe card), May
not need to waste one core for Linux. Specially Smart NIC market has
less number of cores.
On the endpoint side, It treats as FW so customer may not have access
to so nobdoy cares it is Linux or baremetal so may need to waste one
core for Linux

# VM case, it possible to have bare metal guest just to save one a
logical core for Linux

# Some of the RTOS like Zephyr already provide TCP/IP stack and good
subsystems for specific usecases.

# We are using DPDK for pre silicon validation for SoC mode. Bringing
up linux on emulator takes ages, Baremetal can be used for Harware
verification too.


IMO, As long as it not limiting the a feature of Linux app, Why not to
allow baremetal? I agree with code duplication. I think, it can be
fixed easily, Other than that, Is there any concern?

Jerin



  reply	other threads:[~2019-03-12 19:25 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-07 12:04 [dpdk-dev] " Jerin Jacob
2017-10-11 13:02 ` Thomas Monjalon
2017-10-11 14:33   ` Jerin Jacob
2019-03-01 17:05     ` Ferruh Yigit
2019-03-01 17:16       ` Ferruh Yigit
2019-03-01 17:28       ` Thomas Monjalon
2019-03-12 19:25         ` Jerin Jacob Kollanukkaran [this message]
2019-03-12 20:33           ` [dpdk-dev] [EXT] " Thomas Monjalon
2019-03-13  8:02             ` Jerin Jacob Kollanukkaran
2019-03-13  8:16               ` Thomas Monjalon
2019-03-13  8:44                 ` Jerin Jacob Kollanukkaran
2019-03-14 20:44                   ` Jerin Jacob Kollanukkaran
2019-03-14 20:44                     ` Jerin Jacob Kollanukkaran
2019-04-02  1:15                     ` Jerin Jacob Kollanukkaran
2019-04-02  1:15                       ` Jerin Jacob Kollanukkaran
2019-04-02 12:45                       ` Thomas Monjalon
2019-04-02 12:45                         ` Thomas Monjalon
2019-04-02 12:57     ` [dpdk-dev] " Thomas Monjalon
2019-04-02 12:57       ` Thomas Monjalon
2019-04-02 13:20       ` Wiles, Keith
2019-04-02 13:20         ` Wiles, Keith
2019-04-03 19:28 ` [dpdk-dev] [PATCH v2] " Jerin Jacob Kollanukkaran
2019-04-03 19:28   ` Jerin Jacob Kollanukkaran
2019-04-03 20:07   ` Thomas Monjalon
2019-04-03 20:07     ` Thomas Monjalon
2019-04-03 21:52     ` Thomas Monjalon
2019-04-03 21:52       ` Thomas Monjalon

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=60e55d6305c357c8d4bc46d56263b6f5485df84f.camel@marvell.com \
    --to=jerinj@marvell.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=thomas@monjalon.net \
    /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).