1
1

Revert "osc/pt2pt: use two distinct "namespaces" for tags"

This reverts commit 06ecdb6aa7ee688f51de2b3ca05e9f0605a90099
to reimplement the fix completely.
Этот коммит содержится в:
KAWASHIMA Takahiro 2016-04-11 19:04:11 +09:00
родитель c72688e8cf
Коммит 3576ecafa7
3 изменённых файлов: 2 добавлений и 12 удалений

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

@ -150,7 +150,6 @@ struct ompi_osc_pt2pt_module_t {
/** cyclic counter for a unique tage for long messages. */
uint32_t tag_counter;
uint32_t rtag_counter;
/* Number of outgoing fragments that have completed since the
begining of time */
@ -650,18 +649,10 @@ static inline int get_tag(ompi_osc_pt2pt_module_t *module)
/* the LSB of the tag is used be the receiver to determine if the
message is a passive or active target (ie, where to mark
completion). */
int32_t tmp = OPAL_THREAD_ADD32((volatile int32_t *) &module->tag_counter, 4);
int32_t tmp = OPAL_THREAD_ADD32((volatile int32_t *) &module->tag_counter, 2);
return (tmp & OSC_PT2PT_FRAG_MASK) | !!(module->passive_target_access_epoch);
}
static inline int get_rtag(ompi_osc_pt2pt_module_t *module)
{
/* the LSB of the tag is used be the receiver to determine if the
message is a passive or active target (ie, where to mark
completion). */
int32_t tmp = OPAL_THREAD_ADD32((volatile int32_t *) &module->rtag_counter, 4);
return (tmp & OSC_PT2PT_FRAG_MASK) | !!(module->passive_target_access_epoch);
}
/**
* ompi_osc_pt2pt_accumulate_lock:
*

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

@ -491,7 +491,7 @@ ompi_osc_pt2pt_accumulate_w_req (const void *origin_addr, int origin_count,
}
is_long_msg = true;
tag = get_rtag (module);
tag = get_tag (module);
}
if (is_long_msg) {

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

@ -290,7 +290,6 @@ component_select(struct ompi_win_t *win, void **base, size_t size, int disp_unit
/* fill in the function pointer part */
memcpy(module, &ompi_osc_pt2pt_module_template,
sizeof(ompi_osc_base_module_t));
module->rtag_counter = 2;
/* initialize the objects, so that always free in cleanup */
OBJ_CONSTRUCT(&module->lock, opal_mutex_t);