/proc/cpuinfo with container builds may lead to jenkins failures
ability to pass in MAKE_PARALLEL_FLAGS via env directly for
container builds
Change-Id: Id02acb542d5ffbe3f4dec7712ae2cb07512b236d
Signed-off-by: Ed Kern <ejk@cisco.com>
With recent introduction of C++ code required memory for each compiler
instance has significantly increased causing build issues.
Currently build system spins 2 compiler instances per logical CPU core.
As CPU can hardly execute more than one thread at a time, it should be
pretty safe to change that formula so it doesn't multiply number of cpu
cores by 2 and such change will signifucantly reduce amount of memory
needed.
Change-Id: Ic829fff6e45f4caf98a6d9c1c98c53ed003039ef
Signed-off-by: Damjan Marion <damarion@cisco.com>
platforms to default to lib (instead of lib64) when not explicitely defining
the --libdir through the configure script.
This patch fixes that.
Change-Id: Ia4c152e0f40acab7f098885d672ff9385f57b0fe
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
With some Linux container platforms /proc/cpuinfo reads as an empty
file. (Aside: stat on /proc/cpuinfo always indicates a length of
zero bytes, regardless of its content).
This has the effect that the make '-j' parameter being passed the
unhelpful value of '0' both in build-root/Makefile and dpdk/Makefile.
Make complains with the error:
make: the '-j' option requires a positive integer argument
This patch checks for '0' and replaces it with '2' as a reasonable
number of jobs to run in parallel when the CPU count isn't known
(and assumed to be one). It also makes the value determination
consistent between VPP and DPDK (2*ncpu).
Change-Id: I78b89420114a825fab4d339e4f9291d486b7b9c8
Signed-off-by: Chris Luke <chrisy@flirble.org>
This patch is causing build failures
This reverts commit d995c757f05f78aa759b0a65c0a7e38088e690a9.
Change-Id: I0c8d5a4208135d77aaa3a6a470d26140f7b74733
Signed-off-by: Damjan Marion <damarion@cisco.com>
Added bash completion that will include all commands from build time
*Script takes list of commands generated by doxygen-siphon-list
*Configured doxygen-siphon makefile to generate just cli commands
*List of cli commands put in /usr/share/vpp
*Stopped siphon using doxygen bootstrap, uses main bootstrap instead
*Added rpm/deb check for installation of packages, separate from bootstrap
*NOTE: Once you have installed the vpp .deb/.rpm package you will have to
restart bash
Change-Id: Ie503e80d5177481f6e7dbe59378f2e0d76f29152
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
* compiler -march= parameter is changed from native to corei7
so code is always genereted with instructions which are available
on the Nehalem microarchitecture (up to SSE4.2)
* compiler -mtune= parameter is added so code is optimized for
corei7-avx which equals to Sandy Bridge microarchitecture
* set of macros is added which allows run-time detection of available
cpu instructions (e.g. clib_cpu_supports_avx())
* set of macros is added which allows us to clone graph node funcitons
where cloned function is optmized for different microarchitecture
Those macros are using following attributes:
__attribute__((flatten))
__attribute__((target("arch=core-avx2)))
I.e. If applied to foo_node_fn() macro will generate cloned
functions foo_node_fn_avx2() and foo_node_fn_avx512() (future)
It will also generate function void * foo_node_fn_multiarch_select()
which detects available instruction set and returns pointer to the
best matching function clone.
Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0
Signed-off-by: Damjan Marion <damarion@cisco.com>
Some build hosts can run out of memory during compilation.
This should reduce memory demand without affecting build time.
Change-Id: I11bd2884a1f8885a8a332bbbf0a63324a3079c3b
Signed-off-by: Damjan Marion <damarion@cisco.com>