[dpdk-dev] [EXT] Re: [PATCH] eal: change init macro as exec environment specific

Jerin Jacob Kollanukkaran jerinj at marvell.com
Wed Mar 13 09:02:21 CET 2019


On Tue, 2019-03-12 at 21:33 +0100, Thomas Monjalon wrote:
> 12/03/2019 20:25, Jerin Jacob Kollanukkaran:
> > 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>
> > > > > > > ---
> > > > > > > 
> > > 
> > > 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?
> 
> The concern is about the effort required.
> Which libc to use? Which dependency is acceptable?

# It should be like FreeBSD or Windows EAL port(Where changes should be
in lib/librte_eal/xxxxxx/)
# Baremetal libc can be newlibc or musl.
# IMO, If bare metal code is open source then the dependency does not
matter
# if RTOS supports POSIX wrappers, the common code changes will be very
minimal.
# In house, We have baremetal support as PoC, where 95% of changes are
in lib/librte_eal/xxxxxx/ with POSIX wrappers.




> 
> 


More information about the dev mailing list