1
1

Introduction of the "progress" sender_based method to replace the slow isend-self method.

This commit was SVN r17998.
Этот коммит содержится в:
Aurelien Bouteiller 2008-03-27 21:19:45 +00:00
родитель 93db01871e
Коммит e11237aadb
3 изменённых файлов: 18 добавлений и 13 удалений

Просмотреть файл

@ -16,7 +16,11 @@ mca_vprotocol_pessimist_module_t mca_vprotocol_pessimist =
/* mca_pml_base_module_add_procs_fn_t */ NULL,
/* mca_pml_base_module_del_procs_fn_t */ NULL,
/* mca_pml_base_module_enable_fn_f */ mca_vprotocol_pessimist_enable,
/* mca_pml_base_module_progress_fn_t */ NULL, /*mca_vprotocol_pessimist_progress,*/
#ifdef SB_USE_PROGRESS_METHOD
/* mca_pml_base_module_progress_fn_t */ mca_vprotocol_pessimist_progress,
#else
/* mca_pml_base_module_progress_fn_t */ NULL,
#endif
/* mca_pml_base_module_add_comm_fn_t */ NULL,
/* mca_pml_base_module_del_comm_fn_t */ NULL,
/* mca_pml_base_module_irecv_init_fn_t */ NULL,

Просмотреть файл

@ -9,23 +9,21 @@
*/
#include "ompi_config.h"
#include "vprotocol_pessimist_sender_based.h"
#include "vprotocol_pessimist.h"
#ifdef SB_USE_PROGRESS_METHOD
int mca_vprotocol_pessimist_progress(void)
{
int ret = OMPI_ERR_NOT_IMPLEMENTED;
#if 0
int ret;
printf("PROGRESS\n");
/* First let the real progress take place */
ret = mca_pml_v.host_pml.pml_progress();
for(req = opal_list_head(&mca_vprotocol_pessimist.sender_based.sendprogressreq),
req != opal_list_end(&mca_vprotocol_pessimist.sender_based.sendprogressreq),
req = req->next) {
preq = VPESSIMIST_SEND_REQ(req);
conv = req->conv;
}
#endif
/* Then progess the sender_based copies */
vprotocol_pessimist_sb_progress_all_reqs();
return ret;
}
#endif

Просмотреть файл

@ -137,6 +137,9 @@ int vprotocol_pessimist_sender_based_init(const char *mmapfile, size_t size)
sb.sb_pagesize = getpagesize();
sb.sb_cursor = sb.sb_addr = (uintptr_t) NULL;
sb.sb_available = 0;
#ifdef SB_USE_PROGRESS_METHOD
OBJ_CONSTRUCT(&sb.sb_sendreq, opal_list_t);
#endif
sprintf(path, "%s"OPAL_PATH_SEP"%s", orte_process_info.proc_session_dir,
mmapfile);