DPDK patches and discussions
 help / color / mirror / Atom feed
From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: "Hunt, David" <david.hunt@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"thomas@monjalon.net" <thomas@monjalon.net>
Subject: Re: [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig
Date: Thu, 25 May 2017 13:19:36 +0000	[thread overview]
Message-ID: <VI1PR0401MB2464D027CDEB80FBD64C01C290FF0@VI1PR0401MB2464.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <cb78286b-f70e-3b1d-53c7-4117593a8a4f@intel.com>

Hi David,

> -----Original Message-----
> From: Hunt, David [mailto:david.hunt@intel.com]
> Sent: Thursday, May 25, 2017 6:34 PM
> To: Shreyansh Jain <shreyansh.jain@nxp.com>
> Cc: dev@dpdk.org; thomas@monjalon.net
> Subject: Re: [PATCH v1 2/2] mk: add sensible default target with defconfig
> 
> Hi Shreyansh,
> 
> Thanks for your comments. More thoughts below.
> 
> On 24/5/2017 7:10 AM, Shreyansh Jain wrote:
> > Hello David,
> >
> > On Tuesday 23 May 2017 03:58 PM, David Hunt wrote:
> >> Users can now use 'make defconfig' to generate a configuration using
> >> the most appropriate defaults for the current machine.
> >>
> >> <arch-machine-execenv-toolchain>
> >>   arch taken from uname -m
> >>   machine defaults to native
> >>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
> >>   toolchain is taken from $CC -v to see which compiler to use
> >>
> >> Signed-off-by: David Hunt <david.hunt@intel.com>
> >> ---
> >>  mk/rte.sdkconfig.mk | 15 ++++++++++++---
> >>  mk/rte.sdkroot.mk   |  4 ++--
> >>  2 files changed, 14 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
> >> index 1f2d6bd..4f30d56 100644
> >> --- a/mk/rte.sdkconfig.mk
> >> +++ b/mk/rte.sdkconfig.mk
> >> @@ -60,16 +60,25 @@ showconfigs:
> >>
> >>  .PHONY: notemplate
> >>  notemplate:
> >> -    @printf "No template specified. "
> >> -    @echo "Use T=template among the following list:"
> >> +    @printf "No template specified. Use 'make defconfig' or "
> >> +    @echo "use T=template from the following list:"
> >>      @$(MAKE) -rR showconfigs | sed 's,^,  ,'
> >>
> >> +
> >> +.PHONY: defconfig
> >> +defconfig:
> >> +    @$(MAKE) config T=$(shell uname -m)-native-$(shell uname | \
> >
> > The idea to have 'make defconfig' do the works looks great to me.
> > I am just worried about the above line - it wouldn't allow
> > configurations like
> > arm64-dpaa2-linuxapp-gcc or arm64-armv8a-linuxapp-gcc
> > Basically, having the MACHINE default to 'native' would not be right
> > in all cases.
> >
> > But, I don't have a better idea about how to detect this automatically.
> > Or, we might use RTE_MACHINE someway.
> >
> 
> Might I suggest that we default to armv8a for the defconfig in this
> case? Would that be good enough? If you need something more specific,
> then use the normal make config T=
> Also, if you're using an unknown variant, you can always set your
> RTE_TARGET, as per the other changes in the patch.

Yes. It is futile to find a way to accommodate all types of MACHINEs.
This change is targeted for generalizing the config detection, and
generic it should remain.

> 
> A possible proposal for a v2 patch could be:
> 
> uname -m  Output Target
> --------  ------------------
> aarch64   arm64-armv8a-...
> armv7l    arm-armv7a-...
> ppc64     ppc_64-power8-... (from wikipedia uname page, could ppc user
> confirm this for me?)
> x86_64    x86_64-native-...
> i686      i686-native-...
> 
> Something along the lines of:
> 
> .PHONY: defconfig
> defconfig:
>          @$(MAKE) config T=$(shell \
>                  uname -m | awk '{ \
>                  if ($$0 == "aarch64") { \
>                          print "arm64-armv8a"} \
>                  else if ($$0 == "armv7l") { \
>                          print "arm-armv7a"} \
>                  else if ($$0 == "ppc64") { \
>                          print "ppc_64-power8"} \
>                  else { \
>                          printf "%s-native", $$0} }')-$(shell \
>                  uname | awk '{ \
>                  if ($$0 == "Linux") { \
>                          print "linuxapp"} \
>                  else { \
>                          print "bsdapp"} }')-$(shell \
>                  ${CC} -v 2>&1 | \
>                  grep " version " | cut -d ' ' -f 1)
> 
> That might make a reasonable start in the absence of a reliable method
> of detecting Xgene/ThunderX/DPAA2 variants.
 
Sounds reasonable to me. We can probably improve the above check in
future as and more definitive way of detecting machine are identified.
I can ack the series if you can push the above change.

> 
> Regards,
> Dave.
> 
> 
> 

-
Shreyansh

  reply	other threads:[~2017-05-25 13:19 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-23 10:28 [dpdk-dev] mk: make config enhancements David Hunt
2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 1/2] mk: allow use of environment var for make config David Hunt
2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig David Hunt
2017-05-24  6:10   ` Shreyansh Jain
2017-05-25 13:04     ` Hunt, David
2017-05-25 13:19       ` Shreyansh Jain [this message]
2017-05-26  8:52   ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements David Hunt
2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config David Hunt
2017-06-07  8:39       ` Hunt, David
2017-06-07  9:36         ` Shreyansh Jain
2017-06-07 10:28           ` Hunt, David
2017-06-07 11:46             ` Shreyansh Jain
2017-06-07 12:07               ` Bruce Richardson
2017-06-07 14:37       ` [dpdk-dev] [PATCH v3 0/3] mk: make config enhancements David Hunt
2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig David Hunt
2017-06-12  8:36           ` Jerin Jacob
2017-08-03 22:39           ` Thomas Monjalon
2017-08-04  8:22             ` Hunt, David
2017-08-04  9:36               ` Thomas Monjalon
2017-08-04  9:53                 ` Hunt, David
2017-08-04 10:05                   ` Thomas Monjalon
2017-08-04 10:42                     ` Hunt, David
2017-08-04 10:28           ` [dpdk-dev] [PATCH v4] " David Hunt
2017-08-04 10:39             ` [dpdk-dev] [PATCH v5] " David Hunt
2017-08-05  8:24               ` Thomas Monjalon
2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template David Hunt
2017-06-12  8:37           ` Jerin Jacob
2017-08-03 22:42           ` Thomas Monjalon
2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file David Hunt
2017-06-12 12:50           ` Mcnamara, John
2018-02-13 12:18             ` Ferruh Yigit
2018-02-13 23:41               ` Thomas Monjalon
2018-04-11  8:44                 ` Hunt, David
2018-04-11  8:49                   ` Thomas Monjalon
2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 2/2] mk: add sensible default target with defconfig David Hunt
2017-05-29  7:31     ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements Shreyansh Jain

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=VI1PR0401MB2464D027CDEB80FBD64C01C290FF0@VI1PR0401MB2464.eurprd04.prod.outlook.com \
    --to=shreyansh.jain@nxp.com \
    --cc=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /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).