DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: David Christensen <drc@linux.vnet.ibm.com>
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	dpdk-dev <dev@dpdk.org>,  Luca Boccassi <bluca@debian.org>,
	David Marchand <david.marchand@redhat.com>,
	ian.stokes@intel.com,  Ilya Maximets <i.maximets@ovn.org>,
	Jerin Jacob <jerinj@marvell.com>,
	 Ruifeng Wang <ruifeng.wang@arm.com>,
	Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>,
	 "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	Ferruh Yigit <ferruh.yigit@intel.com>
Subject: Re: [dpdk-dev] [RFC PATCH] build/pkg-config: remove machine arch flag
Date: Thu, 16 Sep 2021 09:13:18 +0530	[thread overview]
Message-ID: <CALBAE1MUm99DTvTMqhyWrAcvF8hwRHFex8Eo3rS6Hb1zwvMVdQ@mail.gmail.com> (raw)
In-Reply-To: <d508695b-9017-5f80-8c3b-54f7fff75db7@linux.vnet.ibm.com>

On Thu, Sep 16, 2021 at 2:53 AM David Christensen
<drc@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.richardson@intel.com>
> >> ---
> >>
> >> CC: Jerin Jacob <jerinj@marvell.com>
> >> CC: Ruifeng Wang <ruifeng.wang@arm.com>
> >> CC: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> >> CC: David Christensen <drc@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	other threads:[~2021-09-16  3:43 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-11 15:51 Bruce Richardson
2020-12-16 18:45 ` David Christensen
2021-09-15 16:28 ` Bruce Richardson
2021-09-15 21:23   ` David Christensen
2021-09-16  3:43     ` Jerin Jacob [this message]
2021-09-16 10:16       ` Ruifeng Wang
2021-09-16 14:11         ` Ruifeng Wang
2023-06-14 19:33 ` Stephen Hemminger
2023-06-15  8:44   ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALBAE1MUm99DTvTMqhyWrAcvF8hwRHFex8Eo3rS6Hb1zwvMVdQ@mail.gmail.com \
    --to=jerinjacobk@gmail.com \
    --cc=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=drc@linux.vnet.ibm.com \
    --cc=ferruh.yigit@intel.com \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=i.maximets@ovn.org \
    --cc=ian.stokes@intel.com \
    --cc=jerinj@marvell.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=ruifeng.wang@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).