All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org
Subject: Re: [RFC PATCH] replace DPDK config and build system
Date: Thu, 8 Jun 2017 09:26:58 -0700	[thread overview]
Message-ID: <20170608092658.6a4bfc5c@xeon-e3> (raw)
In-Reply-To: <20170608085901.GC58216@bricha3-MOBL3.ger.corp.intel.com>

On Thu, 8 Jun 2017 09:59:01 +0100
Bruce Richardson <bruce.richardson@intel.com> wrote:

> On Wed, Jun 07, 2017 at 04:26:17PM -0700, Stephen Hemminger wrote:
> > On Wed,  7 Jun 2017 11:47:42 +0100
> > Bruce Richardson <bruce.richardson@intel.com> wrote:
> >   
> > > The prototype is incomplete, but it does build a reasonable number of our
> > > libraries, some unit tests, the i40e PMD and the testpmd binary, and I have
> > > successfully passed traffic using testpmd from the build. Some things are
> > > not fully correct, e.g. static builds aren't working right now, as I haven't
> > > correctly done all the dependency tracking, I think, and the cpu flag
> > > detection has issues. It also has only been tried on x86_64 linux, on a
> > > couple of systems, so YMMV. However, I feel it's a reasonable enough start
> > > point to show what we might be able to achieve.  
> > 
> > Remember that in many cases the build system and the target system are different.
> > One of the problems with previous DPDK builds where build system was on bare metal
> > but deployment target was on a more limited VM environment. I sweated through
> > lots of  pain on that.  
> 
> Yep, and I'm not going to claim that this is going to solve world hunger
> here :-) or that switching is going to be easy. However, talking of
> building and deploying on different targets, meson is designed to allow
> cross-compilation, see for example the built-in objects for
> "build_machine", "host_machine" and "target_machine":
> http://mesonbuild.com/Reference-manual.html#build_machine-object
> 
> Also, one thing I did add into this prototype was some build argument
> support to test how that would work. By default, when you run meson, it
> will set up the cflags to pass in -march=native, much as is done by our
> default targets now. However, this is easily changed when doing your own
> builds, for example, to do two different builds in different directories:
> 
> $ meson native_build
> ...
> Checking for value of define "__PCLMUL__": 1
> Checking for value of define "__AVX__": 1
> Checking for value of define "__AVX2__": 1
> ...
> 
> $ meson -Dmachine=ivybridge ivybridge_build
> ...
> Checking for value of define "__PCLMUL__": 1
> Checking for value of define "__AVX__": 1
> Checking for value of define "__AVX2__":
> ...
> 
> This way you can easily set up different builds for different machine
> targets, with different instruction set levels, as seen from where the
> second case above did not report AVX2 support. The project-specific
> options are given in meson_options.txt. See also relevant section in
> meson docs: http://mesonbuild.com/Build-options.html
> 
> Regards,
> /Bruce

On a side note, it would be good to use the GCC extensions that allow
building different versions of the same routine into one binary.

  reply	other threads:[~2017-06-08 16:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-07 10:47 [RFC PATCH] replace DPDK config and build system Bruce Richardson
2017-06-07 10:47 ` [RFC PATCH] build for DPDK with meson and ninja Bruce Richardson
2017-06-07 14:36   ` [dpdk-dev,RFC] " Ilya Maximets
2017-06-07 14:51     ` Bruce Richardson
2017-06-07 18:12   ` [RFC PATCH] " Jerin Jacob
2017-06-08  8:43     ` Bruce Richardson
2017-06-08  7:20   ` Shreyansh Jain
2017-06-08  8:48     ` Bruce Richardson
2017-06-07 13:08 ` [RFC PATCH] replace DPDK config and build system Van Haaren, Harry
     [not found]   ` <1496841784.25214.6.camel@gmail.com>
2017-06-07 13:27     ` Bruce Richardson
2017-06-07 23:26 ` Stephen Hemminger
2017-06-08  8:59   ` Bruce Richardson
2017-06-08 16:26     ` Stephen Hemminger [this message]
2017-06-08 18:07       ` Christian Ehrhardt
2017-06-08 18:21         ` Wiles, Keith
2017-06-09  9:05         ` Bruce Richardson
2017-06-09 18:06           ` Wiles, Keith
2017-06-20 13:34             ` Morten Brørup
2017-06-20 13:41               ` Bruce Richardson
2017-06-20 14:25                 ` Morten Brørup
2017-06-20 14:43                   ` Bruce Richardson
2017-06-22 17:14 ` Neil Horman
2017-06-22 20:27   ` Bruce Richardson

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=20170608092658.6a4bfc5c@xeon-e3 \
    --to=stephen@networkplumber.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.