13/03/2019 09:02, Jerin Jacob Kollanukkaran: > 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: > > > > 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.
Then maybe you should send your patches so we can decide if it is maintainable enough or not.