474564a6b1
addition to my design and testing, it was conceptually approved by Gil, Gleb, Pasha, Brad, and Galen. Functionally [probably somewhat lightly] tested by Galen. We may still have to shake out some bugs during the next few months, but it seems to be working for all the cases that I can throw at it. Here's a summary of the changes from that branch: * Move MCA parameter registration to a new file (btl_openib_mca.c): * Properly check the retun status of registering MCA params * Check for valid values of MCA parameters * Make help strings better * Otherwise, the only default value of an MCA param that was changed was max_btls; it went from 4 to -1 (meaning: use all available) * Properly prototyped internal functions in _component.c * Made a bunch of functions static that didn't need to be public * Renamed to remove "mca_" prefix from static functions * Call new MCA param registration function * Call new INI file read/lookup/finalize functions * Updated a bunch of macros to be "BTL_" instead of "ORTE_" * Be a little more consistent with return values * Handle -1 for the max_btls MCA param * Fixed a free() that should have been an OBJ_RELEASE() * Some re-indenting * Added INI-file parsing * New flex file: btl_openib_ini.l * New default HCA params .ini file (probably to be expanded over time by other HCA vendors) * Added more show_help messages for parsing problems * Read in INI files and cache the values for later lookup * When component opens an HCA, lookup to see if any corresponding values were found in the INI files (ID'ed by the HCA vendor_id and vendor_part_id) * Added btl_openib_verbose MCA param that shows what the INI-file stuff does (e.g., shows which MTU your HCA ends up using) * Added btl_openib_hca_param_files as a colon-delimited list of INI files to check for values during startup (in order, left-to-right, just like the MCA base directory param). * MTU is currently the only value supported in this framework. * It is not a fatal error if we don't find params for the HCA in the INI file(s). Instead, just print a warning. New MCA param btl_openib_warn_no_hca_params_found can be used to disable printing the warning. * Add MTU to peer negotiation when making a connection * Exchange maximum MTU; select the lesser of the two This commit was SVN r11182.
69 строки
1.7 KiB
C
69 строки
1.7 KiB
C
/* -*- C -*-
|
|
*
|
|
* 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 (c) 2006 Cisco Systems, Inc. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef BTL_OPENIB_INI_LEX_H_
|
|
#define BTL_OPENIB_INI_LEX_H_
|
|
|
|
#include "opal_config.h"
|
|
|
|
#ifdef malloc
|
|
#undef malloc
|
|
#endif
|
|
#ifdef realloc
|
|
#undef realloc
|
|
#endif
|
|
#ifdef free
|
|
#undef free
|
|
#endif
|
|
|
|
#include <stdio.h>
|
|
|
|
int btl_openib_ini_yylex(void);
|
|
int btl_openib_ini_init_buffer(FILE *file);
|
|
|
|
extern FILE *btl_openib_ini_yyin;
|
|
extern bool btl_openib_ini_parse_done;
|
|
extern char *btl_openib_ini_yytext;
|
|
extern int btl_openib_ini_yynewlines;
|
|
|
|
/*
|
|
* Make lex-generated files not issue compiler warnings
|
|
*/
|
|
#define YY_STACK_USED 0
|
|
#define YY_ALWAYS_INTERACTIVE 0
|
|
#define YY_NEVER_INTERACTIVE 0
|
|
#define YY_MAIN 0
|
|
#define YY_NO_UNPUT 1
|
|
|
|
enum {
|
|
BTL_OPENIB_INI_PARSE_DONE,
|
|
BTL_OPENIB_INI_PARSE_ERROR,
|
|
|
|
BTL_OPENIB_INI_PARSE_NEWLINE,
|
|
BTL_OPENIB_INI_PARSE_SECTION,
|
|
BTL_OPENIB_INI_PARSE_EQUAL,
|
|
BTL_OPENIB_INI_PARSE_SINGLE_WORD,
|
|
BTL_OPENIB_INI_PARSE_VALUE,
|
|
|
|
BTL_OPENIB_INI_PARSE_MAX
|
|
};
|
|
|
|
#endif
|