[dpdk-dev] config: add default linux configuration

Message ID 1453991505-15205-1-git-send-email-bernard.iremonger@intel.com (mailing list archive)
State Rejected, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Iremonger, Bernard Jan. 28, 2016, 2:31 p.m. UTC
  add config/defconfig_x86_64-default-linuxapp-gcc file.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 config/defconfig_x86_64-default-linuxapp-gcc | 42 ++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 config/defconfig_x86_64-default-linuxapp-gcc
  

Comments

Panu Matilainen Feb. 12, 2016, 12:31 p.m. UTC | #1
On 01/28/2016 04:31 PM, Bernard Iremonger wrote:
> add config/defconfig_x86_64-default-linuxapp-gcc file.
>
> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> ---
>   config/defconfig_x86_64-default-linuxapp-gcc | 42 ++++++++++++++++++++++++++++
>   1 file changed, 42 insertions(+)
>   create mode 100644 config/defconfig_x86_64-default-linuxapp-gcc
>

There was a related discussion back in March, see
http://dpdk.org/ml/archives/dev/2015-March/014626.html

I intended to go with that and submit patch(es) but the amount of 
duplication and new files gets mind-numbing when you make them for all 
existing targets. In other words, this approach doesn't scale.

Thomas, I remember seeing a plan to include a configure script in DPDK 
many times in past months. Do you have something specific in mind, ie 
actually use autoconf or just a custom hand-written script named 
"configure" that roughly resembles autoconf configure or...?

	- Panu -
  
Thomas Monjalon Feb. 12, 2016, 3:04 p.m. UTC | #2
2016-02-12 14:31, Panu Matilainen:
> On 01/28/2016 04:31 PM, Bernard Iremonger wrote:
> > add config/defconfig_x86_64-default-linuxapp-gcc file.
> 
> There was a related discussion back in March, see
> http://dpdk.org/ml/archives/dev/2015-March/014626.html
> 
> I intended to go with that and submit patch(es) but the amount of 
> duplication and new files gets mind-numbing when you make them for all 
> existing targets. In other words, this approach doesn't scale.
> 
> Thomas, I remember seeing a plan to include a configure script in DPDK 
> many times in past months. Do you have something specific in mind, ie 
> actually use autoconf or just a custom hand-written script named 
> "configure" that roughly resembles autoconf configure or...?

A script named "configure" looks fine.
Bruce introduced the idea of calling "make config" in the script:
	http://dpdk.org/ml/archives/dev/2015-October/026256.html
Maybe it is a good start to move forward.
I think we have to choose between a script and a kconfig approach giving
the menus GUIs as bonus.
  
Thomas Monjalon Feb. 12, 2016, 5:13 p.m. UTC | #3
2016-02-12 16:59, Ferruh Yigit:
> On Fri, Feb 12, 2016 at 04:04:07PM +0100, Thomas Monjalon wrote:
> > 2016-02-12 14:31, Panu Matilainen:
> > > On 01/28/2016 04:31 PM, Bernard Iremonger wrote:
> > > > add config/defconfig_x86_64-default-linuxapp-gcc file.
> > > 
> > > There was a related discussion back in March, see
> > > http://dpdk.org/ml/archives/dev/2015-March/014626.html
> > > 
> > > I intended to go with that and submit patch(es) but the amount of 
> > > duplication and new files gets mind-numbing when you make them for all 
> > > existing targets. In other words, this approach doesn't scale.
> > > 
> > > Thomas, I remember seeing a plan to include a configure script in DPDK 
> > > many times in past months. Do you have something specific in mind, ie 
> > > actually use autoconf or just a custom hand-written script named 
> > > "configure" that roughly resembles autoconf configure or...?
> > 
> > A script named "configure" looks fine.
> > Bruce introduced the idea of calling "make config" in the script:
> > 	http://dpdk.org/ml/archives/dev/2015-October/026256.html
> > Maybe it is a good start to move forward.
> > I think we have to choose between a script and a kconfig approach giving
> > the menus GUIs as bonus.
> > 
> Another thing kconfig can help is to resolve dependencies, harder to make this with a
> script. Currently we already have dependencies, although not complex, and resolved
> within makefile.

