proc_data 233 opal/mca/btl/tcp/btl_tcp_proc.c static void evaluate_assignment(mca_btl_tcp_proc_data_t *proc_data, int *a) { proc_data 235 opal/mca/btl/tcp/btl_tcp_proc.c unsigned int max_interfaces = proc_data->num_local_interfaces; proc_data 239 opal/mca/btl/tcp/btl_tcp_proc.c if(max_interfaces < proc_data->num_peer_interfaces) { proc_data 240 opal/mca/btl/tcp/btl_tcp_proc.c max_interfaces = proc_data->num_peer_interfaces; proc_data 244 opal/mca/btl/tcp/btl_tcp_proc.c if(0 < proc_data->weights[i][a[i]-1]) { proc_data 246 opal/mca/btl/tcp/btl_tcp_proc.c assignment_weight += proc_data->weights[i][a[i]-1]; proc_data 253 opal/mca/btl/tcp/btl_tcp_proc.c if(assignment_cardinality > proc_data->max_assignment_cardinality proc_data 254 opal/mca/btl/tcp/btl_tcp_proc.c || (assignment_cardinality == proc_data->max_assignment_cardinality proc_data 255 opal/mca/btl/tcp/btl_tcp_proc.c && assignment_weight > proc_data->max_assignment_weight)) { proc_data 258 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->best_assignment[i] = a[i]-1; proc_data 260 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->max_assignment_weight = assignment_weight; proc_data 261 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->max_assignment_cardinality = assignment_cardinality; proc_data 265 opal/mca/btl/tcp/btl_tcp_proc.c static void visit(mca_btl_tcp_proc_data_t *proc_data, int k, int level, int siz, int *a) proc_data 270 opal/mca/btl/tcp/btl_tcp_proc.c evaluate_assignment(proc_data, a); proc_data 275 opal/mca/btl/tcp/btl_tcp_proc.c visit(proc_data, i, level, siz, a); proc_data 293 opal/mca/btl/tcp/btl_tcp_proc.c static mca_btl_tcp_interface_t** mca_btl_tcp_retrieve_local_interfaces(mca_btl_tcp_proc_data_t *proc_data) proc_data 301 opal/mca/btl/tcp/btl_tcp_proc.c assert (NULL == proc_data->local_interfaces); proc_data 302 opal/mca/btl/tcp/btl_tcp_proc.c if( NULL != proc_data->local_interfaces ) proc_data 303 opal/mca/btl/tcp/btl_tcp_proc.c return proc_data->local_interfaces; proc_data 305 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->max_local_interfaces = MAX_KERNEL_INTERFACES; proc_data 306 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->num_local_interfaces = 0; proc_data 307 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->local_interfaces = (mca_btl_tcp_interface_t**)calloc( proc_data->max_local_interfaces, sizeof(mca_btl_tcp_interface_t*) ); proc_data 308 opal/mca/btl/tcp/btl_tcp_proc.c if( NULL == proc_data->local_interfaces ) proc_data 370 opal/mca/btl/tcp/btl_tcp_proc.c int rc = opal_hash_table_get_value_uint32(&proc_data->local_kindex_to_index, kindex, (void**) &index); proc_data 374 opal/mca/btl/tcp/btl_tcp_proc.c index = proc_data->num_local_interfaces++; proc_data 375 opal/mca/btl/tcp/btl_tcp_proc.c opal_hash_table_set_value_uint32(&proc_data->local_kindex_to_index, kindex, (void*)(uintptr_t) index); proc_data 377 opal/mca/btl/tcp/btl_tcp_proc.c if( proc_data->num_local_interfaces == proc_data->max_local_interfaces ) { proc_data 378 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->max_local_interfaces <<= 1; proc_data 379 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->local_interfaces = (mca_btl_tcp_interface_t**)realloc( proc_data->local_interfaces, proc_data 380 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->max_local_interfaces * sizeof(mca_btl_tcp_interface_t*) ); proc_data 381 opal/mca/btl/tcp/btl_tcp_proc.c if( NULL == proc_data->local_interfaces ) proc_data 384 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->local_interfaces[index] = (mca_btl_tcp_interface_t *) malloc(sizeof(mca_btl_tcp_interface_t)); proc_data 385 opal/mca/btl/tcp/btl_tcp_proc.c assert(NULL != proc_data->local_interfaces[index]); proc_data 386 opal/mca/btl/tcp/btl_tcp_proc.c mca_btl_tcp_initialise_interface(proc_data->local_interfaces[index], kindex, index); proc_data 389 opal/mca/btl/tcp/btl_tcp_proc.c local_interface = proc_data->local_interfaces[index]; proc_data 432 opal/mca/btl/tcp/btl_tcp_proc.c return proc_data->local_interfaces; proc_data 448 opal/mca/btl/tcp/btl_tcp_proc.c mca_btl_tcp_proc_data_t _proc_data, *proc_data=&_proc_data; proc_data 456 opal/mca/btl/tcp/btl_tcp_proc.c memset(proc_data, 0, sizeof(mca_btl_tcp_proc_data_t)); proc_data 478 opal/mca/btl/tcp/btl_tcp_proc.c if( NULL == mca_btl_tcp_retrieve_local_interfaces(proc_data) ) proc_data 480 opal/mca/btl/tcp/btl_tcp_proc.c if( 0 == proc_data->num_local_interfaces ) { proc_data 484 opal/mca/btl/tcp/btl_tcp_proc.c max_peer_interfaces = proc_data->max_local_interfaces; proc_data 491 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->num_peer_interfaces = 0; proc_data 506 opal/mca/btl/tcp/btl_tcp_proc.c rc = opal_hash_table_get_value_uint32(&proc_data->peer_kindex_to_index, endpoint_addr->addr_ifkindex, (void**) &index); proc_data 509 opal/mca/btl/tcp/btl_tcp_proc.c index = proc_data->num_peer_interfaces++; proc_data 510 opal/mca/btl/tcp/btl_tcp_proc.c opal_hash_table_set_value_uint32(&proc_data->peer_kindex_to_index, endpoint_addr->addr_ifkindex, (void*)(uintptr_t) index); proc_data 511 opal/mca/btl/tcp/btl_tcp_proc.c if( proc_data->num_peer_interfaces == max_peer_interfaces ) { proc_data 556 opal/mca/btl/tcp/btl_tcp_proc.c perm_size = proc_data->num_local_interfaces; proc_data 557 opal/mca/btl/tcp/btl_tcp_proc.c if(proc_data->num_peer_interfaces > perm_size) { proc_data 558 opal/mca/btl/tcp/btl_tcp_proc.c perm_size = proc_data->num_peer_interfaces; proc_data 561 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights = (enum mca_btl_tcp_connection_quality**) malloc(perm_size proc_data 563 opal/mca/btl/tcp/btl_tcp_proc.c assert(NULL != proc_data->weights); proc_data 565 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->best_addr = (mca_btl_tcp_addr_t ***) malloc(perm_size proc_data 567 opal/mca/btl/tcp/btl_tcp_proc.c assert(NULL != proc_data->best_addr); proc_data 569 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights[i] = (enum mca_btl_tcp_connection_quality*) calloc(perm_size, proc_data 571 opal/mca/btl/tcp/btl_tcp_proc.c assert(NULL != proc_data->weights[i]); proc_data 573 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->best_addr[i] = (mca_btl_tcp_addr_t **) calloc(perm_size, proc_data 575 opal/mca/btl/tcp/btl_tcp_proc.c assert(NULL != proc_data->best_addr[i]); proc_data 579 opal/mca/btl/tcp/btl_tcp_proc.c for( i = 0; i < proc_data->num_local_interfaces; ++i ) { proc_data 580 opal/mca/btl/tcp/btl_tcp_proc.c mca_btl_tcp_interface_t* local_interface = proc_data->local_interfaces[i]; proc_data 581 opal/mca/btl/tcp/btl_tcp_proc.c for( j = 0; j < proc_data->num_peer_interfaces; ++j ) { proc_data 584 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights[i][j] = CQ_NO_CONNECTION; proc_data 587 opal/mca/btl/tcp/btl_tcp_proc.c if(NULL != proc_data->local_interfaces[i]->ipv4_address && proc_data 591 opal/mca/btl/tcp/btl_tcp_proc.c inet_ntop(AF_INET, &(((struct sockaddr_in*) proc_data->local_interfaces[i]->ipv4_address))->sin_addr, proc_data 601 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights[i][j] = CQ_PUBLIC_SAME_NETWORK; proc_data 606 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights[i][j] = CQ_PUBLIC_DIFFERENT_NETWORK; proc_data 611 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->best_addr[i][j] = peer_interfaces[j]->ipv4_endpoint_addr; proc_data 617 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights[i][j] = CQ_PRIVATE_SAME_NETWORK; proc_data 622 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights[i][j] = CQ_PRIVATE_DIFFERENT_NETWORK; proc_data 627 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->best_addr[i][j] = peer_interfaces[j]->ipv4_endpoint_addr; proc_data 646 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights[i][j] = CQ_PUBLIC_SAME_NETWORK; proc_data 651 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->weights[i][j] = CQ_PUBLIC_DIFFERENT_NETWORK; proc_data 656 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->best_addr[i][j] = peer_interfaces[j]->ipv6_endpoint_addr; proc_data 668 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->best_assignment = (unsigned int *) malloc (perm_size * sizeof(int)); proc_data 683 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->max_assignment_cardinality = -1; proc_data 684 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->max_assignment_weight = -1; proc_data 685 opal/mca/btl/tcp/btl_tcp_proc.c visit(proc_data, 0, -1, perm_size, a); proc_data 689 opal/mca/btl/tcp/btl_tcp_proc.c unsigned int best = proc_data->best_assignment[i]; proc_data 690 opal/mca/btl/tcp/btl_tcp_proc.c if(best > proc_data->num_peer_interfaces proc_data 691 opal/mca/btl/tcp/btl_tcp_proc.c || proc_data->weights[i][best] == CQ_NO_CONNECTION proc_data 697 opal/mca/btl/tcp/btl_tcp_proc.c btl_endpoint->endpoint_addr = proc_data->best_addr[i][best]; proc_data 708 opal/mca/btl/tcp/btl_tcp_proc.c for(i=0; i<proc_data->num_local_interfaces; ++i) { proc_data 709 opal/mca/btl/tcp/btl_tcp_proc.c for(j=0; j<proc_data->num_peer_interfaces; ++j) { proc_data 711 opal/mca/btl/tcp/btl_tcp_proc.c if (proc_data->weights[i][j] > max) { proc_data 712 opal/mca/btl/tcp/btl_tcp_proc.c max = proc_data->weights[i][j]; proc_data 723 opal/mca/btl/tcp/btl_tcp_proc.c btl_endpoint->endpoint_addr = proc_data->best_addr[i_max][j_max]; proc_data 739 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->weights[i]); proc_data 740 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->best_addr[i]); proc_data 743 opal/mca/btl/tcp/btl_tcp_proc.c for(i = 0; i < proc_data->num_peer_interfaces; ++i) { proc_data 754 opal/mca/btl/tcp/btl_tcp_proc.c for(i = 0; i < proc_data->num_local_interfaces; ++i) { proc_data 755 opal/mca/btl/tcp/btl_tcp_proc.c if(NULL != proc_data->local_interfaces[i]->ipv4_address) { proc_data 756 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->local_interfaces[i]->ipv4_address); proc_data 758 opal/mca/btl/tcp/btl_tcp_proc.c if(NULL != proc_data->local_interfaces[i]->ipv6_address) { proc_data 759 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->local_interfaces[i]->ipv6_address); proc_data 761 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->local_interfaces[i]); proc_data 763 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->local_interfaces); proc_data->local_interfaces = NULL; proc_data 764 opal/mca/btl/tcp/btl_tcp_proc.c proc_data->max_local_interfaces = 0; proc_data 766 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->weights); proc_data->weights = NULL; proc_data 767 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->best_addr); proc_data->best_addr = NULL; proc_data 768 opal/mca/btl/tcp/btl_tcp_proc.c free(proc_data->best_assignment); proc_data->best_assignment = NULL; proc_data 70 opal/mca/pmix/base/pmix_base_hash.c static opal_value_t* lookup_keyval(opal_pmix_proc_data_t *proc_data, proc_data 75 opal/mca/pmix/base/pmix_base_hash.c OPAL_LIST_FOREACH(kv, &proc_data->data, opal_value_t) { proc_data 90 opal/mca/pmix/base/pmix_base_hash.c opal_pmix_proc_data_t *proc_data = NULL; proc_data 92 opal/mca/pmix/base/pmix_base_hash.c opal_proc_table_get_value(ptable, id, (void**)&proc_data); proc_data 93 opal/mca/pmix/base/pmix_base_hash.c if (NULL == proc_data && create) { proc_data 94 opal/mca/pmix/base/pmix_base_hash.c proc_data = OBJ_NEW(opal_pmix_proc_data_t); proc_data 95 opal/mca/pmix/base/pmix_base_hash.c if (NULL == proc_data) { proc_data 99 opal/mca/pmix/base/pmix_base_hash.c opal_proc_table_set_value(ptable, id, proc_data); proc_data 102 opal/mca/pmix/base/pmix_base_hash.c return proc_data; proc_data 117 opal/mca/pmix/base/pmix_base_hash.c opal_pmix_proc_data_t *proc_data; proc_data 125 opal/mca/pmix/base/pmix_base_hash.c (void**)&proc_data, proc_data 127 opal/mca/pmix/base/pmix_base_hash.c if (NULL != proc_data) { proc_data 128 opal/mca/pmix/base/pmix_base_hash.c OBJ_RELEASE(proc_data); proc_data 131 opal/mca/pmix/base/pmix_base_hash.c (void**)&proc_data, proc_data 134 opal/mca/pmix/base/pmix_base_hash.c if (NULL != proc_data) { proc_data 135 opal/mca/pmix/base/pmix_base_hash.c OBJ_RELEASE(proc_data); proc_data 147 opal/mca/pmix/base/pmix_base_hash.c opal_pmix_proc_data_t *proc_data; proc_data 156 opal/mca/pmix/base/pmix_base_hash.c if (NULL == (proc_data = lookup_proc(&ptable, *id, true))) { proc_data 167 opal/mca/pmix/base/pmix_base_hash.c kv = lookup_keyval(proc_data, val->key); proc_data 179 opal/mca/pmix/base/pmix_base_hash.c opal_list_remove_item(&proc_data->data, &kv->super); proc_data 187 opal/mca/pmix/base/pmix_base_hash.c opal_list_append(&proc_data->data, &kv->super); proc_data 195 opal/mca/pmix/base/pmix_base_hash.c opal_pmix_proc_data_t *proc_data; proc_data 205 opal/mca/pmix/base/pmix_base_hash.c if (NULL == (proc_data = lookup_proc(&ptable, *id, true))) { proc_data 220 opal/mca/pmix/base/pmix_base_hash.c OPAL_LIST_FOREACH(kv, &proc_data->data, opal_value_t) { proc_data 239 opal/mca/pmix/base/pmix_base_hash.c if (NULL == (kv = lookup_keyval(proc_data, key))) { proc_data 267 opal/mca/pmix/base/pmix_base_hash.c opal_pmix_proc_data_t *proc_data; proc_data 271 opal/mca/pmix/base/pmix_base_hash.c if (NULL == (proc_data = lookup_proc(&ptable, *id, false))) { proc_data 278 opal/mca/pmix/base/pmix_base_hash.c while (NULL != (kv = (opal_value_t *) opal_list_remove_first(&proc_data->data))) { proc_data 284 opal/mca/pmix/base/pmix_base_hash.c OBJ_RELEASE(proc_data); proc_data 289 opal/mca/pmix/base/pmix_base_hash.c OPAL_LIST_FOREACH(kv, &proc_data->data, opal_value_t) { proc_data 291 opal/mca/pmix/base/pmix_base_hash.c opal_list_remove_item(&proc_data->data, &kv->super); proc_data 71 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_proc_data_t *proc_data; proc_data 87 opal/mca/pmix/pmix4x/pmix/src/util/hash.c if (NULL == (proc_data = lookup_proc(table, id, true))) { proc_data 92 opal/mca/pmix/pmix4x/pmix/src/util/hash.c hv = lookup_keyval(&proc_data->data, kin->key); proc_data 96 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_list_remove_item(&proc_data->data, &hv->super); proc_data 100 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_list_append(&proc_data->data, &kin->super); proc_data 109 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_proc_data_t *proc_data; proc_data 130 opal/mca/pmix/pmix4x/pmix/src/util/hash.c (void**)&proc_data, (void**)&node); proc_data 140 opal/mca/pmix/pmix4x/pmix/src/util/hash.c proc_data = lookup_proc(table, id, false); proc_data 141 opal/mca/pmix/pmix4x/pmix/src/util/hash.c if (NULL == proc_data) { proc_data 166 opal/mca/pmix/pmix4x/pmix/src/util/hash.c ninfo = pmix_list_get_size(&proc_data->data); proc_data 174 opal/mca/pmix/pmix4x/pmix/src/util/hash.c PMIX_LIST_FOREACH(hv, &proc_data->data, pmix_kval_t) { proc_data 185 opal/mca/pmix/pmix4x/pmix/src/util/hash.c hv = lookup_keyval(&proc_data->data, key); proc_data 203 opal/mca/pmix/pmix4x/pmix/src/util/hash.c (void**)&proc_data, node, (void**)&node); proc_data 218 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_proc_data_t *proc_data; proc_data 234 opal/mca/pmix/pmix4x/pmix/src/util/hash.c (void**)&proc_data, (void**)&node); proc_data 238 opal/mca/pmix/pmix4x/pmix/src/util/hash.c (void**)&proc_data, node, (void**)&node); proc_data 253 opal/mca/pmix/pmix4x/pmix/src/util/hash.c hv = lookup_keyval(&proc_data->data, key_r); proc_data 276 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_proc_data_t *proc_data; proc_data 287 opal/mca/pmix/pmix4x/pmix/src/util/hash.c (void**)&proc_data, (void**)&node); proc_data 289 opal/mca/pmix/pmix4x/pmix/src/util/hash.c if (NULL != proc_data) { proc_data 291 opal/mca/pmix/pmix4x/pmix/src/util/hash.c PMIX_RELEASE(proc_data); proc_data 293 opal/mca/pmix/pmix4x/pmix/src/util/hash.c PMIX_LIST_FOREACH(kv, &proc_data->data, pmix_kval_t) { proc_data 295 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_list_remove_item(&proc_data->data, &kv->super); proc_data 303 opal/mca/pmix/pmix4x/pmix/src/util/hash.c (void**)&proc_data, node, (void**)&node); proc_data 309 opal/mca/pmix/pmix4x/pmix/src/util/hash.c if (NULL == (proc_data = lookup_proc(table, id, false))) { proc_data 316 opal/mca/pmix/pmix4x/pmix/src/util/hash.c while (NULL != (kv = (pmix_kval_t*)pmix_list_remove_first(&proc_data->data))) { proc_data 322 opal/mca/pmix/pmix4x/pmix/src/util/hash.c PMIX_RELEASE(proc_data); proc_data 327 opal/mca/pmix/pmix4x/pmix/src/util/hash.c PMIX_LIST_FOREACH(kv, &proc_data->data, pmix_kval_t) { proc_data 329 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_list_remove_item(&proc_data->data, &kv->super); proc_data 362 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_proc_data_t *proc_data = NULL; proc_data 364 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_hash_table_get_value_uint64(jtable, id, (void**)&proc_data); proc_data 365 opal/mca/pmix/pmix4x/pmix/src/util/hash.c if (NULL == proc_data && create) { proc_data 367 opal/mca/pmix/pmix4x/pmix/src/util/hash.c proc_data = PMIX_NEW(pmix_proc_data_t); proc_data 368 opal/mca/pmix/pmix4x/pmix/src/util/hash.c if (NULL == proc_data) { proc_data 372 opal/mca/pmix/pmix4x/pmix/src/util/hash.c pmix_hash_table_set_value_uint64(jtable, id, proc_data); proc_data 375 opal/mca/pmix/pmix4x/pmix/src/util/hash.c return proc_data;