[dpdk-dev] [PATCH 1/6] eal: eal stub to add windows support
Bruce Richardson
bruce.richardson at intel.com
Fri Mar 1 15:17:17 CET 2019
On Fri, Mar 01, 2019 at 03:03:02PM +0100, Thomas Monjalon wrote:
> 01/03/2019 08:18, Anand Rawat:
> > Added initial stub source files for windows support and meson changes
> > to build them.
>
> Thanks for sending some new patches based on meson.
>
> Let's start review with some simple considerations.
>
> > Signed-off-by: Anand Rawat <anand.rawat at intel.com> Signed-off-by:
> > Kadam, Pallavi <pallavi.kadam at intel.com>
>
> Please avoid comma in names. I think the right name is Pallavi Kadam?
>
> > Reviewed-by: Jeffrey B Shaw <jeffrey.b.shaw at intel.com> Reviewed-by:
> > Ranjit Menon <ranjit.menon at intel.com>
>
> Please make sure everybody involved here is in Cc of the emails. Git
> should add them automatically. Please add me as Cc of next versions. I'm
> interested in the start of the Windows port. Thanks
>
> [...]
> > -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2019 Intel
> > Corporation
>
> I'm not sure you need to update the dates. In case you need to, you
> should probably keep the original date.
>
> > -# use pthreads -add_project_link_arguments('-pthread', language: 'c')
> > -dpdk_extra_ldflags += '-pthread' +if host_machine.system() !=
> > 'windows' + # use pthreads + add_project_link_arguments('-pthread',
> > language: 'c') + dpdk_extra_ldflags += '-pthread'
>
> Why pthreads is not used in Windows?
>
> > -# some libs depend on maths lib -add_project_link_arguments('-lm',
> > language: 'c') -dpdk_extra_ldflags += '-lm' + # some libs depend
> > on maths lib + add_project_link_arguments('-lm', language: 'c') +
> > dpdk_extra_ldflags += '-lm' +endif
>
> Why libmath is not used?
>
> > # get binutils version for the workaround of Bug 97 -ldver =
> > run_command('ld', '-v').stdout().strip() -if ldver.contains('2.30') -
> > if cc.has_argument('-mno-avx512f') - march_opt +=
> > '-mno-avx512f' - message('Binutils 2.30 detected, disabling
> > AVX512 support as workaround for bug #97') +if host_machine.system()
> > != 'windows'
>
> The real fix should be to check which linker is selected by meson.
>
> > + ldver = run_command('ld', '-v').stdout().strip() + if
> > ldver.contains('2.30') + if cc.has_argument('-mno-avx512f')
> > + march_opt += '-mno-avx512f' + message('Binutils
> > 2.30 detected, disabling AVX512 support as workaround for bug #97') +
> > endif
>
> [...]
> > --- a/lib/librte_eal/common/include/arch/x86/meson.build +++
> > b/lib/librte_eal/common/include/arch/x86/meson.build -install_headers(
> > - 'rte_atomic_32.h', - 'rte_atomic_64.h', - 'rte_atomic.h', -
> > 'rte_byteorder_32.h', - 'rte_byteorder_64.h', - 'rte_byteorder.h',
> > - 'rte_cpuflags.h', - 'rte_cycles.h', - 'rte_io.h', -
> > 'rte_memcpy.h', - 'rte_prefetch.h', - 'rte_pause.h', -
> > 'rte_rtm.h', - 'rte_rwlock.h', - 'rte_spinlock.h', -
> > 'rte_vect.h', - subdir: get_option('include_subdir_arch')) +if
> > host_machine.system() != 'windows' + install_headers( +
> > 'rte_atomic_32.h', + 'rte_atomic_64.h', +
> > 'rte_atomic.h', + 'rte_byteorder_32.h', +
> > 'rte_byteorder_64.h', + 'rte_byteorder.h', +
> > 'rte_cpuflags.h', + 'rte_cycles.h', + 'rte_io.h',
> > + 'rte_memcpy.h', + 'rte_prefetch.h', +
> > 'rte_pause.h', + 'rte_rtm.h', + 'rte_rwlock.h', +
> > 'rte_spinlock.h', + 'rte_vect.h', + subdir:
> > get_option('include_subdir_arch') + ) +endif
>
> The headers should not be different for Windows. NACK for this part.
>
> [...]
> > @@ -17,13 +17,19 @@ elif host_machine.system() == 'freebsd'
> > dpdk_conf.set('RTE_EXEC_ENV_BSDAPP', 1) subdir('bsdapp/eal')
> >
> > +elif host_machine.system() == 'windows' +
> > dpdk_conf.set('RTE_EXEC_ENV_WINDOWS', 1)
>
> For consistency, it should RTE_EXEC_ENV_WINAPP.
>
For this one you can partially blame me - early internal review suggested
changing to winapp, but I suggested holding off on the change for community
consensus. Personally, I would prefer a little inconsistency and keep it
as windows for clarity. In future, I also think we should just rename
linxuapp to linux, and bsdapp to freebsd!
However, for now, if the majority prefer winapp, I'm ok with it. [Though I
can't help reading it as winamp half the time! No llamas involved here
though!]
/Bruce
More information about the dev
mailing list