Hello community, here is the log from the commit of package openmpi2 for openSUSE:Factory checked in at 2017-07-21 22:50:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openmpi2 (Old) and /work/SRC/openSUSE:Factory/.openmpi2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openmpi2" Fri Jul 21 22:50:02 2017 rev:2 rq:511600 version:2.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/openmpi2/openmpi2-testsuite.changes 2017-07-19 11:20:18.314620791 +0200 +++ /work/SRC/openSUSE:Factory/.openmpi2.new/openmpi2-testsuite.changes 2017-07-21 22:50:04.143059287 +0200 @@ -1,0 +2,18 @@ +Wed Jul 19 15:18:49 UTC 2017 - [email protected] + +- Fix module file name + +------------------------------------------------------------------- +Wed Jul 12 08:02:32 UTC 2017 - [email protected] + +- Add pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch and + btl-vader-work-around-ob1-pending-fragment-bug.patch + to fix upstream bug https://github.com/open-mpi/ompi/issues/3821 + which causes openmpi2 to fail the IMB test suite + +------------------------------------------------------------------- +Tue Jul 11 09:44:34 UTC 2017 - [email protected] + +- Do not require openucx libs for suse_version < 1320 + +------------------------------------------------------------------- openmpi2.changes: same change New: ---- btl-vader-work-around-ob1-pending-fragment-bug.patch pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openmpi2-testsuite.spec ++++++ --- /var/tmp/diff_new_pack.aFIicu/_old 2017-07-21 22:50:05.970801462 +0200 +++ /var/tmp/diff_new_pack.aFIicu/_new 2017-07-21 22:50:05.970801462 +0200 @@ -46,9 +46,11 @@ %define modulefile_path /usr/share/modules %define modulefile_subdir gnu-openmpi2 +%if 0%{?suse_version} >= 1320 %ifnarch s390 armv7hl %{ix86} %define with_ucx 1 %endif +%endif ############################################################################# # @@ -66,6 +68,8 @@ Source0: openmpi-%{version}.tar.bz2 Source1: baselibs.conf Source2: openmpi2-rpmlintrc +Patch0: pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch +Patch1: btl-vader-work-around-ob1-pending-fragment-bug.patch Provides: mpi BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: Modules @@ -237,6 +241,8 @@ ############################################################################# %prep %setup -q -n openmpi-%{version} +%patch0 +%patch1 ############################################################################# # @@ -301,7 +307,7 @@ # First, the modulefile mkdir -p "%{buildroot}/%{modulefile_path}/%{modulefile_subdir}" -cat <<EOF >"%{buildroot}/%{modulefile_path}/%{modulefile_subdir}/%{modulefile_name}" +cat <<EOF >"%{buildroot}/%{modulefile_path}/%{modulefile_subdir}/%{version}" #%Module # NOTE: This is an automatically-generated file! (generated by the ++++++ openmpi2.spec ++++++ --- /var/tmp/diff_new_pack.aFIicu/_old 2017-07-21 22:50:05.998797512 +0200 +++ /var/tmp/diff_new_pack.aFIicu/_new 2017-07-21 22:50:06.002796948 +0200 @@ -46,9 +46,11 @@ %define modulefile_path /usr/share/modules %define modulefile_subdir gnu-openmpi2 +%if 0%{?suse_version} >= 1320 %ifnarch s390 armv7hl %{ix86} %define with_ucx 1 %endif +%endif ############################################################################# # @@ -66,6 +68,8 @@ Source0: openmpi-%{version}.tar.bz2 Source1: baselibs.conf Source2: openmpi2-rpmlintrc +Patch0: pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch +Patch1: btl-vader-work-around-ob1-pending-fragment-bug.patch Provides: mpi BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: Modules @@ -237,6 +241,8 @@ ############################################################################# %prep %setup -q -n openmpi-%{version} +%patch0 +%patch1 ############################################################################# # @@ -301,7 +307,7 @@ # First, the modulefile mkdir -p "%{buildroot}/%{modulefile_path}/%{modulefile_subdir}" -cat <<EOF >"%{buildroot}/%{modulefile_path}/%{modulefile_subdir}/%{modulefile_name}" +cat <<EOF >"%{buildroot}/%{modulefile_path}/%{modulefile_subdir}/%{version}" #%Module # NOTE: This is an automatically-generated file! (generated by the ++++++ btl-vader-work-around-ob1-pending-fragment-bug.patch ++++++ diff --git opal/mca/btl/vader/btl_vader_send.c opal/mca/btl/vader/btl_vader_send.c index 08bfa5a623..ba3be9f491 100644 --- opal/mca/btl/vader/btl_vader_send.c +++ opal/mca/btl/vader/btl_vader_send.c @@ -49,6 +49,10 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl, return 1; } + /* in order to work around a long standing ob1 bug (see #3845) we have to always + * make the callback. once this is fixed in ob1 we can restore the code below. */ + frag->base.des_flags |= MCA_BTL_DES_SEND_ALWAYS_CALLBACK; + /* header (+ optional inline data) */ frag->hdr->len = total_size; /* type of message, pt-2-pt, one-sided, etc */ @@ -69,6 +73,9 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl, return OPAL_SUCCESS; } + return OPAL_SUCCESS; + +#if 0 if ((frag->hdr->flags & MCA_BTL_VADER_FLAG_SINGLE_COPY) || !(frag->base.des_flags & MCA_BTL_DES_FLAGS_BTL_OWNERSHIP)) { frag->base.des_flags |= MCA_BTL_DES_SEND_ALWAYS_CALLBACK; @@ -79,4 +86,5 @@ int mca_btl_vader_send (struct mca_btl_base_module_t *btl, /* data is gone (from the pml's perspective). frag callback/release will happen later */ return 1; +#endif } ++++++ pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch ++++++ diff --git ompi/mca/pml/ob1/pml_ob1_recvreq.c ompi/mca/pml/ob1/pml_ob1_recvreq.c index f4cfb67736..e8b98e62bc 100644 --- ompi/mca/pml/ob1/pml_ob1_recvreq.c +++ ompi/mca/pml/ob1/pml_ob1_recvreq.c @@ -755,13 +755,14 @@ void mca_pml_ob1_recv_request_progress_rget( mca_pml_ob1_recv_request_t* recvreq frag->rdma_length = bytes_remaining; } + prev_sent = frag->rdma_length; + /* NTH: TODO -- handle error conditions gracefully */ rc = mca_pml_ob1_recv_request_get_frag(frag); if (OMPI_SUCCESS != rc) { break; } - prev_sent = frag->rdma_length; bytes_remaining -= prev_sent; offset += prev_sent; }
