On Thu, Sep 16, 2021 at 2:53 AM David Christensen
<d...@linux.vnet.ibm.com> wrote:
>
>
>
> On 9/15/21 9:28 AM, Bruce Richardson wrote:
> > On Fri, Dec 11, 2020 at 03:51:11PM +0000, Bruce Richardson wrote:
> >> Traditionally any apps built using DPDK had to support the same
> >> instruction sets as supported when the DPDK SDK itself was built, since
> >> that was "leaked" through to the end-app and DPDK headers via
> >> RTE_MACHINE_CPUFLAG_* values. Therefore, when converting over to meson
> >> for app build correctness the "-march=" flag was included in the
> >> pkg-config cflags output.
> >>
> >> However, since the DPDK-specific CPU flags are now obsolete, and we
> >> instead check directly for compiler-defined flags, we should no longer
> >> need to force the exact same architecture match in all cases. To
> >> faciliate such flexibility, a new pkg_config_machine_args array - which
> >> defaults to the existing machine_args array has been defined. The
> >> individual architectures - x86, arm and ppc - can choose if and how to
> >> override this value themselves.
> >>
> >> For x86, since SSE4.2 is the minimum instruction-set level needed to run
> >> DPDK, and since some header files assume that minimum level of
> >> instruction set support, we override the "-march=" value with "-msse4"
> >> for the pkg-config file. This allows end applications to set their own
> >> "march" value while still ensuring valid DPDK compilation.
> >>
> >> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> >> ---
> >>
> >> CC: Jerin Jacob <jer...@marvell.com>
> >> CC: Ruifeng Wang <ruifeng.w...@arm.com>
> >> CC: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>
> >> CC: David Christensen <d...@linux.vnet.ibm.com> for
> >> Feedback requested from ARM and PPC maintainers as to this change
> >> and what flags, if any, need to be in the .pc file for DPDK on such
> >> platforms. For example - is setting 'pkg_config_machine_args' to
> >> 'machine_args' by default necessary behaviour?
> >>
> >
> > Ping for further thoughts or input on this patch.

Armv8 has dedicated config(taken least cpu flags which supports all
armv8) for this purpose config/arm/arm64_armv8_linux_gcc.
So this change looks good to me. @Ruifeng Wang (Arm Technology China)
Any comments?


>
> On initial inspection I don't see any additional value for PPC systems.
>   Selection of a CPU through -mcpu implies a full ISA for that CPU,
> including things like vector extensions, at least with respect to the
> minimum supported POWER8 CPU (ISA 2.07) and later ISAs.  The values of
> machine_args and pkg_config_machine_args should be identical in all
> cases I can think of.
>
> If a third party OpenPOWER CPU comes along some time in the future then
> the requirements may change.




>
> Dave

Reply via email to