Rather than hard spinning waiting for something to happen when doing shared
memory initialization, call opal_progress() to push any pending events around and possibly yield the processor if nothing entertaining is happening. This should probably go to the 1.0 branch. This commit was SVN r7808.
Этот коммит содержится в:
родитель
d2f831cd18
Коммит
de5e501519
@ -390,8 +390,9 @@ int mca_btl_sm_add_procs_same_base_addr(
|
|||||||
if( 0 != mca_btl_sm_component.my_smp_rank )
|
if( 0 != mca_btl_sm_component.my_smp_rank )
|
||||||
{
|
{
|
||||||
/* spin unitl local proc 0 initializes the segment */
|
/* spin unitl local proc 0 initializes the segment */
|
||||||
while(!mca_btl_sm_component.mmap_file->map_seg->seg_inited)
|
while(!mca_btl_sm_component.mmap_file->map_seg->seg_inited) {
|
||||||
{ ; }
|
opal_progress();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set the base of the shared memory segment, and flag
|
/* set the base of the shared memory segment, and flag
|
||||||
@ -456,7 +457,9 @@ int mca_btl_sm_add_procs_same_base_addr(
|
|||||||
|
|
||||||
/* spin until this element is allocated */
|
/* spin until this element is allocated */
|
||||||
while ( NULL == fifo_tmp[j] )
|
while ( NULL == fifo_tmp[j] )
|
||||||
{ ; }
|
{
|
||||||
|
opal_progress();
|
||||||
|
}
|
||||||
|
|
||||||
tmp_ptr=(volatile char **)
|
tmp_ptr=(volatile char **)
|
||||||
( (char *)mca_btl_sm_component.sm_ctl_header->
|
( (char *)mca_btl_sm_component.sm_ctl_header->
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user