Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge pull request #154 from simgrid/partial_shared_malloc
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Thu, 13 Apr 2017 20:13:37 +0000 (22:13 +0200)
committerGitHub <noreply@github.com>
Thu, 13 Apr 2017 20:13:37 +0000 (22:13 +0200)
Partial shared malloc

1  2 
src/smpi/smpi_global.cpp
src/smpi/smpi_request.cpp

Simple merge
@@@ -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<char*>(req->old_buf_) >= smpi_start_data_exe)
 +        if( smpi_privatize_global_variables != 0 && (static_cast<char*>(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());