From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B6C2DA0527; Mon, 9 Nov 2020 13:47:50 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 993455A51; Mon, 9 Nov 2020 13:47:49 +0100 (CET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 049055953 for ; Mon, 9 Nov 2020 13:47:47 +0100 (CET) IronPort-SDR: YzEUyBfyPFfi7EKA8LP8VFs74tR8fdOVEsikuPHT/VWMFjkvZusdwtm9wfv8PMqvMqtEpdX138 15LqO0XS73eA== X-IronPort-AV: E=McAfee;i="6000,8403,9799"; a="169009871" X-IronPort-AV: E=Sophos;i="5.77,463,1596524400"; d="scan'208";a="169009871" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Nov 2020 04:47:45 -0800 IronPort-SDR: JRGwmEjHwgUo4qD6KyMfAPoj3hL9q5Djk8q4WI5vzx9oSw5yzSE0hPzY4JPE/FEj3xarKavQJ8 kRJ1oBdH5aQQ== X-IronPort-AV: E=Sophos;i="5.77,463,1596524400"; d="scan'208";a="540840128" Received: from bricha3-mobl.ger.corp.intel.com ([10.214.194.11]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 09 Nov 2020 04:47:40 -0800 Date: Mon, 9 Nov 2020 12:47:35 +0000 From: Bruce Richardson To: Juraj =?utf-8?Q?Linke=C5=A1?= Cc: Honnappa Nagarahalli , Ruifeng Wang , Phil Yang , "vcchunga@amazon.com" , Dharmik Thakkar , "jerinjacobk@gmail.com" , "hemant.agrawal@nxp.com" , "Ajit Khaparde (ajit.khaparde@broadcom.com)" , "ferruh.yigit@intel.com" , "aconole@redhat.com" , "dev@dpdk.org" , nd Message-ID: <20201109124735.GE831@bricha3-MOBL.ger.corp.intel.com> References: <1604584762-25321-1-git-send-email-juraj.linkes@pantheon.tech> <1604649795-27476-1-git-send-email-juraj.linkes@pantheon.tech> <1604649795-27476-2-git-send-email-juraj.linkes@pantheon.tech> <5b7dba42f12f439ab6875d62a4c43a16@pantheon.tech> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5b7dba42f12f439ab6875d62a4c43a16@pantheon.tech> Subject: Re: [dpdk-dev] [PATCH v8 01/14] build: alias default build as generic X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Nov 09, 2020 at 12:12:48PM +0000, Juraj Linkeš wrote: > > > > -----Original Message----- > > From: Honnappa Nagarahalli > > Sent: Saturday, November 7, 2020 12:53 AM > > To: Juraj Linkeš ; bruce.richardson@intel.com; > > Ruifeng Wang ; Phil Yang ; > > vcchunga@amazon.com; Dharmik Thakkar ; > > jerinjacobk@gmail.com; hemant.agrawal@nxp.com; Ajit Khaparde > > (ajit.khaparde@broadcom.com) ; > > ferruh.yigit@intel.com; aconole@redhat.com > > Cc: dev@dpdk.org; nd ; Honnappa Nagarahalli > > ; nd > > Subject: RE: [PATCH v8 01/14] build: alias default build as generic > > > > > > > > > > > > The current machine='default' build name is not descriptive. The > > > actual default build is machine='native'. Add an alternative string > > > which does the same build and better describes what we're building: > > > machine='generic'. Leave machine='default' for backwards compatibility. > > > > > > Signed-off-by: Juraj Linkeš > > > --- > > > config/arm/meson.build | 5 +++-- > > > config/meson.build | 9 +++++---- > > > doc/guides/prog_guide/build-sdk-meson.rst | 4 ++-- > > > meson_options.txt | 2 +- > > > 4 files changed, 11 insertions(+), 9 deletions(-) > > > > > > diff --git a/config/arm/meson.build b/config/arm/meson.build index > > > 42b4e43c7..d4066ade8 100644 > > > --- a/config/arm/meson.build > > > +++ b/config/arm/meson.build > > > @@ -1,12 +1,13 @@ > > > # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel > > > Corporation. > > > # Copyright(c) 2017 Cavium, Inc > > > +# Copyright(c) 2020 PANTHEON.tech s.r.o. > > > > > > # for checking defines we need to use the correct compiler flags > > > march_opt = > > > '-march=@0@'.format(machine) > > > > > > arm_force_native_march = false > > > -arm_force_default_march = (machine == 'default') > > > +arm_force_generic_march = (machine == 'generic') > > > > > > flags_common_default = [ > > > # Accelarate rte_memcpy. Be sure to run unit test > > > (memcpy_perf_autotest) @@ -148,7 +149,7 @@ else > > > cmd_generic = ['generic', '', '', 'default', ''] > > > cmd_output = cmd_generic # Set generic by default > > > machine_args = [] # Clear previous machine args > > > - if arm_force_default_march and not meson.is_cross_build() > > > + if arm_force_generic_march and not meson.is_cross_build() > > > machine = impl_generic > > > impl_pn = 'default' > > > elif not meson.is_cross_build() > > > diff --git a/config/meson.build b/config/meson.build index > > > 258b01d06..c7f7aa6e2 100644 > > > --- a/config/meson.build > > > +++ b/config/meson.build > > > @@ -68,13 +68,14 @@ else > > > machine = get_option('machine') > > > endif > > > > > > -# machine type 'default' is special, it defaults to the per arch > > > agreed common -# minimal baseline needed for DPDK. > > > +# machine type 'generic' is special, it defaults to the per arch > > > +agreed common # minimal baseline needed for DPDK. Machine type > > > +'default' is also supported # with the same meaning for backwards > > compatibility. > > > # 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 machine == 'default' or machine == 'generic' > > > if host_machine.cpu_family().startswith('x86') > > > # matches the old pre-meson build systems default > > > machine = 'corei7' > > > @@ -82,7 +83,7 @@ if machine == 'default' > > > machine = 'armv7-a' > > > elif host_machine.cpu_family().startswith('aarch') > > > # arm64 manages defaults in config/arm/meson.build > > > - machine = 'default' > > > + machine = 'generic' > > > elif host_machine.cpu_family().startswith('ppc') > > > machine = 'power8' > > > endif > > > diff --git a/doc/guides/prog_guide/build-sdk-meson.rst > > > b/doc/guides/prog_guide/build-sdk-meson.rst > > > index 3429e2647..c7e12eedf 100644 > > > --- a/doc/guides/prog_guide/build-sdk-meson.rst > > > +++ b/doc/guides/prog_guide/build-sdk-meson.rst > > > @@ -85,7 +85,7 @@ Project-specific options are passed used - > > > Doption=value:: > > > > > > meson -Denable_docs=true fullbuild # build and install docs > > > > > > - meson -Dmachine=default # use builder-independent baseline - > > > march > > > + meson -Dmachine=generic # use builder-independent baseline - > > > march > > > > > > meson -Ddisable_drivers=event/*,net/tap # disable tap driver and all > > > # eventdev PMDs for a smaller build > > @@ -114,7 +114,7 @@ Examples > > > of setting some of the same options using meson configure:: > > > re-scan from meson. > > > > > > .. note:: > > > - machine=default uses a config that works on all supported architectures > > > + machine=generic uses a config that works on all supported > > > + architectures > > > regardless of the capabilities of the machine where the build > > > is happening. > > > > > > As well as those settings taken from ``meson configure``, other > > > options diff -- git a/meson_options.txt b/meson_options.txt index > > > 9bf18ab6b..ce23289e3 > > > 100644 > > > --- a/meson_options.txt > > > +++ b/meson_options.txt > > > @@ -23,7 +23,7 @@ option('kernel_dir', type: 'string', value: '', > > > option('lib_musdk_dir', type: 'string', value: '', > > > description: 'path to the MUSDK library installation directory') > > > option('machine', type: 'string', value: 'native', > > > - description: 'set the target machine type') > > > + description: 'set the target machine type. Set to generic for a > > > +build usable on most machines of the build machine architecture, set > > > +to > > ^^^^ all > > I don't think we've settled this with Bruce. According to him, the build with "machine=generic" on x86 won't necessarily produce a build usable on all machines, so I went with most machines. > It will produce a build that works on all supported machines, so I think "all" is probably ok to use. /Bruce