From: Martin Quinson Date: Thu, 13 Apr 2017 20:13:37 +0000 (+0200) Subject: Merge pull request #154 from simgrid/partial_shared_malloc X-Git-Tag: v3.16~353^2~1 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3d04e86369329fc50278341b47224953f0095a2a Merge pull request #154 from simgrid/partial_shared_malloc Partial shared malloc --- 3d04e86369329fc50278341b47224953f0095a2a diff --cc src/smpi/smpi_request.cpp index 3cb606554a,ed83759424..29661e8902 --- a/src/smpi/smpi_request.cpp +++ b/src/smpi/smpi_request.cpp @@@ -689,10 -764,11 +690,11 @@@ void Request::finish_wait(MPI_Request* req->print_request("Finishing"); MPI_Datatype datatype = req->old_type_; - if((((req->flags_ & ACCUMULATE) != 0) || (datatype->flags() & DT_FLAG_DERIVED)) && (!smpi_is_shared(req->old_buf_))){ + // FIXME Handle the case of a partial shared malloc. + if((((req->flags_ & ACCUMULATE) != 0) || (datatype->flags() & DT_FLAG_DERIVED))){// && (!smpi_is_shared(req->old_buf_))){ if (!smpi_process()->replaying()){ - if( smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP && (static_cast(req->old_buf_) >= smpi_start_data_exe) + if( smpi_privatize_global_variables != 0 && (static_cast(req->old_buf_) >= smpi_start_data_exe) && ((char*)req->old_buf_ < smpi_start_data_exe + smpi_size_data_exe )){ XBT_VERB("Privatization : We are unserializing to a zone in global memory Switch data segment "); smpi_switch_data_segment(smpi_process()->index());