Use a process name instead of a name list in bcol_basesmuma
This commit was SVN r27779.
Этот коммит содержится в:
родитель
99ceb3adb2
Коммит
b817166072
@ -53,15 +53,11 @@ struct file_info_t {
|
|||||||
/* need to allocate space for the peer */
|
/* need to allocate space for the peer */
|
||||||
static void bcol_basesmuma_smcm_proc_item_t_construct
|
static void bcol_basesmuma_smcm_proc_item_t_construct
|
||||||
(bcol_basesmuma_smcm_proc_item_t * item) {
|
(bcol_basesmuma_smcm_proc_item_t * item) {
|
||||||
orte_namelist_t *peer=(orte_namelist_t *)
|
|
||||||
malloc(sizeof(orte_namelist_t));
|
|
||||||
item->peer=peer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* need to free the space for the peer */
|
/* need to free the space for the peer */
|
||||||
static void bcol_basesmuma_smcm_proc_item_t_destruct
|
static void bcol_basesmuma_smcm_proc_item_t_destruct
|
||||||
(bcol_basesmuma_smcm_proc_item_t * item) {
|
(bcol_basesmuma_smcm_proc_item_t * item) {
|
||||||
free(item->peer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
OBJ_CLASS_INSTANCE(bcol_basesmuma_smcm_proc_item_t,
|
OBJ_CLASS_INSTANCE(bcol_basesmuma_smcm_proc_item_t,
|
||||||
@ -206,7 +202,7 @@ int bcol_basesmuma_smcm_allgather_connection(
|
|||||||
|
|
||||||
/* if the vpid/jobid/filename combination already exists in the list,
|
/* if the vpid/jobid/filename combination already exists in the list,
|
||||||
then do not map this peer's file --- because you already have */
|
then do not map this peer's file --- because you already have */
|
||||||
if (rem_vpid == item_ptr->peer->name.vpid && rem_jobid == item_ptr->peer->name.jobid
|
if (rem_vpid == item_ptr->peer.vpid && rem_jobid == item_ptr->peer.jobid
|
||||||
&& (strstr(item_ptr->sm_file.file_name,base_fname)) ){
|
&& (strstr(item_ptr->sm_file.file_name,base_fname)) ){
|
||||||
|
|
||||||
/* record file data */
|
/* record file data */
|
||||||
@ -306,8 +302,8 @@ int bcol_basesmuma_smcm_allgather_connection(
|
|||||||
|
|
||||||
temp = OBJ_NEW(bcol_basesmuma_smcm_proc_item_t);
|
temp = OBJ_NEW(bcol_basesmuma_smcm_proc_item_t);
|
||||||
|
|
||||||
temp->peer->name.vpid = rem_vpid;
|
temp->peer.vpid = rem_vpid;
|
||||||
temp->peer->name.jobid = rem_jobid;
|
temp->peer.jobid = rem_jobid;
|
||||||
temp->sm_file.file_name = (char *) malloc(len_other+1);
|
temp->sm_file.file_name = (char *) malloc(len_other+1);
|
||||||
if( !temp->sm_file.file_name) {
|
if( !temp->sm_file.file_name) {
|
||||||
rc = ORTE_ERR_OUT_OF_RESOURCE;
|
rc = ORTE_ERR_OUT_OF_RESOURCE;
|
||||||
@ -381,7 +377,7 @@ int bcol_basesmuma_smcm_allgather_connection(
|
|||||||
|
|
||||||
/* if the vpid/jobid/filename combination already exists in the list,
|
/* if the vpid/jobid/filename combination already exists in the list,
|
||||||
then do not map this peer's file --- because you already have */
|
then do not map this peer's file --- because you already have */
|
||||||
if (rem_vpid == item_ptr->peer->name.vpid && rem_jobid == item_ptr->peer->name.jobid
|
if (rem_vpid == item_ptr->peer.vpid && rem_jobid == item_ptr->peer.jobid
|
||||||
&& (0 == strcmp(rem_fname,item_ptr->sm_file.file_name)) ){
|
&& (0 == strcmp(rem_fname,item_ptr->sm_file.file_name)) ){
|
||||||
cnt++;
|
cnt++;
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ typedef struct bcol_basesmuma_smcm_file_t bcol_basesmuma_smcm_file_t;
|
|||||||
|
|
||||||
struct bcol_basesmuma_smcm_proc_item_t {
|
struct bcol_basesmuma_smcm_proc_item_t {
|
||||||
opal_list_item_t item; /* can put me on a free list */
|
opal_list_item_t item; /* can put me on a free list */
|
||||||
orte_namelist_t *peer;
|
orte_process_name_t peer;
|
||||||
bcol_basesmuma_smcm_file_t sm_file;
|
bcol_basesmuma_smcm_file_t sm_file;
|
||||||
bcol_basesmuma_smcm_mmap_t *sm_mmap; /* Pointer to peer's sm file */
|
bcol_basesmuma_smcm_mmap_t *sm_mmap; /* Pointer to peer's sm file */
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user