From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id BDCC2A04DB;
	Tue, 17 Nov 2020 10:15:34 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 0E97C58C4;
	Tue, 17 Nov 2020 10:15:32 +0100 (CET)
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
 by dpdk.org (Postfix) with ESMTP id 773044C90
 for <dev@dpdk.org>; Tue, 17 Nov 2020 10:15:30 +0100 (CET)
IronPort-SDR: D/0wal/M+GKDDZdWemYdIktLq/x/P1D3qoK2JxAOQih2L472O8ZFbwdM8KKP64lxS5cMfEL4E1
 yxvisLCHMw6A==
X-IronPort-AV: E=McAfee;i="6000,8403,9807"; a="170991549"
X-IronPort-AV: E=Sophos;i="5.77,485,1596524400"; d="scan'208";a="170991549"
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 17 Nov 2020 01:15:28 -0800
IronPort-SDR: zv1Bjm9A+ZtUj7HDzJyIOpcDOo/X/MlIkNHma3vBY1lpHTpzFh7Ly3H5+GeBagEzhq1y5ekKsG
 ryo/+4ju05QQ==
X-IronPort-AV: E=Sophos;i="5.77,485,1596524400"; d="scan'208";a="543964210"
Received: from rkeeling-mobl2.ger.corp.intel.com (HELO
 bricha3-MOBL.ger.corp.intel.com) ([10.251.83.1])
 by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA;
 17 Nov 2020 01:15:22 -0800
Date: Tue, 17 Nov 2020 09:15:18 +0000
From: Bruce Richardson <bruce.richardson@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: Juraj =?utf-8?Q?Linke=C5=A1?= <juraj.linkes@pantheon.tech>,
 Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
 Ruifeng Wang <Ruifeng.Wang@arm.com>, Phil Yang <Phil.Yang@arm.com>,
 "vcchunga@amazon.com" <vcchunga@amazon.com>,
 Dharmik Thakkar <Dharmik.Thakkar@arm.com>,
 "jerinjacobk@gmail.com" <jerinjacobk@gmail.com>,
 "hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
 "Ajit Khaparde (ajit.khaparde@broadcom.com)" <ajit.khaparde@broadcom.com>,
 "ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
 "dev@dpdk.org" <dev@dpdk.org>,
 "david.marchand@redhat.com" <david.marchand@redhat.com>, nd <nd@arm.com>
Message-ID: <20201117091518.GA1522@bricha3-MOBL.ger.corp.intel.com>
References: <1605267483-13167-1-git-send-email-juraj.linkes@pantheon.tech>
 <4553269.LkjHWWX2LK@thomas>
 <DBAPR08MB5814BC9374736804B754D35A98E20@DBAPR08MB5814.eurprd08.prod.outlook.com>
 <2366611.vJsMBebm0t@thomas>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2366611.vJsMBebm0t@thomas>
Subject: Re: [dpdk-dev] [PATCH v12 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 <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On Tue, Nov 17, 2020 at 08:49:45AM +0100, Thomas Monjalon wrote:
> 17/11/2020 03:46, Honnappa Nagarahalli:
> > <snip>
> > 
> > > 
> > > 16/11/2020 17:16, Bruce Richardson:
> > > > On Mon, Nov 16, 2020 at 03:50:31PM +0000, Juraj Linkeš wrote:
> > > > > From: Thomas Monjalon <thomas@monjalon.net>
> > > > > > 13/11/2020 15:31, Juraj Linkeš:
> > > > > > > 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.
> > > > > >
> > > > > > What?
> > > > > >
> > > > > > "generic" means... nothing.
> > > > > >
> > > > >
> > > > > An absence of anything means nothing. Generic means "characteristic of
> > > or relating to a class or group of things; not specific", which is pretty much
> > > what we're looking for.
> > > > >
> > > > > > "default" should be the most common set of options to make a build
> > > > > > work everywhere.
> > > > >
> > > > > What we want is a value of machine that would "be the most common
> > > set of options to make a build work everywhere" and using the above
> > > definition of generic, it fits very well.
> > > > > The reason I said the actual default build is machine='native' is because
> > > that's how the machine option is defined in meson_options.txt. It follows
> > > from what default actually means - "a preselected option adopted by a
> > > computer program or other mechanism when no alternative is specified by
> > > the user or programmer". Default then means no user input, which means
> > > machine='native', which means the default build is the default build.
> > > > >
> > > > > What ""default" should mean" looks like an attempt at redefining what
> > > the word actually means and leads to confusion, in my experience. Hence an
> > > attempt to remove the potential ambiguity.
> > > > >
> > > >
> > > > I would tend to agree that "generic" is probably a better term than
> > > > "default" for what we use it for here in the config.
> > > 
> > > In the past, we had a different definition with make config.
> > > I am just trying to be consistent.
> > > Even with meson, default means "minimal CPU instructions".
> > > 
> > > Example in devtools/test-meson-builds.sh:
> > > "test compilation with minimal x86 instruction set"
> > > is called build-x86-default.
> > > 
> > > In config/meson.build:
> > > "
> > > 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'
> > > "
> > > 
> > > So, why this definition is called "generic" in meson Arm config?
> > The explanation above is for a build type 'default'. Whereas meson by default builds for build type 'native'. Also when you look at the config/arm/meson.build the word 'default' was used where it was not related to the build type default. It created lot of confusion.
> > 
> > From the dictionary 'default' - "a preselected option adopted by a computer program or other mechanism when no alternative is specified by the user or programmer." But, if one had to do build of type default, they have to mention -Dmachine=default. If nothing is mentioned, it is a build type 'native', which does not go along with the definition of 'default'.
> > 
> > But for 'generic' - "characteristic of or relating to a class or group of things; not specific". IMO, it better suits the explanation you have provided above. So, separating this machine type to 'generic' to cover the same definition makes more sense.
> > 
> > However, 'default' is still supported for backward compatibility.
> 
> So? Are you going to change the DPDK definitions we had for years?
> 

I think we should, or at least support "generic" alongside it. Using the term
"default" for something that is not the default is confusing. It's also not
a good description of what the result is, since it's a generic binary for
the architecture, rather than a "default" one for the architecture.

/Bruce