New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debian/rules, ceph.spec.in: invoke cmake with -DBOOST_J #14114

Merged
merged 3 commits into from Mar 25, 2017

Conversation

Projects
None yet
3 participants
@dmick
Member

dmick commented Mar 23, 2017

Allow boost build during toplevel cmake from Debian package build
to benefit from multiple processors. Should speed build a lot
on many-proc machines (say, arm64).

Signed-off-by: Dan Mick dan.mick@redhat.com

@dmick

This comment has been minimized.

Member

dmick commented Mar 24, 2017

The equivalent change for rpm is somewhat more complex; researching.

@liewegas liewegas added the build/ops label Mar 24, 2017

@dmick

This comment has been minimized.

Member

dmick commented Mar 24, 2017

@liewegas sorry, added the rpm stuff. need to test that it builds.

@dmick dmick changed the title from debian/rules: invoke cmake with -DBOOST_J=$(nproc) to DNM: debian/rules, ceph.spec.in: invoke cmake with -DBOOST_J=$(nproc) Mar 24, 2017

@@ -11,6 +11,8 @@ extraopts += -DWITH_CEPHFS_JAVA=ON
extraopts += -DCMAKE_INSTALL_LIBDIR=/usr/lib
extraopts += -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib
extraopts += -DCMAKE_INSTALL_SYSCONFDIR=/etc
NPROC=$(shell nproc)

This comment has been minimized.

@tchaikov

tchaikov Mar 24, 2017

Contributor

see https://www.debian.org/doc/debian-policy/ch-source.html, we might want to put something like

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
  extraopts += -DBOOST_J=$(NUMJOBS)
endif

and let the pbuilder decide the parallel level of the build, currently we use "-jgrep -c processor /proc/cpuinfo", see https://github.com/ceph/ceph-build/blob/master/ceph-build/build/build_deb#L83.

This comment has been minimized.

@dmick

dmick Mar 24, 2017

Member

good call. I'll rework tomorrow; all the lab slaves are offline for reasons I don't understand at the moment.

dmick added some commits Mar 23, 2017

debian/rules: invoke cmake with -DBOOST_J
Allow boost build during toplevel cmake from Debian package build
to benefit from multiple processors.  Should speed build a lot
on many-proc machines (say, arm64).  Use argument passed to
debhelper.

Signed-off-by: Dan Mick <dan.mick@redhat.com>
ceph.spec.in: move lowmem_build setting of _smp_mflags
Signed-off-by: Dan Mick <dan.mick@redhat.com>
ceph.spec.in: derive _smp_ncpus and use it for -DBOOST_J
Signed-off-by: Dan Mick <dan.mick@redhat.com>
@dmick

This comment has been minimized.

Member

dmick commented Mar 24, 2017

Used @tchaikov's suggestion for extracting debian parallelism, fixed missing '', all looks well at https://jenkins.ceph.com/job/ceph-dev-new-build/2024/ and its subjobs.

@dmick dmick changed the title from DNM: debian/rules, ceph.spec.in: invoke cmake with -DBOOST_J=$(nproc) to debian/rules, ceph.spec.in: invoke cmake with -DBOOST_J Mar 24, 2017

@liewegas

This comment has been minimized.

Member

liewegas commented Mar 24, 2017

@dmick

This comment has been minimized.

Member

dmick commented Mar 25, 2017

I'm ready to accept this if y'all are. The centos7 build on aarch64 has another problem covered in #14132 but the boost section of the build showed the higher parallelism.

@tchaikov tchaikov merged commit e32b1b8 into ceph:master Mar 25, 2017

3 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodifed Submodules submodules for project are unmodified
Details
default Build finished.
Details

@dmick dmick deleted the dmick:wip-boost-j branch Mar 25, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment