1
1

Allow the DLL to correctly retrieve the pnding requests from MPI applications.

This commit was SVN r19244.
Этот коммит содержится в:
George Bosilca 2008-08-11 23:40:09 +00:00
родитель ac0160dcd1
Коммит fc9ae0e835
4 изменённых файлов: 33 добавлений и 33 удалений

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

@ -100,10 +100,10 @@ int ompi_fill_in_type_info(mqs_image *image, char **message)
}
i_info->ompi_free_list_t.type = qh_type;
i_info->ompi_free_list_t.size = mqs_sizeof(qh_type);
i_info->ompi_free_list_t.offset.fl_elem_class = mqs_field_offset(qh_type, "fl_elem_class");
i_info->ompi_free_list_t.offset.fl_frag_class = mqs_field_offset(qh_type, "fl_frag_class");
i_info->ompi_free_list_t.offset.fl_mpool = mqs_field_offset(qh_type, "fl_mpool");
i_info->ompi_free_list_t.offset.fl_elem_size = mqs_field_offset(qh_type, "fl_elem_size");
i_info->ompi_free_list_t.offset.fl_alignment = mqs_field_offset(qh_type, "fl_alignment");
i_info->ompi_free_list_t.offset.fl_frag_size = mqs_field_offset(qh_type, "fl_frag_size");
i_info->ompi_free_list_t.offset.fl_frag_alignment = mqs_field_offset(qh_type, "fl_frag_alignment");
i_info->ompi_free_list_t.offset.fl_allocations = mqs_field_offset(qh_type, "fl_allocations");
i_info->ompi_free_list_t.offset.fl_max_to_alloc = mqs_field_offset(qh_type, "fl_max_to_alloc");
i_info->ompi_free_list_t.offset.fl_num_per_alloc = mqs_field_offset(qh_type, "fl_num_per_alloc");

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

@ -69,14 +69,14 @@ typedef struct
mqs_type *type;
int size;
struct {
int fl_elem_class; /* opal_class_t* */
int fl_mpool; /* struct mca_mpool_base_module_t* */
int fl_elem_size; /* size_t */
int fl_alignment; /* size_t */
int fl_allocations; /* opal_list_t */
int fl_max_to_alloc; /* size_t */
int fl_num_per_alloc; /* size_t */
int fl_num_allocated; /* size_t */
int fl_frag_class; /* opal_class_t* */
int fl_mpool; /* struct mca_mpool_base_module_t* */
int fl_frag_size; /* size_t */
int fl_frag_alignment; /* size_t */
int fl_allocations; /* opal_list_t */
int fl_max_to_alloc; /* size_t */
int fl_num_per_alloc; /* size_t */
int fl_num_allocated; /* size_t */
} offset;
} ompi_free_list_t;
struct {

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

@ -115,7 +115,7 @@
#define VERBOSE_REQ 0x00000010
#define VERBOSE_REQ_DUMP 0x00000020
#define VERBOSE 0x00000000
#define VERBOSE 0xFFFFFFFF
#if VERBOSE
#define DEBUG(LEVEL, WHAT) if(LEVEL & VERBOSE) { printf WHAT; }
#else
@ -840,10 +840,10 @@ static void ompi_free_list_t_dump_position( mqs_ompi_free_list_t_pos* position )
printf( "position->upper_bound = 0x%llx\n", (long long)position->upper_bound );
printf( "position->header_space = %llx\n", (long long)position->header_space );
printf( "position->free_list = 0x%llx\n", (long long)position->free_list );
printf( "position->fl_elem_class = 0x%llx\n", (long long)position->fl_elem_class );
printf( "position->fl_frag_class = 0x%llx\n", (long long)position->fl_frag_class );
printf( "position->fl_mpool = 0x%llx\n", (long long)position->fl_mpool );
printf( "position->fl_elem_size = %llx\n", (long long)position->fl_elem_size );
printf( "position->fl_alignment = %llx\n", (long long)position->fl_alignment );
printf( "position->fl_frag_size = %llx\n", (long long)position->fl_frag_size );
printf( "position->fl_frag_alignment = %llx\n", (long long)position->fl_frag_alignment );
printf( "position->fl_num_per_alloc = %llx\n", (long long)position->fl_num_per_alloc );
printf( "position->fl_num_allocated = %llx\n", (long long)position->fl_num_allocated );
printf( "position->fl_num_initial_alloc = %llx\n", (long long)position->fl_num_initial_alloc );
@ -859,14 +859,14 @@ static int ompi_free_list_t_init_parser( mqs_process *proc, mpi_process_info *p_
position->free_list = free_list;
position->fl_elem_size =
ompi_fetch_size_t( proc, position->free_list + i_info->ompi_free_list_t.offset.fl_elem_size,
position->fl_frag_size =
ompi_fetch_size_t( proc, position->free_list + i_info->ompi_free_list_t.offset.fl_frag_size,
p_info );
position->fl_alignment =
ompi_fetch_size_t( proc, position->free_list + i_info->ompi_free_list_t.offset.fl_alignment,
position->fl_frag_alignment =
ompi_fetch_size_t( proc, position->free_list + i_info->ompi_free_list_t.offset.fl_frag_alignment,
p_info );
position->fl_elem_class =
ompi_fetch_pointer( proc, position->free_list + i_info->ompi_free_list_t.offset.fl_elem_class,
position->fl_frag_class =
ompi_fetch_pointer( proc, position->free_list + i_info->ompi_free_list_t.offset.fl_frag_class,
p_info );
position->fl_mpool =
ompi_fetch_pointer( proc, position->free_list + i_info->ompi_free_list_t.offset.fl_mpool,
@ -879,13 +879,13 @@ static int ompi_free_list_t_init_parser( mqs_process *proc, mpi_process_info *p_
p_info );
if( 0 == position->fl_mpool ) {
position->header_space = position->fl_elem_size;
position->header_space = position->fl_frag_size;
} else {
DEBUG(VERBOSE_GENERAL, ("BLAH !!! (CORRECT ME)\n"));
position->header_space = position->fl_elem_size;
position->header_space = position->fl_frag_size;
}
position->header_space = OPAL_ALIGN( position->header_space,
position->fl_alignment, mqs_taddr_t );
position->fl_frag_alignment, mqs_taddr_t );
/**
* Work around the strange ompi_free_list_t way to allocate elements. The first chunk is
@ -900,12 +900,12 @@ static int ompi_free_list_t_init_parser( mqs_process *proc, mpi_process_info *p_
if( 0 == position->fl_num_initial_alloc )
position->fl_num_initial_alloc = position->fl_num_per_alloc;
}
DEBUG(VERBOSE_LISTS,("ompi_free_list_t fl_elem_size = %lld fl_header_space = %lld\n"
" fl_alignment = %lld fl_num_per_alloc = %lld\n"
DEBUG(VERBOSE_LISTS,("ompi_free_list_t fl_frag_size = %lld fl_header_space = %lld\n"
" fl_frag_alignment = %lld fl_num_per_alloc = %lld\n"
" fl_num_allocated = %lld fl_num_initial_alloc = %lld\n"
" header_space = %lld\n",
(long long)position->fl_elem_size, (long long)position->header_space,
(long long)position->fl_alignment, (long long)position->fl_num_per_alloc,
(long long)position->fl_frag_size, (long long)position->header_space,
(long long)position->fl_frag_alignment, (long long)position->fl_num_per_alloc,
(long long)position->fl_num_allocated, (long long)position->fl_num_initial_alloc,
(long long)position->header_space));
@ -925,7 +925,7 @@ static int ompi_free_list_t_init_parser( mqs_process *proc, mpi_process_info *p_
*/
active_allocation += i_info->ompi_free_list_item_t.size;
active_allocation = OPAL_ALIGN( active_allocation,
position->fl_alignment, mqs_taddr_t );
position->fl_frag_alignment, mqs_taddr_t );
/**
* Now let's try to compute the upper bound ...
*/
@ -971,7 +971,7 @@ static int ompi_free_list_t_next_item( mqs_process *proc, mpi_process_info *p_in
*/
active_allocation += i_info->ompi_free_list_item_t.size;
active_allocation = OPAL_ALIGN( active_allocation,
position->fl_alignment, mqs_taddr_t );
position->fl_frag_alignment, mqs_taddr_t );
/**
* Now let's try to compute the upper bound ...
*/

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

@ -79,10 +79,10 @@ typedef struct {
mqs_taddr_t upper_bound;
mqs_tword_t header_space;
mqs_taddr_t free_list;
mqs_tword_t fl_elem_class; /* opal_class_t* */
mqs_tword_t fl_frag_class; /* opal_class_t* */
mqs_tword_t fl_mpool; /* struct mca_mpool_base_module_t* */
mqs_tword_t fl_elem_size; /* size_t */
mqs_tword_t fl_alignment; /* size_t */
mqs_tword_t fl_frag_size; /* size_t */
mqs_tword_t fl_frag_alignment; /* size_t */
mqs_tword_t fl_num_per_alloc; /* size_t */
mqs_tword_t fl_num_allocated; /* size_t */
mqs_tword_t fl_num_initial_alloc; /* size_t */