[dpdk-dev] config: add default linux configuration
Commit Message
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
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 -
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.
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?
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?
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.
new file mode 100644
@@ -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