On Thu, Oct 21, 2021 at 10:14:47PM +0200, Thomas Monjalon wrote: > 19/10/2021 12:47, Aman Kumar: > > This patch provides rte_memcpy* calls optimized for > > AMD EPYC platforms. Use config/x86/x86_amd_epyc_linux_gcc > > as cross-file with meson to build dpdk for AMD EPYC platforms. > [...] > > --- a/config/x86/meson.build > > +++ b/config/x86/meson.build > > @@ -72,3 +72,10 @@ endif > > dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64) > > dpdk_conf.set('RTE_MAX_LCORE', 128) > > dpdk_conf.set('RTE_MAX_NUMA_NODES', 32) > > + > > +if meson.is_cross_build() > > + if meson.get_cross_property('platform') == 'amd-epyc' > > + dpdk_conf.set('RTE_MAX_LCORE', 512) > > + dpdk_conf.set('RTE_MEMCPY_AMDEPYC', 1) > > + endif > > +endif > > Thinking again about the cross file. > Why not using the meson option "cpu_instruction_set" > to define RTE_MACHINE as "epyc" and tune other compilation options > without using artificial cross build? > > Reminder, the default in config/meson.build is: > if cpu_instruction_set == 'generic' > if host_machine.cpu_family().startswith('x86') > cpu_instruction_set = 'corei7' > > Cc Bruce who maintains this meson code. > Yes, that is a good suggestion. You could detect a particular instruction set value and set additional defines based on it.
/Bruce