1
1
openmpi/ompi
Jeff Squyres 5295902ebe Fixes trac:1285:
* allow receive_queues to be specified in the INI file 
 * detect when multiple different receive_queues are specified and 
   gracefully abort 

However, accomplishing these goals ran into multiple difficulties. By 
putting receive_queues in the INI file: 

 1. we may not find the value until we've already traversed multiple HCAs 
 1. we may find multiple different receive_queues values

But since the openib btl initializes as it discovers each HCA/port/LID
(including the BSRQ data), if we find a new receive_queues value late
in the discovery process, then all the BSRQ data that was previously
initialized will likely be invalid. So I had to pull all the BSRQ
initialization out until after the rest of the discovery /
initialization process.

Additionally, note that if the user specifies the MCA parameter
btl_openib_receive_queues, it trumps whatever was in the INI file. So
in this case, there can never be a receive_queues conflict.  This
commit does the following (Jon wrote part of this, too):

 * adapt _ini.c to accept the "receive_queues" field in the file 
 * move 90% of _setup_qps() from _ini.c to _component.c 
 * move what was left of _setup_qps() into the main 
   _register_mca_params() function 
 * adapt init_one_hca() to detect conflicting receive_queues values 
   from the INI file 
 * after the _component.c loop calling init_one_hca(): 
   * call setup_qps() to parse the final receive_queues string value 
   * traverse all resulting btls and initialize their HCAs (if they
     weren't already): setup some lists and call prepare_hca_for_use()

I tested this code on a dual-HCA system where I artificially put in 
differing receive_queues values in the INI file for the two different 
types of HCAs that I have and it all seemed to work.

This commit was SVN r18450.

The following Trac tickets were found above:
  Ticket 1285 --> https://svn.open-mpi.org/trac/ompi/ticket/1285
2008-05-18 18:50:56 +00:00
..
attribute Convert the C++ Comm, Datatype and Winn keyval creation and intercept callbacks 2008-02-10 19:29:25 +00:00
class This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
communicator This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
contrib/vt Bugfix for LIBC's I/O tracing: fileno(stream) is called only if stream != NULL 2008-04-01 07:09:36 +00:00
datatype This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
debuggers Check if extra is NULL or not ... 2008-03-25 22:43:46 +00:00
errhandler This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
etc Next step in the project split, mainly source code re-arranging 2006-02-12 01:33:29 +00:00
file This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
group This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
include The most important thing, otherwise it won't work properly. 2008-05-07 16:38:09 +00:00
info This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
mca Fixes trac:1285: 2008-05-18 18:50:56 +00:00
mpi From our faithful Debian package maintainers: remove some lint-quality 2008-05-16 14:58:52 +00:00
op add functions to handle two different input buffers and a separate 2008-03-28 23:45:44 +00:00
peruse Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
proc This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
request Remove the memchecker macro in pml base request, used in req_wait.c, which actually is in the wrong place. Instead, one simple call from send_request_free and recv_request_free(already done) will do all the work, fast and clean. 2008-04-07 17:46:50 +00:00
runtime This commit represents a bunch of work on a Mercurial side branch. As 2008-05-13 20:00:55 +00:00
tools Change this back to use opal_init_util() -- using orte_init() mucks 2008-05-16 14:18:56 +00:00
win Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
Makefile.am bringing VampirTrace integration to the trunk 2008-01-28 08:39:48 +00:00
README.dox Update the copyright notices for IU and UTK. 2005-11-05 19:57:48 +00:00

/*
 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
 *                         University Research and Technology
 *                         Corporation.  All rights reserved.
 * Copyright (c) 2004-2005 The University of Tennessee and The University
 *                         of Tennessee Research Foundation.  All rights
 *                         reserved.
 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
 *                         University of Stuttgart.  All rights reserved.
 * Copyright (c) 2004-2005 The Regents of the University of California.
 *                         All rights reserved.
 * $COPYRIGHT$
 * 
 * Additional copyrights may follow
 * 
 * $HEADER$
 */
/** @mainpage

@section mainpage_introduction Introduction

This is the introduction.
This is the introduction.
This is the introduction.
This is the introduction.
This is the introduction.
This is the introduction.
This is the introduction.

@section main_install Installation
 
This is the installation section.
This is the installation section.
This is the installation section.
This is the installation section.
This is the installation section.
This is the installation section.
This is the installation section.

*/