DPDK patches and discussions
 help / color / mirror / Atom feed
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
To: Luca Boccassi <bluca@debian.org>, dev <dev@dpdk.org>,
	Bruce Richardson <bruce.richardson@intel.com>
Cc: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Subject: [dpdk-dev] [PATCH v3] build: establish an invariant machine type
Date: Wed, 14 Nov 2018 15:33:15 +0100
Message-ID: <20181114143315.2695-1-christian.ehrhardt@canonical.com> (raw)
In-Reply-To: <20181114135445.GA13408@bricha3-MOBL.ger.corp.intel.com>

Add the machine definition 'default' which is special compared
to 'native' (most optimized for current system) or any explicit
type (external entity has to decide on the type).

It defaults to the per arch agreed common minimal baseline
needed for DPDK to reasonable work.

That might not be the most optimized, but the most portable
version while still being able to support the CPU features
required for DPDK.

Going forward this can be bumped up by the DPDK project, but it
can never be an invariant like 'native'.

Distributions and other needing portable code are expected to
define the machine as 'default'.

Changes in v2:
- fixed the non 64 bit arm default type
- changed baseline to default to match the old build system

Changes in v3:
- add acked-by's
- removed old wording from commit message
- adding Fixes line per request by Luca Boccassi

Fixes: 54d609a13876 ("build: add ppc64 meson build")

Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
---
 config/meson.build | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/config/meson.build b/config/meson.build
index 1af305f46..db32499b3 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -7,6 +7,27 @@ if meson.is_cross_build()
 else
 	machine = get_option('machine')
 endif
+
+# machine type 'default' is special, it defaults to the per arch agreed common
+# minimal baseline needed for DPDK.
+# That might not be the most optimized, but the most portable version while
+# still being able to support the CPU features required for DPDK.
+# This can be bumped up by the DPDK project, but it can never be an
+# invariant like 'native'
+if machine == 'default'
+	if host_machine.cpu_family().startswith('x86')
+		# matches the old pre-meson build systems default
+		machine = 'corei7'
+	elif host_machine.cpu_family().startswith('arm')
+		machine = 'armv7-a'
+	elif host_machine.cpu_family().startswith('aarch')
+		# arm64 manages defaults in config/arm/meson.build
+		machine = 'default'
+	elif host_machine.cpu_family().startswith('ppc')
+		machine = 'power8'
+	endif
+endif
+
 dpdk_conf.set('RTE_MACHINE', machine)
 machine_args = []
 
-- 
2.17.1

  reply	other threads:[~2018-11-14 14:33 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-14 11:34 [dpdk-dev] [PATCH 1/2] build: avoid non supported -march on ppc (meson) Christian Ehrhardt
2018-11-14 11:34 ` [dpdk-dev] [PATCH 2/2] build: establish an invariant machine type Christian Ehrhardt
2018-11-14 11:40   ` Luca Boccassi
2018-11-14 11:52     ` Bruce Richardson
2018-11-14 12:05       ` Luca Boccassi
2018-11-14 13:09         ` Christian Ehrhardt
2018-11-14 13:18           ` [dpdk-dev] [PATCH] " Christian Ehrhardt
2018-11-14 13:54             ` Bruce Richardson
2018-11-14 14:33               ` Christian Ehrhardt [this message]
2018-11-14 19:39                 ` [dpdk-dev] [PATCH v3] " Christian Ehrhardt
2018-11-18 13:24                   ` Thomas Monjalon
2018-11-14 19:40                 ` [dpdk-dev] [PATCH v4 1/2] build: avoid non supported -march on ppc (meson) Christian Ehrhardt
2018-11-14 19:40                   ` [dpdk-dev] [PATCH v4 2/2] build: establish an invariant machine type Christian Ehrhardt
2018-11-18 14:24                   ` [dpdk-dev] [PATCH v4 1/2] build: avoid non supported -march on ppc (meson) Thomas Monjalon
2018-11-14 13:06   ` [dpdk-dev] [PATCH 2/2] build: establish an invariant machine type Luca Boccassi
2018-11-14 13:08     ` Christian Ehrhardt
2018-11-14 11:39 ` [dpdk-dev] [PATCH 1/2] build: avoid non supported -march on ppc (meson) Luca Boccassi

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=20181114143315.2695-1-christian.ehrhardt@canonical.com \
    --to=christian.ehrhardt@canonical.com \
    --cc=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git