Dependencies are not so well resolved currently.
We have internal and external dependencies.
The internal ones would be better resolved with kconfig or a script.
The external dependencies are often managed by autotools but I'm sure
we prefer have a clean script instead of this beast ;)

> I believe correct place to solve them is a configuration tool so that makefiles or
> source files can be clean.

I think a configuration tool/script must help to make a working config.
But do you really think we should remove the gatekeepers in Makefiles?
  
Thomas Monjalon Feb. 16, 2016, 11:23 a.m. UTC | #4
2016-02-16 11:16, Ferruh Yigit:
> On Thu, Jan 28, 2016 at 02:31:45PM +0000, Bernard Iremonger wrote:
> > add config/defconfig_x86_64-default-linuxapp-gcc file.
> > 
> > Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> 
> Apart from configuration related discussion,
> this patch was helpful for me to notice "default" machine type, and difference between "native",
> so I believe it is good to have this as sample config.

The justification is strange. We are not going to have a config file
for every combinations.
Defaulting defconfig files to the native machine natural to me.

> Also not scope of this patch but I agree on Bruce's comment on renaming "default" machine type to "generic",
> I can send a patch for this if there is a demand.

default is an Intel core 2. Why generic is a better name?
  
Iremonger, Bernard Feb. 17, 2016, 10:42 a.m. UTC | #5
Hi Thomas,
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Tuesday, February 16, 2016 12:09 PM
> To: Thomas Monjalon <thomas.monjalon@6wind.com>
> Cc: dev@dpdk.org; Iremonger, Bernard <bernard.iremonger@intel.com>
> Subject: Re: [dpdk-dev] [PATCH] config: add default linux configuration
> 
> On Tue, Feb 16, 2016 at 12:23:12PM +0100, Thomas Monjalon wrote:
> > 2016-02-16 11:16, Ferruh Yigit:
> > > On Thu, Jan 28, 2016 at 02:31:45PM +0000, Bernard Iremonger wrote:
> > > > add config/defconfig_x86_64-default-linuxapp-gcc file.
> > > >
> > > > Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> > >
> > > Apart from configuration related discussion, this patch was helpful
> > > for me to notice "default" machine type, and difference between
> > > "native", so I believe it is good to have this as sample config.
> >
> > The justification is strange. We are not going to have a config file
> > for every combinations.
> >
> Simply I found useful for me and thought others can be useful too, if you
> think not useful, that is OK, and yes probably we shouldn't have a sample for
> every combination and this patch is not suggesting that.
> 
> > Defaulting defconfig files to the native machine natural to me.
> >
> No issue on having native machine type, just another defconfig with another
> machine type.

The default config is useful when working with VM's, that is why I would like to add it.
I don't think it is necessary to add default configs for all the compilers, one sample should be enough.

> 
> > > Also not scope of this patch but I agree on Bruce's comment on
> > > renaming "default" machine type to "generic", I can send a patch for this
> if there is a demand.
> >
> > default is an Intel core 2. Why generic is a better name?
> 
> When you have "x86_64-default-linuxapp-icc", this feels like this is default
> configuration for given architecture among others, which will give best
> performance (what native suggests) If I would know nothing about DPDK and
> see available configs first time, I would pick this one, because this is default
> one J.
> 
> "generic" stress more that this config supports generic features of different
> machine types.
> 
> But this is how I feel, as I said I would prefer "generic", but I can survive with
> existing one.
> 
> Thanks,
> Ferruh

Regards,

Bernard.
  

Patch

diff --git a/config/defconfig_x86_64-default-linuxapp-gcc b/config/defconfig_x86_64-default-linuxapp-gcc
new file mode 100644
index 0000000..d1b9dbf
--- /dev/null
+++ b/config/defconfig_x86_64-default-linuxapp-gcc
@@ -0,0 +1,42 @@ 
+#   BSD LICENSE
+#
+#   Copyright(c) 2016 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#include "common_linuxapp"
+
+CONFIG_RTE_MACHINE="default"
+
+CONFIG_RTE_ARCH="x86_64"
+CONFIG_RTE_ARCH_X86_64=y
+CONFIG_RTE_ARCH_64=y
+
+CONFIG_RTE_TOOLCHAIN="gcc"
+CONFIG_RTE_TOOLCHAIN_GCC=y