1
1

Update ORTE frameworks to use the MCA framework system.

This commit was SVN r28240.
Этот коммит содержится в:
Nathan Hjelm 2013-03-27 21:14:43 +00:00
родитель 365cf48db5
Коммит c041156f60
203 изменённых файлов: 2018 добавлений и 3385 удалений

3
.gitignore поставляемый
Просмотреть файл

@ -1,4 +1,7 @@
# Automatically generated by build-gitignore.pl; edits may be lost!
ompi/include/ompi/frameworks.h
opal/include/opal/frameworks.h
orte/include/orte/frameworks.h
.libs
.deps
.libs

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

@ -20,5 +20,4 @@ headers += \
base/base.h
libmca_allocator_la_SOURCES += \
base/allocator_base_open.c \
base/allocator_base_close.c
base/allocator_base_frame.c

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

@ -12,6 +12,7 @@
#include "opal/include/opal_config.h"
#include "opal/include/opal/constants.h"
#include "opal/util/output.h"
#include "mca_base_framework.h"
#include "mca_base_var.h"

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

@ -153,7 +153,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
return;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd cmd %d from sender %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), (int)cmd,
ORTE_NAME_PRINT(sender));
@ -186,7 +186,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd open file - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -197,7 +197,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
* the error value to the caller
*/
if (remote_fd < 0) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd open file response error file %s [error: %d]",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
dfs->uri, remote_fd);
@ -227,7 +227,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
/* return the local_fd to the caller for
* subsequent operations
*/
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd open file completed for file %s [local fd: %d remote fd: %d]",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
dfs->uri, trk->local_fd, remote_fd);
@ -259,7 +259,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd size - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -301,7 +301,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd seek - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -343,7 +343,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd read - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -393,7 +393,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd post - no corresponding request found",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -426,7 +426,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd getfm - no corresponding request found",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -459,7 +459,7 @@ static void open_local_file(orte_dfs_request_t *dfs)
OBJ_RELEASE(dfs);
return;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s opening local file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename);
@ -488,7 +488,7 @@ static void open_local_file(orte_dfs_request_t *dfs)
/* the file is locally hosted */
trk->host_daemon.jobid = ORTE_PROC_MY_DAEMON->jobid;
trk->host_daemon.vpid = ORTE_PROC_MY_DAEMON->vpid;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s local file %s mapped localfd %d to remotefd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename, trk->local_fd, trk->remote_fd);
@ -541,7 +541,7 @@ static void process_opens(int fd, short args, void *cbdata)
if (0 == strcmp(host, orte_process_info.nodename) ||
0 == strcmp(host, "localhost") ||
opal_ifislocal(host)) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s file %s on local host",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename);
@ -554,7 +554,7 @@ static void process_opens(int fd, short args, void *cbdata)
/* ident the daemon on that host */
daemon.jobid = ORTE_PROC_MY_DAEMON->jobid;
/* fetch the daemon for this hostname */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s looking for daemon on host %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), host);
v = &daemon.vpid;
@ -564,7 +564,7 @@ static void process_opens(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s file %s on host %s daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename, host, ORTE_NAME_PRINT(&daemon));
@ -573,7 +573,7 @@ static void process_opens(int fd, short args, void *cbdata)
* treat this as local
*/
if (daemon.vpid == ORTE_PROC_MY_DAEMON->vpid) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s local file %s on same daemon",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename);
@ -610,7 +610,7 @@ static void process_opens(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending open file request to %s file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&daemon),
@ -649,7 +649,7 @@ static void dfs_open(char *uri,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s opening file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), uri);
@ -672,7 +672,7 @@ static void process_close(int fd, short args, void *cbdata)
opal_buffer_t *buffer;
int rc;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s closing fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
close_dfs->local_fd);
@ -716,7 +716,7 @@ static void process_close(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending close file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -745,7 +745,7 @@ static void dfs_close(int fd,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s close called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -768,7 +768,7 @@ static void process_sizes(int fd, short args, void *cbdata)
int rc;
struct stat buf;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s processing get_size on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
size_dfs->local_fd);
@ -797,7 +797,7 @@ static void process_sizes(int fd, short args, void *cbdata)
/* stat the file and get its size */
if (0 > stat(trk->filename, &buf)) {
/* cannot stat file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s could not stat %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
trk->filename);
@ -838,7 +838,7 @@ static void process_sizes(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending get_size request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -868,7 +868,7 @@ static void dfs_get_file_size(int fd,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s get_size called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -893,7 +893,7 @@ static void process_seeks(int fd, short args, void *cbdata)
int rc;
struct stat buf;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s processing seek on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
seek_dfs->local_fd);
@ -919,14 +919,14 @@ static void process_seeks(int fd, short args, void *cbdata)
* stuck the "whence" value in the remote_fd
*/
if (trk->host_daemon.vpid == ORTE_PROC_MY_DAEMON->vpid) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s local seek on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
seek_dfs->local_fd);
/* stat the file and get its size */
if (0 > stat(trk->filename, &buf)) {
/* cannot stat file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s could not stat %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
trk->filename);
@ -992,7 +992,7 @@ static void process_seeks(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending seek file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -1019,7 +1019,7 @@ static void dfs_seek(int fd, long offset, int whence,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -1104,7 +1104,7 @@ static void process_reads(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending read file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),

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

@ -1,5 +1,5 @@
#
# Copyright (c) 2012 Los Alamos National Security, LLC. All rights reserved.
# Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -11,6 +11,5 @@ headers += \
base/base.h
libmca_dfs_la_SOURCES += \
base/dfs_base_close.c \
base/dfs_base_select.c \
base/dfs_base_open.c
base/dfs_base_frame.c

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

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012 Los Alamos National Security, Inc. All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -29,20 +29,11 @@
BEGIN_C_DECLS
/*
* MCA Framework functions
* MCA Framework
*/
ORTE_DECLSPEC int orte_dfs_base_open(void);
ORTE_DECLSPEC extern mca_base_framework_t orte_dfs_base_framework;
/* select a component */
ORTE_DECLSPEC int orte_dfs_base_select(void);
ORTE_DECLSPEC int orte_dfs_base_close(void);
/* define a struct to hold framework-global values */
typedef struct {
int output;
bool initialized;
opal_list_t components_available;
} orte_dfs_base_t;
ORTE_DECLSPEC extern orte_dfs_base_t orte_dfs_base;
/* tracker for active files */
typedef struct {

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

@ -1,48 +0,0 @@
/*
* Copyright (c) 2012 Los Alamos National Security, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include "orte/constants.h"
#include <stdio.h>
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "orte/mca/dfs/dfs.h"
#include "orte/mca/dfs/base/base.h"
int orte_dfs_base_close(void)
{
/* if not initialized, then skip this action. */
if (!orte_dfs_base.initialized) {
return ORTE_SUCCESS;
}
/* Close selected component */
if (NULL != orte_dfs.finalize) {
orte_dfs.finalize();
}
/* Close all remaining available components (may be one if this is a
* OMPI RTE program, or [possibly] multiple if this is ompi_info)
*/
mca_base_components_close(orte_dfs_base.output,
&orte_dfs_base.components_available,
NULL);
/* Close the framework output */
opal_output_close (orte_dfs_base.output);
orte_dfs_base.output = -1;
orte_dfs_base.initialized = false;
return ORTE_SUCCESS;
}

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

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012 Los Alamos National Security, Inc. All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -37,10 +37,6 @@
/*
* Globals
*/
opal_list_t orte_dfs_base_components_available;
orte_dfs_base_t orte_dfs_base;
orte_dfs_base_module_t orte_dfs = {
NULL,
NULL,
@ -55,36 +51,30 @@ orte_dfs_base_module_t orte_dfs = {
NULL
};
static int orte_dfs_base_close(void)
{
/* Close selected component */
if (NULL != orte_dfs.finalize) {
orte_dfs.finalize();
}
return mca_base_framework_components_close(&orte_dfs_base_framework, NULL);
}
/**
* Function for finding and opening either all MCA components, or the one
* that was specifically requested via a MCA parameter.
*/
int orte_dfs_base_open(void)
static int orte_dfs_base_open(mca_base_open_flag_t flags)
{
/* Only pass this way once */
if( orte_dfs_base.initialized ) {
return ORTE_SUCCESS;
}
orte_dfs_base.output = opal_output_open(NULL);
/*
* Open up all available components
*/
if (ORTE_SUCCESS !=
mca_base_components_open("dfs",
orte_dfs_base.output,
mca_dfs_base_static_components,
&orte_dfs_base.components_available,
true)) {
return ORTE_ERROR;
}
orte_dfs_base.initialized = true;
return ORTE_SUCCESS;
/* Open up all available components */
return mca_base_framework_components_open(&orte_dfs_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, dfs, "ORTE Distributed File System",
NULL, orte_dfs_base_open, orte_dfs_base_close,
mca_dfs_base_static_components, 0);
/* instantiate classes */
static void trk_con(orte_dfs_tracker_t *trk)

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

@ -30,8 +30,8 @@ int orte_dfs_base_select(void)
/*
* Select the best component
*/
if (OPAL_SUCCESS != mca_base_select("dfs", orte_dfs_base.output,
&orte_dfs_base.components_available,
if (OPAL_SUCCESS != mca_base_select("dfs", orte_dfs_base_framework.framework_output,
&orte_dfs_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component)) {
/* This will only happen if no component was selected, which

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

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012 Los Alamos National Security, LLC.
* Copyright (c) 2012-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -149,7 +149,7 @@ OBJ_CLASS_INSTANCE(worker_req_t,
do { \
worker_thread_t *wt; \
wt = (worker_thread_t*)opal_pointer_array_get_item(&worker_threads, wt_cntr); \
opal_output_verbose(1, orte_dfs_base.output, \
opal_output_verbose(1, orte_dfs_base_framework.framework_output, \
"%s assigning req to worker thread %d", \
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \
wt->idx); \
@ -207,7 +207,7 @@ static int init(void)
return rc;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s starting %d worker threads",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
orte_dfs_orted_num_worker_threads);
@ -263,7 +263,7 @@ static void open_local_file(orte_dfs_request_t *dfs)
}
return;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s opening local file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename);
@ -289,7 +289,7 @@ static void open_local_file(orte_dfs_request_t *dfs)
/* the file is locally hosted */
trk->host_daemon.jobid = ORTE_PROC_MY_DAEMON->jobid;
trk->host_daemon.vpid = ORTE_PROC_MY_DAEMON->vpid;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s local file %s mapped localfd %d to remotefd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename, trk->local_fd, trk->remote_fd);
@ -339,7 +339,7 @@ static void process_opens(int fd, short args, void *cbdata)
0 == strcmp(host, orte_process_info.nodename) ||
0 == strcmp(host, "localhost") ||
opal_ifislocal(host)) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s file %s on local host",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename);
@ -365,7 +365,7 @@ static void process_opens(int fd, short args, void *cbdata)
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s file %s on host %s daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename, host, ORTE_NAME_PRINT(&node->daemon->name));
@ -373,7 +373,7 @@ static void process_opens(int fd, short args, void *cbdata)
* treat this as local
*/
if (node->daemon->name.vpid == ORTE_PROC_MY_DAEMON->vpid) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s local file %s on same daemon",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename);
@ -407,7 +407,7 @@ static void process_opens(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending open file request to %s file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&node->daemon->name),
@ -440,7 +440,7 @@ static void dfs_open(char *uri,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s opening file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), uri);
@ -463,7 +463,7 @@ static void process_close(int fd, short args, void *cbdata)
opal_buffer_t *buffer;
int rc;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s closing fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
close_dfs->local_fd);
@ -507,7 +507,7 @@ static void process_close(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending close file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -536,7 +536,7 @@ static void dfs_close(int fd,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s close called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -559,7 +559,7 @@ static void process_sizes(int fd, short args, void *cbdata)
int rc;
struct stat buf;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s processing get_size on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
size_dfs->local_fd);
@ -588,7 +588,7 @@ static void process_sizes(int fd, short args, void *cbdata)
/* stat the file and get its size */
if (0 > stat(trk->filename, &buf)) {
/* cannot stat file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s could not stat %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
trk->filename);
@ -612,7 +612,7 @@ static void process_sizes(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending get_size request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -639,7 +639,7 @@ static void dfs_get_file_size(int fd,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s get_size called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -664,7 +664,7 @@ static void process_seeks(int fd, short args, void *cbdata)
int rc;
struct stat buf;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s processing seek on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
seek_dfs->local_fd);
@ -690,14 +690,14 @@ static void process_seeks(int fd, short args, void *cbdata)
* stuck the "whence" value in the remote_fd
*/
if (trk->host_daemon.vpid == ORTE_PROC_MY_DAEMON->vpid) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s local seek on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
seek_dfs->local_fd);
/* stat the file and get its size */
if (0 > stat(trk->filename, &buf)) {
/* cannot stat file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s could not stat %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
trk->filename);
@ -760,7 +760,7 @@ static void process_seeks(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending seek file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -785,7 +785,7 @@ static void dfs_seek(int fd, long offset, int whence,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -870,7 +870,7 @@ static void process_reads(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending read file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -918,7 +918,7 @@ static void process_posts(int fd, short args, void *cbdata)
opal_list_item_t *item;
int rc;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s posting file map containing %d bytes for target %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(int)dfs->bptr->bytes_used, ORTE_NAME_PRINT(&dfs->target));
@ -964,7 +964,7 @@ static void process_posts(int fd, short args, void *cbdata)
goto cleanup;
}
vfm->num_entries++;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s target %s now has %d entries",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&dfs->target),
@ -1090,7 +1090,7 @@ static void dfs_get_file_map(orte_process_name_t *target,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s get file map for %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(target));
@ -1147,7 +1147,7 @@ static void process_load(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s loading file maps from %d vpids",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), nvpids);
@ -1165,7 +1165,7 @@ static void process_load(int fd, short args, void *cbdata)
ORTE_ERROR_LOG(rc);
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s loading %d entries in file map for vpid %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
entries, ORTE_VPID_PRINT(vpid));
@ -1203,7 +1203,7 @@ static void dfs_load_file_maps(orte_jobid_t jobid,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s loading file maps for %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jobid));
@ -1259,7 +1259,7 @@ static void dfs_purge_file_maps(orte_jobid_t jobid,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s purging file maps for job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jobid));
@ -1312,7 +1312,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
return;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s received command %d from %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), (int)cmd,
ORTE_NAME_PRINT(sender));
@ -1348,7 +1348,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
return;
}
/* no worker threads, so attempt to open the file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s opening file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename);
@ -1436,7 +1436,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
/* no worker threads, so stat the file and get its size */
if (0 > stat(trk->filename, &buf)) {
/* cannot stat file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s could not stat %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
trk->filename);
@ -1518,13 +1518,13 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
/* no worker threads, so stat the file and get its size */
if (0 > stat(trk->filename, &buf)) {
/* cannot stat file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek could not stat %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
trk->filename);
} else if (buf.st_size < i64 && SEEK_SET == whence) {
/* seek would take us past EOF */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek SET past EOF on file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
trk->filename);
@ -1532,7 +1532,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
} else if (buf.st_size < (off_t)(trk->location + i64) &&
SEEK_CUR == whence) {
/* seek would take us past EOF */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek CUR past EOF on file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
trk->filename);
@ -1565,7 +1565,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
return;
}
/* send it */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending %ld offset back to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(long)bytes_read,
@ -1620,7 +1620,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
ORTE_DFS_POST_WORKER(wrkr, remote_read);
return;
} else {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s reading %ld bytes from local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(long)i64, my_fd);
@ -1659,7 +1659,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
}
}
/* send it */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending %ld bytes back to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(long)bytes_read,
@ -1677,7 +1677,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
break;
case ORTE_DFS_POST_CMD:
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s received post command from %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender));
@ -1735,7 +1735,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
ORTE_ERROR_LOG(rc);
return;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s received relayed posts from sender %s for source %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender),
@ -1884,7 +1884,7 @@ static void recv_dfs_cmd(int status, orte_process_name_t* sender,
}
}
OBJ_DESTRUCT(&bucket);
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s getf-cmd: returning %d maps with %d bytes to sender %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), nmaps,
(int)answer->bytes_used, ORTE_NAME_PRINT(sender));
@ -1922,7 +1922,7 @@ static void recv_dfs_data(int status, orte_process_name_t* sender,
return;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd:data cmd %d from sender %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), (int)cmd,
ORTE_NAME_PRINT(sender));
@ -1955,7 +1955,7 @@ static void recv_dfs_data(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd:data open file - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -1966,7 +1966,7 @@ static void recv_dfs_data(int status, orte_process_name_t* sender,
* the error value to the caller
*/
if (remote_fd < 0) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd:data open file response error file %s [error: %d]",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
dfs->uri, remote_fd);
@ -1993,7 +1993,7 @@ static void recv_dfs_data(int status, orte_process_name_t* sender,
/* return the local_fd to the caller for
* subsequent operations
*/
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd:data open file completed for file %s [local fd: %d remote fd: %d]",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
dfs->uri, trk->local_fd, remote_fd);
@ -2025,7 +2025,7 @@ static void recv_dfs_data(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd:data size - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -2067,7 +2067,7 @@ static void recv_dfs_data(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd:data read - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -2121,7 +2121,7 @@ static void remote_open(int fd, short args, void *cbdata)
int rc;
/* attempt to open the file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s opening file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
req->trk->filename);
@ -2162,7 +2162,7 @@ static void remote_size(int fd, short args, void *cbdata)
if (0 > stat(req->trk->filename, &buf)) {
/* cannot stat file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s could not stat %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
req->trk->filename);
@ -2204,13 +2204,13 @@ static void remote_seek(int fd, short args, void *cbdata)
/* stat the file and get its size */
if (0 > stat(req->trk->filename, &buf)) {
/* cannot stat file */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek could not stat %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
req->trk->filename);
} else if (buf.st_size < req->nbytes && SEEK_SET == req->whence) {
/* seek would take us past EOF */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek SET past EOF on file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
req->trk->filename);
@ -2218,7 +2218,7 @@ static void remote_seek(int fd, short args, void *cbdata)
} else if (buf.st_size < (off_t)(req->trk->location + req->nbytes) &&
SEEK_CUR == req->whence) {
/* seek would take us past EOF */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek CUR past EOF on file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
req->trk->filename);
@ -2266,7 +2266,7 @@ static void remote_read(int fd, short args, void *cbdata)
int rc;
/* do the read */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s issuing read",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
read_buf = (uint8_t*)malloc(req->nbytes);
@ -2298,7 +2298,7 @@ static void remote_read(int fd, short args, void *cbdata)
}
}
/* send it */
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending %ld bytes back to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(long)bytes_read,

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

@ -153,7 +153,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
return;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd cmd %d from sender %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), (int)cmd,
ORTE_NAME_PRINT(sender));
@ -186,7 +186,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd open file - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -197,7 +197,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
* the error value to the caller
*/
if (remote_fd < 0) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd open file response error file %s [error: %d]",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
dfs->uri, remote_fd);
@ -224,7 +224,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
/* return the local_fd to the caller for
* subsequent operations
*/
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd open file completed for file %s [local fd: %d remote fd: %d]",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
dfs->uri, trk->local_fd, remote_fd);
@ -256,7 +256,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd size - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -298,7 +298,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd seek - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -340,7 +340,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd read - no corresponding request found for local fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), local_fd);
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -390,7 +390,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd post - no corresponding request found",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -423,7 +423,7 @@ static void recv_dfs(int status, orte_process_name_t* sender,
}
}
if (NULL == dfs) {
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s recvd getfm - no corresponding request found",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -498,7 +498,7 @@ static void process_opens(int fd, short args, void *cbdata)
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s file %s on host %s daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
filename, host, ORTE_NAME_PRINT(&daemon));
@ -530,7 +530,7 @@ static void process_opens(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending open file request to %s file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&daemon),
@ -569,7 +569,7 @@ static void dfs_open(char *uri,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s opening file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), uri);
@ -592,7 +592,7 @@ static void process_close(int fd, short args, void *cbdata)
opal_buffer_t *buffer;
int rc;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s closing fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
close_dfs->local_fd);
@ -630,7 +630,7 @@ static void process_close(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending close file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -659,7 +659,7 @@ static void dfs_close(int fd,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s close called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -681,7 +681,7 @@ static void process_sizes(int fd, short args, void *cbdata)
opal_buffer_t *buffer;
int rc;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s processing get_size on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
size_dfs->local_fd);
@ -730,7 +730,7 @@ static void process_sizes(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending get_size request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -760,7 +760,7 @@ static void dfs_get_file_size(int fd,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s get_size called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -784,7 +784,7 @@ static void process_seeks(int fd, short args, void *cbdata)
int64_t i64;
int rc;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s processing seek on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
seek_dfs->local_fd);
@ -840,7 +840,7 @@ static void process_seeks(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending seek file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),
@ -867,7 +867,7 @@ static void dfs_seek(int fd, long offset, int whence,
{
orte_dfs_request_t *dfs;
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s seek called on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fd);
@ -936,7 +936,7 @@ static void process_reads(int fd, short args, void *cbdata)
goto complete;
}
opal_output_verbose(1, orte_dfs_base.output,
opal_output_verbose(1, orte_dfs_base_framework.framework_output,
"%s sending read file request to %s for fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&trk->host_daemon),

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

@ -9,6 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -21,8 +22,7 @@ headers += \
base/base.h
libmca_errmgr_la_SOURCES += \
base/errmgr_base_close.c \
base/errmgr_base_select.c \
base/errmgr_base_open.c \
base/errmgr_base_frame.c \
base/errmgr_base_fns.c \
base/errmgr_base_tool.c

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

@ -9,6 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -37,21 +38,11 @@
BEGIN_C_DECLS
/*
* MCA Framework functions
* MCA Framework
*/
ORTE_DECLSPEC int orte_errmgr_base_open(void);
ORTE_DECLSPEC extern mca_base_framework_t orte_errmgr_base_framework;
/* select a component */
ORTE_DECLSPEC int orte_errmgr_base_select(void);
ORTE_DECLSPEC int orte_errmgr_base_close(void);
/**
* Output and component variables
*/
ORTE_DECLSPEC extern opal_list_t orte_errmgr_base_components_available;
/**
* Internal module reference
*/
ORTE_DECLSPEC extern orte_errmgr_base_component_t orte_errmgr_base_selected_component;
/**
* Interfaces for orte-migrate tool

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

@ -1,64 +0,0 @@
/*
* Copyright (c) 2004-2010 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$
*/
#include "orte_config.h"
#include "orte/constants.h"
#include <stdio.h>
#include "opal/util/trace.h"
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/errmgr/base/base.h"
#include "orte/mca/errmgr/base/errmgr_private.h"
int orte_errmgr_base_close(void)
{
OPAL_TRACE(5);
/* if not initialized, then skip this action. */
if( !orte_errmgr_base.initialized ) {
return ORTE_SUCCESS;
}
/* Close selected component */
if( NULL != orte_errmgr.finalize ) {
orte_errmgr.finalize();
}
/* Close all remaining available components (may be one if this is a
* OMPI RTE program, or [possibly] multiple if this is ompi_info)
*/
mca_base_components_close(orte_errmgr_base.output,
&orte_errmgr_base_components_available,
NULL);
/* Close the framework output */
opal_output_close (orte_errmgr_base.output);
orte_errmgr_base.output = -1;
orte_errmgr_base.initialized = false;
/* always leave a default set of fn pointers */
orte_errmgr = orte_errmgr_default_fns;
return ORTE_SUCCESS;
}

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

@ -656,7 +656,7 @@ int orte_errmgr_base_migrate_job(orte_jobid_t jobid, orte_snapc_base_request_op_
orte_errmgr_fault_callback_t *orte_errmgr_base_set_fault_callback(orte_errmgr_fault_callback_t *cbfunc) {
orte_errmgr_fault_callback_t *temp_cbfunc = fault_cbfunc;
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base_framework.framework_output,
"%s errmgr:base Called set_fault_callback",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));

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

@ -10,7 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2011 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -50,12 +50,6 @@
/*
* Globals
*/
opal_list_t orte_errmgr_base_components_available;
orte_errmgr_base_t orte_errmgr_base;
orte_errmgr_base_component_t orte_errmgr_base_selected_component;
orte_errmgr_fault_callback_t *fault_cbfunc;
/* Public module provides a wrapper around previous functions */
@ -86,37 +80,33 @@ orte_errmgr_base_module_t orte_errmgr = {
NULL
};
/**
* Function for finding and opening either all MCA components, or the one
* that was specifically requested via a MCA parameter.
*/
int orte_errmgr_base_open(void)
static int orte_errmgr_base_close(void)
{
OPAL_TRACE(5);
/* Only pass this way once */
if( orte_errmgr_base.initialized ) {
return ORTE_SUCCESS;
/* Close selected component */
if (NULL != orte_errmgr.finalize) {
orte_errmgr.finalize();
}
orte_errmgr_base.output = opal_output_open(NULL);
/* always leave a default set of fn pointers */
orte_errmgr = orte_errmgr_default_fns;
return mca_base_framework_components_close(&orte_errmgr_base_framework, NULL);
}
/**
* * Function for finding and opening either all MCA components, or the one
* * that was specifically requested via a MCA parameter.
* */
static int orte_errmgr_base_open(mca_base_open_flag_t flags)
{
/* load the default fns */
orte_errmgr = orte_errmgr_default_fns;
/*
* Open up all available components
*/
if (ORTE_SUCCESS !=
mca_base_components_open("errmgr",
orte_errmgr_base.output,
mca_errmgr_base_static_components,
&orte_errmgr_base_components_available,
true)) {
return ORTE_ERROR;
}
orte_errmgr_base.initialized = true;
return ORTE_SUCCESS;
/* Open up all available components */
return mca_base_framework_components_open(&orte_errmgr_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, errmgr, "ORTE Error Manager", NULL,
orte_errmgr_base_open, orte_errmgr_base_close,
mca_errmgr_base_static_components, 0);

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

@ -10,6 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -41,8 +42,8 @@ int orte_errmgr_base_select(void)
/*
* Select the best component
*/
if( OPAL_SUCCESS != mca_base_select("errmgr", orte_errmgr_base.output,
&orte_errmgr_base_components_available,
if( OPAL_SUCCESS != mca_base_select("errmgr", orte_errmgr_base_framework.framework_output,
&orte_errmgr_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
/* This will only happen if no component was selected */
@ -51,7 +52,6 @@ int orte_errmgr_base_select(void)
}
/* Save the winner */
orte_errmgr_base_selected_component = *best_component;
orte_errmgr = *best_module;
/* Initialize the winner */

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

@ -151,7 +151,7 @@ int orte_errmgr_base_migrate_update(int status)
* If this is an invalid state, then return an error
*/
if( ORTE_ERRMGR_MIGRATE_MAX < status ) {
opal_output(orte_errmgr_base.output,
opal_output(orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:update() Error: Invalid state %d < (Max %d)",
status, ORTE_ERRMGR_MIGRATE_MAX);
return ORTE_ERR_BAD_PARAM;
@ -185,12 +185,12 @@ int orte_errmgr_base_migrate_update(int status)
* Do not send to self, as that is silly.
*/
if( OPAL_EQUAL == orte_util_compare_name_fields(ORTE_NS_CMP_ALL, ORTE_PROC_MY_HNP, &errmgr_cmdline_sender) ) {
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:update() Warning: Do not send to self!\n"));
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:update() Sending update command <status %d>\n",
status));
@ -204,7 +204,7 @@ int orte_errmgr_base_migrate_update(int status)
}
if (ORTE_SUCCESS != (ret = opal_dss.pack(loc_buffer, &command, 1, ORTE_ERRMGR_MIGRATE_TOOL_CMD)) ) {
opal_output(orte_errmgr_base.output,
opal_output(orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:update() Error: DSS Pack (cmd) Failure (ret = %d)\n",
ret);
ORTE_ERROR_LOG(ret);
@ -213,7 +213,7 @@ int orte_errmgr_base_migrate_update(int status)
}
if (ORTE_SUCCESS != (ret = opal_dss.pack(loc_buffer, &status, 1, OPAL_INT))) {
opal_output(orte_errmgr_base.output,
opal_output(orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:update() Error: DSS Pack (status) Failure (ret = %d)\n",
ret);
ORTE_ERROR_LOG(ret);
@ -222,7 +222,7 @@ int orte_errmgr_base_migrate_update(int status)
}
if (0 > (ret = orte_rml.send_buffer(&errmgr_cmdline_sender, loc_buffer, ORTE_RML_TAG_MIGRATE, 0))) {
opal_output(orte_errmgr_base.output,
opal_output(orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:update() Error: Send (status) Failure (ret = %d)\n",
ret);
ORTE_ERROR_LOG(ret);
@ -254,7 +254,7 @@ static int errmgr_base_tool_start_cmdline_listener(void)
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"errmgr:base:tool: Startup Command Line Channel"));
/*
@ -287,7 +287,7 @@ static int errmgr_base_tool_stop_cmdline_listener(void)
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"errmgr:base:tool: Shutdown Command Line Channel"));
if (ORTE_SUCCESS != (ret = orte_rml.recv_cancel(ORTE_NAME_WILDCARD,
@ -332,14 +332,14 @@ static void errmgr_base_tool_cmdline_recv(int status,
if( ORTE_RML_TAG_MIGRATE != tag ) {
opal_output(orte_errmgr_base.output,
opal_output(orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:recv() Error: Unknown tag: Received a command message from %s (tag = %d).",
ORTE_NAME_PRINT(sender), tag);
ORTE_ERROR_LOG(ORTE_ERR_BAD_PARAM);
return;
}
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:recv() Command Line: Start a migration operation [Sender = %s]",
ORTE_NAME_PRINT(sender)));
@ -375,7 +375,7 @@ static void errmgr_base_tool_cmdline_recv(int status,
* orte-migrate has requested that a checkpoint be taken
*/
if (ORTE_ERRMGR_MIGRATE_TOOL_INIT_CMD == command) {
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:recv() Command line requested process migration [command %d]\n",
command));
@ -444,7 +444,7 @@ static void errmgr_base_tool_cmdline_recv(int status,
* Unknown command
*/
else {
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((10, orte_errmgr_base_framework.framework_output,
"errmgr:base:tool:recv() Command line sent an unknown command (command %d)\n",
command));
ORTE_ERROR_LOG(ORTE_ERR_NOT_SUPPORTED);

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

@ -7,7 +7,7 @@
* Copyright (c) 2004-2006 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2011 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -90,7 +90,7 @@ static void proc_errors(int fd, short args, void *cbdata)
orte_state_caddy_t *caddy = (orte_state_caddy_t*)cbdata;
orte_ns_cmp_bitmask_t mask;
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_app: proc %s state %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&caddy->name),
@ -127,7 +127,7 @@ static void proc_errors(int fd, short args, void *cbdata)
static int abort_peers(orte_process_name_t *procs, orte_std_cntr_t num_procs)
{
/* just abort */
if (0 < opal_output_get_verbosity(orte_errmgr_base.output)) {
if (0 < opal_output_get_verbosity(orte_errmgr_base_framework.framework_output)) {
orte_errmgr_base_abort(ORTE_ERROR_DEFAULT_EXIT_CODE, "%s called abort_peers",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
} else {

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

@ -7,7 +7,7 @@
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2011 Oracle and/or all its affiliates. All rights reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -147,7 +147,7 @@ static void job_errors(int fd, short args, void *cbdata)
jobstate = caddy->job_state;
jdata->state = jobstate;
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_hnp: job %s reported state %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid),
@ -241,7 +241,7 @@ static void proc_errors(int fd, short args, void *cbdata)
orte_proc_state_t state = caddy->proc_state;
int i;
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_hnp: for proc %s state %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc),
@ -275,14 +275,14 @@ static void proc_errors(int fd, short args, void *cbdata)
/* is this to a daemon? */
if (ORTE_PROC_MY_NAME->jobid != proc->jobid) {
/* nope - ignore it */
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s Comm failure to non-daemon proc - ignoring it",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
goto cleanup;
}
/* if this is my own connection, ignore it */
if (ORTE_PROC_MY_NAME->vpid == proc->vpid) {
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s Comm failure on my own connection - ignoring it",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
goto cleanup;
@ -290,7 +290,7 @@ static void proc_errors(int fd, short args, void *cbdata)
/* if we have ordered orteds to terminate or abort
* is in progress, record it */
if (orte_orteds_term_ordered || orte_abnormal_term_ordered) {
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s Comm failure: daemons terminating - recording daemon %s as gone",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(proc)));
/* remove from dependent routes, if it is one */
@ -305,14 +305,14 @@ static void proc_errors(int fd, short args, void *cbdata)
}
}
/* call our appropriate exit procedure */
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr_hnp: all routes and children gone - ordering exit",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
ORTE_ACTIVATE_JOB_STATE(NULL, ORTE_JOB_STATE_DAEMONS_TERMINATED);
}
goto cleanup;
}
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s Comm failure: daemon %s - aborting",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(proc)));
/* record the first one to fail */
@ -347,7 +347,7 @@ static void proc_errors(int fd, short args, void *cbdata)
*/
switch (state) {
case ORTE_PROC_STATE_KILLED_BY_CMD:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s killed by cmd",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -362,7 +362,7 @@ static void proc_errors(int fd, short args, void *cbdata)
break;
case ORTE_PROC_STATE_ABORTED:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s aborted",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -380,7 +380,7 @@ static void proc_errors(int fd, short args, void *cbdata)
break;
case ORTE_PROC_STATE_ABORTED_BY_SIG:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s aborted by signal",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -398,7 +398,7 @@ static void proc_errors(int fd, short args, void *cbdata)
break;
case ORTE_PROC_STATE_TERM_WO_SYNC:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s terminated without sync",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -423,7 +423,7 @@ static void proc_errors(int fd, short args, void *cbdata)
case ORTE_PROC_STATE_FAILED_TO_START:
case ORTE_PROC_STATE_FAILED_TO_LAUNCH:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc),
@ -446,7 +446,7 @@ static void proc_errors(int fd, short args, void *cbdata)
break;
case ORTE_PROC_STATE_CALLED_ABORT:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s called abort",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -464,7 +464,7 @@ static void proc_errors(int fd, short args, void *cbdata)
break;
case ORTE_PROC_STATE_SENSOR_BOUND_EXCEEDED:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s exceeded sensor boundary",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -482,7 +482,7 @@ static void proc_errors(int fd, short args, void *cbdata)
break;
case ORTE_PROC_STATE_TERM_NON_ZERO:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s exited with non-zero status %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc),
@ -511,7 +511,7 @@ static void proc_errors(int fd, short args, void *cbdata)
break;
case ORTE_PROC_STATE_HEARTBEAT_FAILED:
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s heartbeat failed",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -532,7 +532,7 @@ static void proc_errors(int fd, short args, void *cbdata)
default:
/* shouldn't get this, but terminate job if required */
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: proc %s default error %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc),
@ -575,14 +575,14 @@ static void default_hnp_abort(orte_job_t *jdata)
/* if we are already in progress, then ignore this call */
if (opal_atomic_trylock(&orte_abort_inprogress_lock)) { /* returns 1 if already locked */
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_hnp: abort in progress, ignoring abort on job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid)));
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_hnp: abort called on job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid)));
@ -615,7 +615,7 @@ static void default_hnp_abort(orte_job_t *jdata)
"processes returned\nnon-zero exit codes.");
}
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_hnp: ordering orted termination",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));

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

@ -6,7 +6,7 @@
* Copyright (c) 2004-2011 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -152,7 +152,7 @@ static void job_errors(int fd, short args, void *cbdata)
jobstate = caddy->job_state;
jdata->state = jobstate;
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_orted: job %s reported error state %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid),
@ -232,7 +232,7 @@ static void proc_errors(int fd, short args, void *cbdata)
goto cleanup;
}
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_orted:proc_errors process %s error state %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc),
@ -256,13 +256,13 @@ static void proc_errors(int fd, short args, void *cbdata)
/* nope - ignore */
goto cleanup;
}
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base_framework.framework_output,
"%s errmgr:default:orted daemon %s exited",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
/* see if this was a lifeline */
if (ORTE_SUCCESS != orte_routed.route_lost(proc)) {
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base_framework.framework_output,
"%s errmgr:orted daemon %s was a lifeline - exiting",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -285,12 +285,12 @@ static void proc_errors(int fd, short args, void *cbdata)
/* if all my routes and children are gone, then terminate
ourselves nicely (i.e., this is a normal termination) */
if (0 == orte_routed.num_routes()) {
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base_framework.framework_output,
"%s errmgr:default:orted all routes gone - exiting",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
ORTE_TERMINATE(0);
} else {
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base_framework.framework_output,
"%s errmgr:default:orted not exiting, num_routes() == %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(int)orte_routed.num_routes()));
@ -329,7 +329,7 @@ static void proc_errors(int fd, short args, void *cbdata)
goto cleanup;
}
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_orted got state %s for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
orte_proc_state_to_str(state),
@ -392,7 +392,7 @@ static void proc_errors(int fd, short args, void *cbdata)
/* Decrement the number of local procs */
jdata->num_local_procs--;
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_orted reporting proc %s abnormally terminated with non-zero status (local procs = %d)",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name),
@ -456,7 +456,7 @@ static void proc_errors(int fd, short args, void *cbdata)
/* Decrement the number of local procs */
jdata->num_local_procs--;
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_orted reporting proc %s aborted to HNP (local procs = %d)",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name),
@ -483,7 +483,7 @@ static void proc_errors(int fd, short args, void *cbdata)
* else that needs it
*/
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_orted: sending contact info to HNP",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -547,7 +547,7 @@ static void proc_errors(int fd, short args, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base_framework.framework_output,
"%s errmgr:default_orted reporting all procs in %s terminated",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid)));
@ -778,7 +778,7 @@ static void failed_start(orte_job_t *jobdat)
}
}
}
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_errmgr_base_framework.framework_output,
"%s errmgr:hnp: job %s reported incomplete start",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jobdat->jobid)));

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

@ -10,7 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -93,7 +93,7 @@ static int rte_init(void)
strlen(hosts[i]))) {
/* correct our vpid */
ORTE_PROC_MY_NAME->vpid = starting_vpid + i;
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:alps reset name to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
break;
@ -184,7 +184,7 @@ static int alps_set_name(void)
int rc;
orte_jobid_t jobid;
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:alps setting name"));
if (NULL == orte_ess_base_jobid) {
@ -209,7 +209,7 @@ static int alps_set_name(void)
ORTE_PROC_MY_NAME->jobid = jobid;
ORTE_PROC_MY_NAME->vpid = (orte_vpid_t)cnos_get_rank() + starting_vpid;
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:alps set name to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));

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

@ -9,6 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -22,8 +23,7 @@ headers += \
base/base.h
libmca_ess_la_SOURCES += \
base/ess_base_close.c \
base/ess_base_open.c \
base/ess_base_frame.c \
base/ess_base_select.c \
base/ess_base_get.c \
base/ess_base_put.c \

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

@ -35,36 +35,19 @@
BEGIN_C_DECLS
/*
* Global functions for MCA overall collective open and close
* MCA Framework
*/
/**
* Open the ess framework
*/
ORTE_DECLSPEC int orte_ess_base_open(void);
ORTE_DECLSPEC extern mca_base_framework_t orte_ess_base_framework;
/**
* Select a ess module
*/
ORTE_DECLSPEC int orte_ess_base_select(void);
/**
* Close the ess framework
*/
ORTE_DECLSPEC int orte_ess_base_close(void);
/*
* The verbose channel for debug output
*/
ORTE_DECLSPEC extern int orte_ess_base_output;
/*
* stdout/stderr buffering control parameter
*/
ORTE_DECLSPEC extern int orte_ess_base_std_buffering;
ORTE_DECLSPEC extern opal_list_t orte_ess_base_components_available;
ORTE_DECLSPEC extern int orte_ess_base_num_procs;
ORTE_DECLSPEC extern char *orte_ess_base_jobid;
ORTE_DECLSPEC extern char *orte_ess_base_vpid;

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

@ -1,51 +0,0 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2008 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) 2009 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include "orte/constants.h"
#include <stdio.h>
#include "opal/mca/mca.h"
#include "opal/util/output.h"
#include "opal/mca/base/base.h"
#include "orte/mca/ess/base/base.h"
extern opal_list_t orte_ess_base_components_available;
int
orte_ess_base_close(void)
{
/* Close all open components */
mca_base_components_close (orte_ess_base_output,
&orte_ess_base_components_available,
NULL);
OBJ_DESTRUCT(&orte_ess_base_components_available);
/* Close the framework output */
opal_output_close (orte_ess_base_output);
orte_ess_base_output = -1;
return ORTE_SUCCESS;
}

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

@ -67,7 +67,7 @@ int orte_ess_base_proc_binding(void)
/* see if we were bound when launched */
if (!orte_proc_is_bound) {
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Not bound at launch",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* we were not bound at launch */
@ -83,7 +83,7 @@ int orte_ess_base_proc_binding(void)
* environment does not support it
*/
hwloc_bitmap_free(cpus);
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Binding not supported",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
goto MOVEON;
@ -100,7 +100,7 @@ int orte_ess_base_proc_binding(void)
orte_proc_is_bound = true;
hwloc_bitmap_list_asprintf(&orte_process_info.cpuset, cpus);
hwloc_bitmap_free(cpus);
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Process was externally bound",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
} else if (support->cpubind->set_thisproc_cpubind &&
@ -125,7 +125,7 @@ int orte_ess_base_proc_binding(void)
hwloc_bitmap_list_asprintf(&orte_process_info.cpuset, cpus);
hwloc_bitmap_free(cpus);
orte_proc_is_bound = true;
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Process bound according to slot_list",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
} else {
@ -137,7 +137,7 @@ int orte_ess_base_proc_binding(void)
* direct launched - so just ignore and leave
* us unbound
*/
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Process not bound - no node rank available",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
goto MOVEON;
@ -160,7 +160,7 @@ int orte_ess_base_proc_binding(void)
}
hwloc_bitmap_list_asprintf(&orte_process_info.cpuset, cpus);
hwloc_bitmap_free(cpus);
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Process bound to hwthread",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
} else if (OPAL_BIND_TO_CORE == OPAL_GET_BINDING_POLICY(opal_hwloc_binding_policy)) {
@ -181,7 +181,7 @@ int orte_ess_base_proc_binding(void)
}
hwloc_bitmap_list_asprintf(&orte_process_info.cpuset, cpus);
hwloc_bitmap_free(cpus);
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Process bound to core",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
} else {
@ -227,7 +227,7 @@ int orte_ess_base_proc_binding(void)
hwloc_bitmap_list_asprintf(&orte_process_info.cpuset, cpus);
hwloc_bitmap_free(cpus);
orte_proc_is_bound = true;
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Process bound to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
hwloc_obj_type_string(target)));
@ -244,7 +244,7 @@ int orte_ess_base_proc_binding(void)
}
}
} else {
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"%s Process bound at launch",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
}

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

@ -36,14 +36,12 @@
#include "orte/mca/ess/base/static-components.h"
opal_list_t orte_ess_base_components_available;
orte_ess_base_module_t orte_ess = {
NULL, /* init */
NULL, /* finalize */
NULL, /* abort */
NULL /* ft_event */
};
int orte_ess_base_output;
int orte_ess_base_std_buffering = -1;
int orte_ess_base_num_procs = -1;
char *orte_ess_base_jobid = NULL;
@ -57,8 +55,7 @@ static mca_base_var_enum_value_t stream_buffering_values[] = {
{0, NULL}
};
static int
orte_ess_base_register(void)
static int orte_ess_base_register(mca_base_register_flag_t flags)
{
mca_base_var_enum_t *new_enum;
int ret;
@ -102,23 +99,18 @@ orte_ess_base_register(void)
return ORTE_SUCCESS;
}
int
orte_ess_base_open(void)
static int orte_ess_base_close(void)
{
(void) orte_ess_base_register();
orte_ess_base_output = opal_output_open(NULL);
OBJ_CONSTRUCT(&orte_ess_base_components_available, opal_list_t);
/* Open up all available components */
if (ORTE_SUCCESS !=
mca_base_components_open("ess", orte_ess_base_output, mca_ess_base_static_components,
&orte_ess_base_components_available,
true)) {
/* error message emitted by fn above */
return ORTE_ERR_SILENT;
}
return ORTE_SUCCESS;
return mca_base_framework_components_close(&orte_ess_base_framework, NULL);
}
static int orte_ess_base_open(mca_base_open_flag_t flags)
{
return mca_base_framework_components_open(&orte_ess_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, ess, "ORTE Environmenal System Setup",
orte_ess_base_register, orte_ess_base_open, orte_ess_base_close,
mca_ess_base_static_components, 0);

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

@ -31,8 +31,6 @@
#include "orte/mca/ess/base/base.h"
extern opal_list_t orte_ess_base_components_available;
int
orte_ess_base_select(void)
{
@ -42,8 +40,8 @@ orte_ess_base_select(void)
/*
* Select the best component
*/
if( OPAL_SUCCESS != mca_base_select("ess", orte_ess_base_output,
&orte_ess_base_components_available,
if( OPAL_SUCCESS != mca_base_select("ess", orte_ess_base_framework.framework_output,
&orte_ess_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
/* error message emitted by fn above */

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

@ -90,7 +90,7 @@ int orte_ess_base_app_setup(void)
}
/* open and setup the state machine */
if (ORTE_SUCCESS != (ret = orte_state_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_state_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_state_base_open";
goto error;
@ -102,7 +102,7 @@ int orte_ess_base_app_setup(void)
}
/* open the errmgr */
if (ORTE_SUCCESS != (ret = orte_errmgr_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_errmgr_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_errmgr_base_open";
goto error;
@ -111,7 +111,7 @@ int orte_ess_base_app_setup(void)
/* Setup the communication infrastructure */
/* Runtime Messaging Layer */
if (ORTE_SUCCESS != (ret = orte_rml_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_rml_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_rml_base_open";
goto error;
@ -130,7 +130,7 @@ int orte_ess_base_app_setup(void)
}
/* Routed system */
if (ORTE_SUCCESS != (ret = orte_routed_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_routed_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_routed_base_open";
goto error;
@ -144,7 +144,7 @@ int orte_ess_base_app_setup(void)
/* database */
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&opal_db_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_db_base_open";
error = "opal_db_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = opal_db_base_select())) {
@ -156,7 +156,7 @@ int orte_ess_base_app_setup(void)
/*
* Group communications
*/
if (ORTE_SUCCESS != (ret = orte_grpcomm_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_grpcomm_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_grpcomm_base_open";
goto error;
@ -185,7 +185,7 @@ int orte_ess_base_app_setup(void)
/* setup my session directory */
if (orte_create_session_dirs) {
OPAL_OUTPUT_VERBOSE((2, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((2, orte_ess_base_framework.framework_output,
"%s setting up session dir with\n\ttmpdir: %s\n\thost %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(NULL == orte_process_info.tmpdir_base) ? "UNDEF" : orte_process_info.tmpdir_base,
@ -224,17 +224,27 @@ int orte_ess_base_app_setup(void)
/*
* Setup the SnapC
*/
if (ORTE_SUCCESS != (ret = orte_snapc_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_snapc_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_snapc_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_sstore_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_sstore_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_snapc_base_select(ORTE_PROC_IS_HNP, !ORTE_PROC_IS_DAEMON))) {
ORTE_ERROR_LOG(ret);
error = "orte_snapc_base_select";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_sstore_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_sstore_base_select";
goto error;
}
/* apps need the OPAL CR stuff */
opal_cr_set_enabled(true);
#else
@ -252,12 +262,12 @@ int orte_ess_base_app_setup(void)
}
/* open the distributed file system */
if (ORTE_SUCCESS != (ret = orte_dfs_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_dfs_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_dfs_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_dfs_base_select())) {
if (ORTE_SUCCESS != (ret = orte_dfs_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_dfs_base_select";
goto error;
@ -300,21 +310,23 @@ error:
int orte_ess_base_app_finalize(void)
{
orte_dfs_base_close();
orte_cr_finalize();
#if OPAL_ENABLE_FT_CR == 1
orte_snapc_base_close();
(void) mca_base_framework_close(&orte_snapc_base_framework);
(void) mca_base_framework_close(&orte_sstore_base_framework);
#endif
orte_filem_base_close();
orte_errmgr_base_close();
/* close frameworks */
(void) mca_base_framework_close(&orte_filem_base_framework);
(void) mca_base_framework_close(&orte_errmgr_base_framework);
/* now can close the rml and its friendly group comm */
orte_grpcomm_base_close();
(void) mca_base_framework_close(&orte_grpcomm_base_framework);
(void) mca_base_framework_close(&opal_db_base_framework);
orte_routed_base_close();
orte_rml_base_close();
(void) mca_base_framework_close(&orte_dfs_base_framework);
(void) mca_base_framework_close(&orte_routed_base_framework);
(void) mca_base_framework_close(&orte_rml_base_framework);
orte_session_dir_finalize(ORTE_PROC_MY_NAME);

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

@ -161,7 +161,7 @@ int orte_ess_base_orted_setup(char **hosts)
}
}
if (4 < opal_output_get_verbosity(orte_ess_base_output)) {
if (4 < opal_output_get_verbosity(orte_ess_base_framework.framework_output)) {
opal_output(0, "%s Topology Info:", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
opal_dss.dump(0, opal_hwloc_topology, OPAL_HWLOC_TOPO);
}
@ -189,7 +189,7 @@ int orte_ess_base_orted_setup(char **hosts)
}
/* open and setup the state machine */
if (ORTE_SUCCESS != (ret = orte_state_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_state_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_state_base_open";
goto error;
@ -201,7 +201,7 @@ int orte_ess_base_orted_setup(char **hosts)
}
/* open the errmgr */
if (ORTE_SUCCESS != (ret = orte_errmgr_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_errmgr_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_errmgr_base_open";
goto error;
@ -221,12 +221,11 @@ int orte_ess_base_orted_setup(char **hosts)
} else {
plm_in_use = true;
if (ORTE_SUCCESS != (ret = orte_plm_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_plm_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_plm_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_plm_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_plm_base_select";
@ -237,7 +236,7 @@ int orte_ess_base_orted_setup(char **hosts)
/* Setup the communication infrastructure */
/* Runtime Messaging Layer - this opens/selects the OOB as well */
if (ORTE_SUCCESS != (ret = orte_rml_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_rml_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_rml_base_open";
goto error;
@ -256,9 +255,9 @@ int orte_ess_base_orted_setup(char **hosts)
}
/* Routed system */
if (ORTE_SUCCESS != (ret = orte_routed_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_routed_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_routed_base_open";
error = "orte_rml_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_routed_base_select())) {
@ -282,7 +281,7 @@ int orte_ess_base_orted_setup(char **hosts)
/*
* Group communications
*/
if (ORTE_SUCCESS != (ret = orte_grpcomm_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_grpcomm_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_grpcomm_base_open";
goto error;
@ -294,7 +293,7 @@ int orte_ess_base_orted_setup(char **hosts)
}
/* Open/select the odls */
if (ORTE_SUCCESS != (ret = orte_odls_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_odls_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_odls_base_open";
goto error;
@ -364,7 +363,7 @@ int orte_ess_base_orted_setup(char **hosts)
/* setup my session directory */
if (orte_create_session_dirs) {
OPAL_OUTPUT_VERBOSE((2, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((2, orte_ess_base_framework.framework_output,
"%s setting up session dir with\n\ttmpdir: %s\n\thost %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(NULL == orte_process_info.tmpdir_base) ? "UNDEF" : orte_process_info.tmpdir_base,
@ -514,7 +513,7 @@ int orte_ess_base_orted_setup(char **hosts)
}
/* setup I/O forwarding system - must come after we init routes */
if (ORTE_SUCCESS != (ret = orte_iof_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_iof_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_iof_base_open";
goto error;
@ -526,12 +525,11 @@ int orte_ess_base_orted_setup(char **hosts)
}
/* setup the FileM */
if (ORTE_SUCCESS != (ret = orte_filem_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_filem_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_filem_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_filem_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_filem_base_select";
@ -542,17 +540,26 @@ int orte_ess_base_orted_setup(char **hosts)
/*
* Setup the SnapC
*/
if (ORTE_SUCCESS != (ret = orte_snapc_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_snapc_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_snapc_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_snapc_base_select(ORTE_PROC_IS_HNP, !ORTE_PROC_IS_DAEMON))) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_sstore_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_sstore_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_snapc_base_select(!ORTE_PROC_IS_HNP, ORTE_PROC_IS_DAEMON))) {
ORTE_ERROR_LOG(ret);
error = "orte_snapc_base_select";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_sstore_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_sstore_base_select";
goto error;
}
/* For daemons, ORTE doesn't need the OPAL CR stuff */
opal_cr_set_enabled(false);
@ -572,9 +579,9 @@ int orte_ess_base_orted_setup(char **hosts)
}
/* setup the SENSOR framework */
if (ORTE_SUCCESS != (ret = orte_sensor_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_sensor_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_sensor_open";
error = "orte_sensor_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_sensor_base_select())) {
@ -586,9 +593,9 @@ int orte_ess_base_orted_setup(char **hosts)
orte_sensor.start(ORTE_PROC_MY_NAME->jobid);
/* setup the DFS framework */
if (ORTE_SUCCESS != (ret = orte_dfs_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_dfs_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_dfs_open";
error = "orte_dfs_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_dfs_base_select())) {
@ -611,7 +618,8 @@ int orte_ess_base_orted_finalize(void)
{
/* stop the local sensors */
orte_sensor.stop(ORTE_PROC_MY_NAME->jobid);
(void) mca_base_framework_close(&orte_sensor_base_framework);
if (signals_set) {
/* Release all local signal handlers */
opal_event_del(&epipe_handler);
@ -626,12 +634,23 @@ int orte_ess_base_orted_finalize(void)
unlink(log_path);
}
/* close frameworks */
(void) mca_base_framework_close(&orte_filem_base_framework);
(void) mca_base_framework_close(&orte_grpcomm_base_framework);
(void) mca_base_framework_close(&orte_iof_base_framework);
(void) mca_base_framework_close(&orte_errmgr_base_framework);
(void) mca_base_framework_close(&orte_plm_base_framework);
/* close the dfs so its threads can exit */
orte_dfs_base_close();
(void) mca_base_framework_close(&orte_dfs_base_framework);
/* make sure our local procs are dead */
orte_odls.kill_local_procs(NULL);
(void) mca_base_framework_close(&orte_odls_base_framework);
(void) mca_base_framework_close(&orte_routed_base_framework);
(void) mca_base_framework_close(&orte_rml_base_framework);
(void) mca_base_framework_close(&orte_state_base_framework);
/* cleanup any lingering session directories */
orte_session_dir_cleanup(ORTE_JOBID_WILDCARD);

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -68,7 +68,7 @@ int orte_ess_base_tool_setup(void)
/* Setup the communication infrastructure */
/* Runtime Messaging Layer */
if (ORTE_SUCCESS != (ret = orte_rml_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_rml_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_rml_base_open";
goto error;
@ -79,9 +79,9 @@ int orte_ess_base_tool_setup(void)
goto error;
}
/* Routed system */
if (ORTE_SUCCESS != (ret = orte_routed_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_routed_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_routed_base_open";
error = "orte_rml_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_routed_base_select())) {
@ -109,9 +109,9 @@ int orte_ess_base_tool_setup(void)
* this node might be located
*/
if (ORTE_SUCCESS != (ret = orte_session_dir_get_name(NULL,
&orte_process_info.tmpdir_base,
&orte_process_info.top_session_dir,
orte_process_info.nodename, NULL, NULL))) {
&orte_process_info.tmpdir_base,
&orte_process_info.top_session_dir,
orte_process_info.nodename, NULL, NULL))) {
ORTE_ERROR_LOG(ret);
error = "define session dir names";
goto error;
@ -129,7 +129,7 @@ int orte_ess_base_tool_setup(void)
/* setup I/O forwarding system - must come after we init routes */
if (NULL != orte_process_info.my_hnp_uri) {
/* only do this if we were given an HNP */
if (ORTE_SUCCESS != (ret = orte_iof_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_iof_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_iof_base_open";
goto error;
@ -162,7 +162,7 @@ int orte_ess_base_tool_setup(void)
return ORTE_SUCCESS;
error:
error:
orte_show_help("help-orte-runtime.txt",
"orte_init:startup:internal-failure",
true, error, ORTE_ERROR_NAME(ret), ret);
@ -183,10 +183,10 @@ int orte_ess_base_tool_finalize(void)
* I only back those elements out
*/
if (NULL != orte_process_info.my_hnp_uri) {
orte_iof_base_close();
(void) mca_base_framework_close(&orte_iof_base_framework);
}
orte_routed_base_close();
orte_rml_base_close();
(void) mca_base_framework_close(&orte_routed_base_framework);
(void) mca_base_framework_close(&orte_rml_base_framework);
return ORTE_SUCCESS;
}

10
orte/mca/ess/env/ess_env_module.c поставляемый
Просмотреть файл

@ -233,7 +233,7 @@ static int env_set_name(void)
ORTE_PROC_MY_NAME->jobid = jobid;
ORTE_PROC_MY_NAME->vpid = vpid;
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:env set name to %s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* get the non-name common environmental variables */
@ -286,7 +286,7 @@ static int rte_ft_event(int state)
}
/******** Continue Recovery ********/
else if (OPAL_CRS_CONTINUE == state ) {
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:env ft_event(%2d) - %s is Continuing",
state, ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -331,7 +331,7 @@ static int rte_ft_event(int state)
ORTE_WAIT_FOR_COMPLETION(coll.active);
if( orte_cr_flush_restart_files ) {
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:env ft_event(%2d): %s "
"Cleanup restart files...",
state, ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -341,7 +341,7 @@ static int rte_ft_event(int state)
}
/******** Restart Recovery ********/
else if (OPAL_CRS_RESTART == state ) {
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:env ft_event(%2d) - %s is Restarting",
state, ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -456,7 +456,7 @@ static int rte_ft_event(int state)
ORTE_WAIT_FOR_COMPLETION(coll.active);
if( orte_cr_flush_restart_files ) {
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:env ft_event(%2d): %s "
"Cleanup restart files...",
state, ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));

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

@ -208,7 +208,7 @@ static int rte_init(void)
}
}
if (4 < opal_output_get_verbosity(orte_ess_base_output)) {
if (4 < opal_output_get_verbosity(orte_ess_base_framework.framework_output)) {
opal_output(0, "%s Topology Info:", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
opal_dss.dump(0, opal_hwloc_topology, OPAL_HWLOC_TOPO);
}
@ -242,7 +242,7 @@ static int rte_init(void)
}
/* open and setup the state machine */
if (ORTE_SUCCESS != (ret = orte_state_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_state_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_state_base_open";
goto error;
@ -253,7 +253,9 @@ static int rte_init(void)
goto error;
}
if (ORTE_SUCCESS != (ret = orte_errmgr_base_open())) {
/* open the errmgr */
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_errmgr_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_errmgr_base_open";
goto error;
}
@ -263,7 +265,7 @@ static int rte_init(void)
* respective environment - hence, we have to open the PLM
* first and select that component.
*/
if (ORTE_SUCCESS != (ret = orte_plm_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_plm_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_plm_base_open";
goto error;
@ -285,7 +287,7 @@ static int rte_init(void)
/*
* Runtime Messaging Layer
*/
if (ORTE_SUCCESS != (ret = orte_rml_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_rml_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_rml_base_open";
goto error;
@ -305,9 +307,9 @@ static int rte_init(void)
/*
* Routed system
*/
if (ORTE_SUCCESS != (ret = orte_routed_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_routed_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_routed_base_open";
error = "orte_rml_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_routed_base_select())) {
@ -331,7 +333,7 @@ static int rte_init(void)
/*
* Group communications
*/
if (ORTE_SUCCESS != (ret = orte_grpcomm_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_grpcomm_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_grpcomm_base_open";
goto error;
@ -359,24 +361,22 @@ static int rte_init(void)
* and daemons do not open these frameworks as they only use
* the hnp proxy support in the PLM framework.
*/
if (ORTE_SUCCESS != (ret = orte_ras_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_ras_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_ras_base_open";
goto error;
}
}
if (ORTE_SUCCESS != (ret = orte_ras_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_ras_base_find_available";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_rmaps_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_rmaps_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_rmaps_base_open";
goto error;
}
}
if (ORTE_SUCCESS != (ret = orte_rmaps_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_rmaps_base_find_available";
@ -384,7 +384,7 @@ static int rte_init(void)
}
/* Open/select the odls */
if (ORTE_SUCCESS != (ret = orte_odls_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_odls_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_odls_base_open";
goto error;
@ -567,7 +567,7 @@ static int rte_init(void)
}
/* setup I/O forwarding system - must come after we init routes */
if (ORTE_SUCCESS != (ret = orte_iof_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_iof_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_iof_base_open";
goto error;
@ -579,12 +579,11 @@ static int rte_init(void)
}
/* setup the FileM */
if (ORTE_SUCCESS != (ret = orte_filem_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_filem_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_filem_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_filem_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_filem_base_select";
@ -595,17 +594,26 @@ static int rte_init(void)
/*
* Setup the SnapC
*/
if (ORTE_SUCCESS != (ret = orte_snapc_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_snapc_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_snapc_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_sstore_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_sstore_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_snapc_base_select(ORTE_PROC_IS_HNP, !ORTE_PROC_IS_DAEMON))) {
ORTE_ERROR_LOG(ret);
error = "orte_snapc_base_select";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_sstore_base_select())) {
ORTE_ERROR_LOG(ret);
error = "orte_sstore_base_select";
goto error;
}
/* For HNP, ORTE doesn't need the OPAL CR stuff */
opal_cr_set_enabled(false);
@ -625,9 +633,9 @@ static int rte_init(void)
}
/* setup the SENSOR framework */
if (ORTE_SUCCESS != (ret = orte_sensor_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_sensor_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_sensor_open";
error = "orte_sensor_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_sensor_base_select())) {
@ -639,9 +647,9 @@ static int rte_init(void)
orte_sensor.start(ORTE_PROC_MY_NAME->jobid);
/* setup the dfs framework */
if (ORTE_SUCCESS != (ret = orte_dfs_base_open())) {
if (ORTE_SUCCESS != (ret = mca_base_framework_open(&orte_dfs_base_framework, 0))) {
ORTE_ERROR_LOG(ret);
error = "orte_dfs_open";
error = "orte_dfs_base_open";
goto error;
}
if (ORTE_SUCCESS != (ret = orte_dfs_base_select())) {
@ -714,11 +722,25 @@ static int rte_finalize(void)
signals_set = false;
}
/* close the dfs */
orte_dfs_base_close();
/* stop the local sensors */
orte_sensor.stop(ORTE_PROC_MY_NAME->jobid);
(void) mca_base_framework_close(&orte_sensor_base_framework);
/* close the dfs */
(void) mca_base_framework_close(&orte_dfs_base_framework);
(void) mca_base_framework_close(&orte_filem_base_framework);
(void) mca_base_framework_close(&orte_grpcomm_base_framework);
/* output any lingering stdout/err data */
fflush(stdout);
fflush(stderr);
(void) mca_base_framework_close(&orte_iof_base_framework);
(void) mca_base_framework_close(&orte_ras_base_framework);
(void) mca_base_framework_close(&orte_rmaps_base_framework);
(void) mca_base_framework_close(&orte_plm_base_framework);
(void) mca_base_framework_close(&orte_errmgr_base_framework);
(void) mca_base_framework_close(&orte_routed_base_framework);
(void) mca_base_framework_close(&orte_rml_base_framework);
(void) mca_base_framework_close(&orte_state_base_framework);
/* remove my contact info file, if we have session directories */
if (NULL != orte_process_info.job_session_dir) {
@ -728,11 +750,6 @@ static int rte_finalize(void)
unlink(contact_path);
free(contact_path);
}
/* output any lingering stdout/err data */
orte_iof_base_close();
fflush(stdout);
fflush(stderr);
/* ensure we scrub the session directory tree */
orte_session_dir_cleanup(ORTE_JOBID_WILDCARD);

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

@ -197,7 +197,7 @@ static int lsf_set_name(void)
return(rc);
}
lsf_nodeid = atoi(getenv("LSF_PM_TASKID"));
opal_output_verbose(1, orte_ess_base_output,
opal_output_verbose(1, orte_ess_base_framework.framework_output,
"ess:lsf found LSF_PM_TASKID set to %d",
lsf_nodeid);
ORTE_PROC_MY_NAME->vpid = vpid + lsf_nodeid - 1;

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

@ -147,7 +147,7 @@ static int rte_init(void)
bias = (uint32_t)orte_process_info.pid;
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"ess:singleton: initial bias %ld nodename hash %lu",
(long)bias, (unsigned long)hash32));
@ -157,7 +157,7 @@ static int rte_init(void)
/* now compress to 16-bits */
jobfam = (uint16_t)(((0x0000ffff & (0xffff0000 & hash32) >> 16)) ^ (0x0000ffff & hash32));
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_ess_base_framework.framework_output,
"ess:singleton:: final jobfam %lu",
(unsigned long)jobfam));

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

@ -164,7 +164,7 @@ static int slurm_set_name(void)
orte_vpid_t vpid;
char *tmp;
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:slurm setting name"));
if (NULL == orte_ess_base_jobid) {
@ -191,7 +191,7 @@ static int slurm_set_name(void)
slurm_nodeid = atoi(getenv("SLURM_NODEID"));
ORTE_PROC_MY_NAME->vpid = vpid + slurm_nodeid;
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:slurm set name to %s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* fix up the system info nodename to match exactly what slurm returned */
@ -205,7 +205,7 @@ static int slurm_set_name(void)
orte_process_info.nodename = strdup(tmp);
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:slurm set nodename to %s",
(NULL == orte_process_info.nodename) ? "NULL" : orte_process_info.nodename));

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

@ -177,7 +177,7 @@ static int tm_set_name(void)
orte_jobid_t jobid;
orte_vpid_t vpid;
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:tm setting name"));
if (NULL == orte_ess_base_jobid) {
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
@ -200,7 +200,7 @@ static int tm_set_name(void)
ORTE_PROC_MY_NAME->jobid = jobid;
ORTE_PROC_MY_NAME->vpid = vpid;
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_framework.framework_output,
"ess:tm set name to %s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* get the non-name common environmental variables */

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

@ -20,8 +20,7 @@ headers += \
base/base.h
libmca_filem_la_SOURCES += \
base/filem_base_open.c \
base/filem_base_close.c \
base/filem_base_frame.c \
base/filem_base_select.c \
base/filem_base_receive.c \
base/filem_base_fns.c

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC.
* Copyright (c) 2012-2013 Los Alamos National Security, LLC.
* All rights reserved
* $COPYRIGHT$
*
@ -26,21 +26,16 @@
#include "orte/mca/filem/filem.h"
/*
* Global functions for MCA overall FILEM
*/
BEGIN_C_DECLS
/**
* Initialize the FILEM MCA framework
*
* @retval ORTE_SUCCESS Upon success
* @retval ORTE_ERROR Upon failures
*
* This function is invoked during orte_init();
/*
* MCA framework
*/
ORTE_DECLSPEC int orte_filem_base_open(void);
ORTE_DECLSPEC extern mca_base_framework_t orte_filem_base_framework;
/*
* Select an available component.
*/
ORTE_DECLSPEC int orte_filem_base_select(void);
/*
* cmds for base receive
@ -63,32 +58,9 @@ ORTE_DECLSPEC void orte_filem_base_construct(orte_filem_base_request_t *obj);
ORTE_DECLSPEC void orte_filem_base_destruct( orte_filem_base_request_t *obj);
/**
* Select an available component.
*
* @retval ORTE_SUCCESS Upon Success
* @retval ORTE_NOT_FOUND If no component can be selected
* @retval ORTE_ERROR Upon other failure
*
*/
ORTE_DECLSPEC int orte_filem_base_select(void);
/**
* Finalize the FILEM MCA framework
*
* @retval ORTE_SUCCESS Upon success
* @retval ORTE_ERROR Upon failures
*
* This function is invoked during orte_finalize();
*/
ORTE_DECLSPEC int orte_filem_base_close(void);
/**
* Globals
*/
ORTE_DECLSPEC extern int orte_filem_base_output;
ORTE_DECLSPEC extern opal_list_t orte_filem_base_components_available;
ORTE_DECLSPEC extern orte_filem_base_component_t orte_filem_base_selected_component;
ORTE_DECLSPEC extern orte_filem_base_module_t orte_filem;
ORTE_DECLSPEC extern bool orte_filem_base_is_active;

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

@ -1,45 +0,0 @@
/*
* Copyright (c) 2004-2009 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
* 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$
*/
#include "orte_config.h"
#include "orte/constants.h"
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "orte/mca/filem/filem.h"
#include "orte/mca/filem/base/base.h"
int orte_filem_base_close(void)
{
/* Close the selected component */
if( NULL != orte_filem.filem_finalize ) {
orte_filem.filem_finalize();
}
orte_filem_base_is_active = false;
/* Close all available modules that are open */
mca_base_components_close(orte_filem_base_output,
&orte_filem_base_components_available,
NULL);
/* Close the framework output */
opal_output_close (orte_filem_base_output);
orte_filem_base_output = -1;
return ORTE_SUCCESS;
}

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

@ -7,7 +7,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC.
* Copyright (c) 2012-2013 Los Alamos National Security, LLC.
* All rights reserved
* $COPYRIGHT$
*
@ -31,7 +31,6 @@
/*
* Globals
*/
ORTE_DECLSPEC int orte_filem_base_output = -1;
ORTE_DECLSPEC orte_filem_base_module_t orte_filem = {
orte_filem_base_module_init,
orte_filem_base_module_finalize,
@ -46,29 +45,28 @@ ORTE_DECLSPEC orte_filem_base_module_t orte_filem = {
orte_filem_base_none_preposition_files,
orte_filem_base_none_link_local_files
};
opal_list_t orte_filem_base_components_available;
orte_filem_base_component_t orte_filem_base_selected_component;
bool orte_filem_base_is_active = false;
static int orte_filem_base_close(void)
{
/* Close the selected component */
if( NULL != orte_filem.filem_finalize ) {
orte_filem.filem_finalize();
}
return mca_base_framework_components_close(&orte_filem_base_framework, NULL);
}
/**
* Function for finding and opening either all MCA components,
* or the one that was specifically requested via a MCA parameter.
*/
int orte_filem_base_open(void)
static int orte_filem_base_open(mca_base_open_flag_t flags)
{
orte_filem_base_output = opal_output_open(NULL);
orte_filem_base_is_active = false;
/* Open up all available components */
if (OPAL_SUCCESS !=
mca_base_components_open("filem",
orte_filem_base_output,
mca_filem_base_static_components,
&orte_filem_base_components_available,
true)) {
return ORTE_ERROR;
}
return ORTE_SUCCESS;
/* Open up all available components */
return mca_base_framework_components_open(&orte_filem_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, filem, NULL, NULL, orte_filem_base_open, orte_filem_base_close,
mca_filem_base_static_components, 0);

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

@ -80,7 +80,7 @@ int orte_filem_base_comm_start(void)
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"%s filem:base: Receive: Start command recv",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -110,7 +110,7 @@ int orte_filem_base_comm_stop(void)
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"%s filem:base:receive stop comm",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -136,7 +136,7 @@ void orte_filem_base_recv(int status, orte_process_name_t* sender,
orte_std_cntr_t count;
int rc;
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"%s filem:base: Receive a command message.",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -148,7 +148,7 @@ void orte_filem_base_recv(int status, orte_process_name_t* sender,
switch (command) {
case ORTE_FILEM_GET_PROC_NODE_NAME_CMD:
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:base: Command: Get Proc node name command",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -156,7 +156,7 @@ void orte_filem_base_recv(int status, orte_process_name_t* sender,
break;
case ORTE_FILEM_GET_REMOTE_PATH_CMD:
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:base: Command: Get remote path command",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -267,7 +267,7 @@ static void filem_base_process_get_remote_path_cmd(orte_process_name_t* sender,
tmp_name = strdup(filename);
}
opal_output_verbose(10, orte_filem_base_output,
opal_output_verbose(10, orte_filem_base_framework.framework_output,
"filem:base: process_get_remote_path_cmd: %s -> %s: Filename Requested (%s) translated to (%s)",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender),

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

@ -41,8 +41,8 @@ int orte_filem_base_select(void)
/*
* Select the best component
*/
if( OPAL_SUCCESS != mca_base_select("filem", orte_filem_base_output,
&orte_filem_base_components_available,
if( OPAL_SUCCESS != mca_base_select("filem", orte_filem_base_framework.framework_output,
&orte_filem_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
/* It is okay to not select anything - we'll just retain
@ -52,7 +52,6 @@ int orte_filem_base_select(void)
}
/* Save the winner */
orte_filem_base_selected_component = *best_component;
orte_filem = *best_module;
/* Initialize the winner */

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

@ -250,7 +250,7 @@ static void recv_ack(int status, orte_process_name_t* sender,
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: recvd ack from %s for file %s status %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender), file, st));
@ -273,7 +273,7 @@ static void recv_ack(int status, orte_process_name_t* sender,
xfer->nrecvd++;
/* if all daemons have responded, then this is complete */
if (xfer->nrecvd == orte_process_info.num_procs) {
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: xfer complete for file %s status %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
file, xfer->status));
@ -302,7 +302,7 @@ static int raw_preposition_files(orte_job_t *jdata,
opal_list_t fsets;
bool already_sent;
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: preposition files for job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid)));
@ -317,7 +317,7 @@ static int raw_preposition_files(orte_job_t *jdata,
}
if (app->preload_binary) {
/* add the executable to our list */
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: preload executable %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
app->app));
@ -344,19 +344,19 @@ static int raw_preposition_files(orte_job_t *jdata,
/* check any suffix for file type */
if (NULL != (cptr = strchr(files[j], '.'))) {
if (0 == strncmp(cptr, ".tar", 4)) {
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: marking file %s as TAR",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
files[j]));
fs->target_flag = ORTE_FILEM_TYPE_TAR;
} else if (0 == strncmp(cptr, ".bz", 3)) {
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: marking file %s as BZIP",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
files[j]));
fs->target_flag = ORTE_FILEM_TYPE_BZIP;
} else if (0 == strncmp(cptr, ".gz", 3)) {
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: marking file %s as GZIP",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
files[j]));
@ -436,7 +436,7 @@ static int raw_preposition_files(orte_job_t *jdata,
}
if (0 == opal_list_get_size(&fsets)) {
/* nothing to preposition */
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: nothing to preposition",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
if (NULL != cbfunc) {
@ -446,7 +446,7 @@ static int raw_preposition_files(orte_job_t *jdata,
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: found %d files to position",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(int)opal_list_get_size(&fsets)));
@ -463,7 +463,7 @@ static int raw_preposition_files(orte_job_t *jdata,
*/
while (NULL != (item = opal_list_remove_first(&fsets))) {
fs = (orte_filem_base_file_set_t*)item;
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: checking prepositioning of file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fs->local_target));
@ -480,7 +480,7 @@ static int raw_preposition_files(orte_job_t *jdata,
}
if (already_sent) {
/* no need to send it again */
OPAL_OUTPUT_VERBOSE((3, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((3, orte_filem_base_framework.framework_output,
"%s filem:raw: file %s is already in position - ignoring",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fs->local_target));
OBJ_RELEASE(item);
@ -505,7 +505,7 @@ static int raw_preposition_files(orte_job_t *jdata,
}
if (already_sent) {
/* no need to send it again */
OPAL_OUTPUT_VERBOSE((3, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((3, orte_filem_base_framework.framework_output,
"%s filem:raw: file %s is already queued for output - ignoring",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fs->local_target));
OBJ_RELEASE(item);
@ -522,13 +522,13 @@ static int raw_preposition_files(orte_job_t *jdata,
}
/* set the flags to non-blocking */
if ((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_filem_base_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_filem_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
fcntl(fd, F_SETFL, flags);
}
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: setting up to position file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), fs->local_target));
xfer = OBJ_NEW(orte_filem_raw_xfer_t);
@ -586,7 +586,7 @@ static int raw_preposition_files(orte_job_t *jdata,
* is a duplicate, then the list will be empty
*/
if (0 == opal_list_get_size(&outbound->xfers)) {
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: all duplicate files - no positioning reqd",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
opal_list_remove_item(&outbound_files, &outbound->super);
@ -597,7 +597,7 @@ static int raw_preposition_files(orte_job_t *jdata,
return ORTE_SUCCESS;
}
if (0 < opal_output_get_verbosity(orte_filem_base_output)) {
if (0 < opal_output_get_verbosity(orte_filem_base_framework.framework_output)) {
opal_output(0, "%s Files to be positioned:", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
for (itm2 = opal_list_get_first(&outbound->xfers);
itm2 != opal_list_get_end(&outbound->xfers);
@ -625,7 +625,7 @@ static int create_link(char *my_dir, char *path,
* same directory, so check for existence first
*/
if (0 != stat(fullname, &buf)) {
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: creating symlink to %s\n\tmypath: %s\n\tlink: %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), link_pt,
mypath, fullname));
@ -701,12 +701,12 @@ static int raw_link_local_files(orte_job_t *jdata,
if (NULL == (proc = (orte_proc_t*)opal_pointer_array_get_item(orte_local_children, i))) {
continue;
}
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: working symlinks for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name)));
if (proc->name.jobid != jdata->jobid) {
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: proc %s not part of job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name),
@ -714,7 +714,7 @@ static int raw_link_local_files(orte_job_t *jdata,
continue;
}
if (proc->app_idx != app->idx) {
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: proc %s not part of app_idx %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name),
@ -728,7 +728,7 @@ static int raw_link_local_files(orte_job_t *jdata,
continue;
}
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: creating symlinks for %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name)));
@ -753,7 +753,7 @@ static int raw_link_local_files(orte_job_t *jdata,
item != opal_list_get_end(&incoming_files);
item = opal_list_get_next(item)) {
inbnd = (orte_filem_raw_incoming_t*)item;
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: checking file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), inbnd->file));
@ -762,7 +762,7 @@ static int raw_link_local_files(orte_job_t *jdata,
if (0 == strcmp(inbnd->file, files[j])) {
/* this must be one of the files we are to link against */
if (NULL != inbnd->link_pts) {
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: creating links for file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
inbnd->file));
@ -776,7 +776,7 @@ static int raw_link_local_files(orte_job_t *jdata,
}
}
} else {
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: file %s has no link points",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
inbnd->file));
@ -820,7 +820,7 @@ static void send_chunk(int fd, short argc, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw:read error on file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), rev->file));
@ -839,7 +839,7 @@ static void send_chunk(int fd, short argc, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw:read handler sending chunk %d of %d bytes for file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
rev->nchunk, numbytes, rev->file));
@ -927,7 +927,7 @@ static int link_archive(orte_filem_raw_incoming_t *inbnd)
char *cmd;
char path[MAXPATHLEN];
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: identifying links for archive %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
inbnd->fullpath));
@ -944,7 +944,7 @@ static int link_archive(orte_filem_raw_incoming_t *inbnd)
* have to link to each individual file
*/
while (fgets(path, sizeof(path), fp) != NULL) {
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: path %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
path));
@ -952,7 +952,7 @@ static int link_archive(orte_filem_raw_incoming_t *inbnd)
path[strlen(path)-1] = '\0';
/* ignore directories */
if ('/' == path[strlen(path)-1]) {
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: path %s is a directory - ignoring it",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
path));
@ -960,13 +960,13 @@ static int link_archive(orte_filem_raw_incoming_t *inbnd)
}
/* ignore specific useless directory trees */
if (NULL != strstr(path, ".deps")) {
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: path %s includes .deps - ignoring it",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
path));
continue;
}
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((10, orte_filem_base_framework.framework_output,
"%s filem:raw: adding path %s to link points",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
path));
@ -1029,7 +1029,7 @@ static void recv_files(int status, orte_process_name_t* sender,
}
}
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: received chunk %d for file %s containing %d bytes",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
nchunk, file, nbytes));
@ -1047,7 +1047,7 @@ static void recv_files(int status, orte_process_name_t* sender,
}
if (NULL == incoming) {
/* nope - add it */
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: adding file %s to incoming list",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), file));
incoming = OBJ_NEW(orte_filem_raw_incoming_t);
@ -1071,7 +1071,7 @@ static void recv_files(int status, orte_process_name_t* sender,
incoming->fullpath = opal_os_path(false, jobfam_dir, file, NULL);
free(jobfam_dir);
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s filem:raw: opening target file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), incoming->fullpath));
/* create the path to the target, if not already existing */
@ -1142,7 +1142,7 @@ static void write_handler(int fd, short event, void *cbdata)
char homedir[MAXPATHLEN];
int rc;
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s write:handler writing data to %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
sink->fd));
@ -1154,7 +1154,7 @@ static void write_handler(int fd, short event, void *cbdata)
output = (orte_filem_raw_output_t*)item;
if (0 == output->numbytes) {
/* indicates we are to close this stream */
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s write:handler zero bytes - reporting complete for file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
sink->file));
@ -1180,7 +1180,7 @@ static void write_handler(int fd, short event, void *cbdata)
getcwd(homedir, sizeof(homedir));
dirname = opal_dirname(sink->fullpath);
chdir(dirname);
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s write:handler unarchiving file %s with cmd: %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
sink->file, cmd));
@ -1199,7 +1199,7 @@ static void write_handler(int fd, short event, void *cbdata)
return;
}
num_written = write(sink->fd, output->data, output->numbytes);
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s write:handler wrote %d bytes to file %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
num_written, sink->file));
@ -1217,7 +1217,7 @@ static void write_handler(int fd, short event, void *cbdata)
/* otherwise, something bad happened so all we can do is abort
* this attempt
*/
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((1, orte_filem_base_framework.framework_output,
"%s write:handler error on write for file %s: %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
sink->file, strerror(errno)));

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

@ -151,15 +151,15 @@ static int filem_rsh_open(void)
/*
* Debug Output
*/
opal_output_verbose(10, orte_filem_base_output,
opal_output_verbose(10, orte_filem_base_framework.framework_output,
"filem:rsh: open()");
opal_output_verbose(20, orte_filem_base_output,
opal_output_verbose(20, orte_filem_base_framework.framework_output,
"filem:rsh: open: cp command = %s",
mca_filem_rsh_component.cp_command);
opal_output_verbose(20, orte_filem_base_output,
opal_output_verbose(20, orte_filem_base_framework.framework_output,
"filem:rsh: open: cp local command = %s",
mca_filem_rsh_component.cp_local_command);
opal_output_verbose(20, orte_filem_base_output,
opal_output_verbose(20, orte_filem_base_framework.framework_output,
"filem:rsh: open: rsh command = %s",
mca_filem_rsh_component.remote_sh_command);
@ -168,7 +168,7 @@ static int filem_rsh_open(void)
static int filem_rsh_close(void)
{
opal_output_verbose(10, orte_filem_base_output,
opal_output_verbose(10, orte_filem_base_framework.framework_output,
"filem:rsh: close()");
return ORTE_SUCCESS;

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

@ -243,7 +243,7 @@ static orte_filem_base_module_t loc_module = {
*/
int orte_filem_rsh_component_query(mca_base_module_t **module, int *priority)
{
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: component_query()"));
*priority = 20;
@ -258,7 +258,7 @@ int orte_filem_rsh_module_init(void)
orte_filem_base_is_active = false;
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: module_init()"));
/*
@ -278,14 +278,14 @@ int orte_filem_rsh_module_init(void)
* Start the listener for permission
*/
if( ORTE_SUCCESS != (ret = orte_filem_rsh_permission_listener_init())) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh:init Failed to start listener\n");
return ret;
}
/* start the base receive */
if (ORTE_SUCCESS != (ret = orte_filem_base_comm_start())) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh:init Failed to start base receive\n");
return ret;
}
@ -296,7 +296,7 @@ int orte_filem_rsh_module_finalize(void)
{
opal_list_item_t *item = NULL;
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: module_finalize()"));
/*
@ -369,21 +369,21 @@ int orte_filem_rsh_put(orte_filem_base_request_t *request)
orte_filem_base_is_active = true;
if( ORTE_SUCCESS != (ret = orte_filem_base_prepare_request(request, ORTE_FILEM_MOVE_TYPE_PUT) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: put(): Failed to prepare the request structure (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_start_copy(request) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: put(): Failed to post the request (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_wait(request)) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: put(): Failed to wait on the request (%d)", ret);
exit_status = ret;
goto cleanup;
@ -406,14 +406,14 @@ int orte_filem_rsh_put_nb(orte_filem_base_request_t *request)
orte_filem_base_is_active = true;
if( ORTE_SUCCESS != (ret = orte_filem_base_prepare_request(request, ORTE_FILEM_MOVE_TYPE_PUT) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: put(): Failed to prepare the request structure (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_start_copy(request) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: put(): Failed to post the request (%d)", ret);
exit_status = ret;
goto cleanup;
@ -436,21 +436,21 @@ int orte_filem_rsh_get(orte_filem_base_request_t *request)
orte_filem_base_is_active = true;
if( ORTE_SUCCESS != (ret = orte_filem_base_prepare_request(request, ORTE_FILEM_MOVE_TYPE_GET) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: get(): Failed to prepare the request structure (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_start_copy(request) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: get(): Failed to post the request (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_wait(request)) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: get(): Failed to wait on the request (%d)", ret);
exit_status = ret;
goto cleanup;
@ -473,14 +473,14 @@ int orte_filem_rsh_get_nb(orte_filem_base_request_t *request)
orte_filem_base_is_active = true;
if( ORTE_SUCCESS != (ret = orte_filem_base_prepare_request(request, ORTE_FILEM_MOVE_TYPE_GET) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: get(): Failed to prepare the request structure (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_start_copy(request) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: get(): Failed to post the request (%d)", ret);
exit_status = ret;
goto cleanup;
@ -503,21 +503,21 @@ int orte_filem_rsh_rm(orte_filem_base_request_t *request)
orte_filem_base_is_active = true;
if( ORTE_SUCCESS != (ret = orte_filem_base_prepare_request(request, ORTE_FILEM_MOVE_TYPE_RM) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: rm(): Failed to prepare on the request (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_start_rm(request) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: rm(): Failed to start the request (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_wait(request)) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: rm(): Failed to wait on the request (%d)", ret);
exit_status = ret;
goto cleanup;
@ -540,14 +540,14 @@ int orte_filem_rsh_rm_nb(orte_filem_base_request_t *request)
orte_filem_base_is_active = true;
if( ORTE_SUCCESS != (ret = orte_filem_base_prepare_request(request, ORTE_FILEM_MOVE_TYPE_RM) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: rm_nb(): Failed to prepare on the request (%d)", ret);
exit_status = ret;
goto cleanup;
}
if( ORTE_SUCCESS != (ret = orte_filem_rsh_start_rm(request) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: rm_nb(): Failed to start on the request (%d)", ret);
exit_status = ret;
goto cleanup;
@ -619,7 +619,7 @@ int orte_filem_rsh_wait(orte_filem_base_request_t *request)
continue;
}
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: wait(): Transfer complete. Cleanup\n"));
opal_list_remove_item(&work_pool_active, item);
@ -691,7 +691,7 @@ int orte_filem_rsh_wait_all(opal_list_t * request_list)
orte_filem_base_request_t *request = (orte_filem_base_request_t *) item;
if( ORTE_SUCCESS != (ret = orte_filem_rsh_wait(request)) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: wait_all(): Wait failed (%d)", ret);
exit_status = ret;
goto cleanup;
@ -764,7 +764,7 @@ static int orte_filem_rsh_start_copy(orte_filem_base_request_t *request) {
* The file should exist if we are going to put it somewhere else
*/
if( 0 != access(f_set->local_target, R_OK) ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: copy(): %s -> %s: Error: Cannot move file %s to %s. Does not exist at source\n",
ORTE_NAME_PRINT(&p_set->source),
ORTE_NAME_PRINT(&p_set->sink),
@ -789,7 +789,7 @@ static int orte_filem_rsh_start_copy(orte_filem_base_request_t *request) {
* without the users consent.
*/
if( 0 == access(base, R_OK) ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: copy(): %s -> %s: Error: Cannot move file %s to %s. Already exists at destination (%s)\n",
ORTE_NAME_PRINT(&p_set->source),
ORTE_NAME_PRINT(&p_set->sink),
@ -810,7 +810,7 @@ static int orte_filem_rsh_start_copy(orte_filem_base_request_t *request) {
}
if( request->movement_type == ORTE_FILEM_MOVE_TYPE_PUT ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: copy(): %s -> %s: Moving file %s %s to %s %s\n",
ORTE_NAME_PRINT(&p_set->source),
ORTE_NAME_PRINT(&p_set->sink),
@ -819,7 +819,7 @@ static int orte_filem_rsh_start_copy(orte_filem_base_request_t *request) {
(f_set->remote_hint == ORTE_FILEM_HINT_SHARED ? "(S)" : ""),
f_set->remote_target));
} else {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: copy(): %s -> %s: Moving file %s %s to %s %s\n",
ORTE_NAME_PRINT(&p_set->source),
ORTE_NAME_PRINT(&p_set->sink),
@ -832,17 +832,17 @@ static int orte_filem_rsh_start_copy(orte_filem_base_request_t *request) {
/*
* Get the remote machine identifier from the process_name struct
*/
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: copy(): %s -> %s: Get node name.\n",
ORTE_NAME_PRINT(&p_set->source),
ORTE_NAME_PRINT(&p_set->sink)));
if( ORTE_SUCCESS != (ret = orte_filem_base_get_proc_node_name(&p_set->source, &remote_machine))) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: copy(): Get Node Name failed (%d)", ret);
exit_status = ret;
goto cleanup;
}
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: copy(): %s -> %s: Got node name: %s\n",
ORTE_NAME_PRINT(&p_set->source),
ORTE_NAME_PRINT(&p_set->sink),
@ -853,19 +853,19 @@ static int orte_filem_rsh_start_copy(orte_filem_base_request_t *request) {
* If it is an absolute path, then assume it is valid for the remote server
* ow then we must construct the correct path.
*/
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: copy(): %s -> %s: Query remote path (%s).\n",
ORTE_NAME_PRINT(&p_set->source),
ORTE_NAME_PRINT(&p_set->sink),
f_set->remote_target));
remote_file = strdup(f_set->remote_target);
if( ORTE_SUCCESS != (ret = orte_filem_rsh_query_remote_path(&remote_file, &p_set->source, &f_set->target_flag) ) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: copy(): Query Remote Path failed (%d)", ret);
exit_status = ret;
goto cleanup;
}
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: copy(): %s -> %s: Remote path (%s) is (%s).\n",
ORTE_NAME_PRINT(&p_set->source),
ORTE_NAME_PRINT(&p_set->sink),
@ -879,7 +879,7 @@ static int orte_filem_rsh_start_copy(orte_filem_base_request_t *request) {
dir_arg = strdup(" -r ");
}
else if(ORTE_FILEM_TYPE_UNKNOWN == f_set->target_flag) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: copy(): Error: File type unknown (%s)",
f_set->remote_target);
request->is_done[cur_index] = true;
@ -937,7 +937,7 @@ static int orte_filem_rsh_start_copy(orte_filem_base_request_t *request) {
/*
* Start the command
*/
OPAL_OUTPUT_VERBOSE((17, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((17, orte_filem_base_framework.framework_output,
"filem:rsh:%s about to execute [%s]",
(request->movement_type == ORTE_FILEM_MOVE_TYPE_PUT ? "put" : "get"),
command));
@ -1058,7 +1058,7 @@ static int orte_filem_rsh_start_rm(orte_filem_base_request_t *request)
dir_arg,
remote_targets);
OPAL_OUTPUT_VERBOSE((15, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((15, orte_filem_base_framework.framework_output,
"filem:rsh:rm about to execute [%s]", command));
if( ORTE_SUCCESS != (ret = orte_filem_rsh_start_command(p_set,
@ -1147,7 +1147,7 @@ static int orte_filem_rsh_start_command(orte_filem_base_process_set_t *proc_set
wp_item->index = index;
if( orte_filem_rsh_max_outgoing > 0 && cur_num_outgoing >= orte_filem_rsh_max_outgoing ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: wait(): *** Hold send from proc %s (%d of %d)",
ORTE_NAME_PRINT(&(wp_item->proc_set.source)), cur_num_outgoing, orte_filem_rsh_max_outgoing));
/*
@ -1169,7 +1169,7 @@ static int orte_filem_rsh_start_command(orte_filem_base_process_set_t *proc_set
* Allow only one file request at a time.
* JJH: Look into permission for multiple file permissions at a time
*/
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: start_command(): Ask permission to send from proc %s (%d of %d)",
ORTE_NAME_PRINT(&(proc_set->source)), cur_num_outgoing, orte_filem_rsh_max_outgoing));
if( ORTE_SUCCESS != (ret = orte_filem_rsh_permission_ask(&(proc_set->source), 1)) ) {
@ -1190,7 +1190,7 @@ static int start_child(char * command,
char **argv = NULL;
int status, ret;
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: start_child(): Starting the command [%s]",
command));
/* fork() -> done = false, active = true */
@ -1210,7 +1210,7 @@ static int start_child(char * command,
exit(ORTE_ERROR);
}
else if( request->exit_status[index] > 0 ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: start_child(): Started Child %d Running command [%s]",
request->exit_status[index], command));
@ -1239,7 +1239,7 @@ static void filem_rsh_waitpid_cb(pid_t pid, int status, void* cbdata)
opal_list_item_t *item = NULL;
int index;
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: waitpid_cb(): Pid %d finished with status [%d].\n",
pid, status));
@ -1259,7 +1259,7 @@ static void filem_rsh_waitpid_cb(pid_t pid, int status, void* cbdata)
/* waitpid() -> done = true, active = false */
request->is_done[index] = true;
request->is_active[index] = false;
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: waitpid_cb(): Marked pid %d as complete [status = %d].\n",
pid, status));
break;
@ -1286,7 +1286,7 @@ static void filem_rsh_waitpid_cb(pid_t pid, int status, void* cbdata)
/*
* Ask for permission to send this file so we do not overwhelm the peer
*/
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: start_command(): Ask permission to send from proc %s (*** Activate Held)",
ORTE_NAME_PRINT(&(wp_item->proc_set.source))));
if( ORTE_SUCCESS != (ret = orte_filem_rsh_permission_ask(&(wp_item->proc_set.source), 1)) ) {
@ -1343,7 +1343,7 @@ static int orte_filem_rsh_permission_listener_init(void)
ORTE_RML_PERSISTENT,
orte_filem_rsh_permission_callback,
NULL)) ) {
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: listener_init: Failed to register the receive callback (%d)",
ret);
return ret;
@ -1358,7 +1358,7 @@ static int orte_filem_rsh_permission_listener_cancel(void)
if( ORTE_SUCCESS != (ret = orte_rml.recv_cancel(ORTE_NAME_WILDCARD, ORTE_RML_TAG_FILEM_RSH) ) ) {
#if 0
opal_output(orte_filem_base_output,
opal_output(orte_filem_base_framework.framework_output,
"filem:rsh: listener_cancel: Failed to deregister the receive callback (%d)",
ret);
#endif
@ -1383,7 +1383,7 @@ static void orte_filem_rsh_permission_callback(int status,
int32_t peer_status = 0;
orte_ns_cmp_bitmask_t mask;
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(? ?): Peer %s ...",
ORTE_NAME_PRINT(sender)));
@ -1399,7 +1399,7 @@ static void orte_filem_rsh_permission_callback(int status,
/* Asking for permission to send */
if( ORTE_FILEM_RSH_ASK == perm_flag ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(ASK): Peer %s Asking permission to send [Used %d of %d]",
ORTE_NAME_PRINT(sender),
cur_num_incomming,
@ -1421,7 +1421,7 @@ static void orte_filem_rsh_permission_callback(int status,
*/
if( orte_filem_rsh_max_incomming > 0 && orte_filem_rsh_max_incomming < cur_num_incomming + 1) {
/* Add to the waiting list */
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(ASK): Add Peer %s request to waiting list",
ORTE_NAME_PRINT(sender)));
@ -1441,7 +1441,7 @@ static void orte_filem_rsh_permission_callback(int status,
num_allowed = 1;
cur_num_incomming += 1;
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(ASK): Respond to Peer %s with %d",
ORTE_NAME_PRINT(sender), num_allowed));
@ -1450,7 +1450,7 @@ static void orte_filem_rsh_permission_callback(int status,
}
/* Allowing us to start some number of sends */
else if( ORTE_FILEM_RSH_ALLOW == perm_flag ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(ALLOW): Peer %s Allowing me to send",
ORTE_NAME_PRINT(sender)));
@ -1469,7 +1469,7 @@ static void orte_filem_rsh_permission_callback(int status,
*/
for(i = 0; i < num_allowed; ++i ) {
if( 0 >= opal_list_get_size(&work_pool_pending) ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(ALLOW): No more pending sends to peer %s...",
ORTE_NAME_PRINT(sender)));
break;
@ -1489,11 +1489,11 @@ static void orte_filem_rsh_permission_callback(int status,
}
if( item == opal_list_get_end(&work_pool_pending) ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(ALLOW): Unable to find message on the pending list\n"));
}
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(ALLOW): Starting to send to peer %s... (# pending = %d)",
ORTE_NAME_PRINT(sender), (int)opal_list_get_size(&work_pool_pending)));
wp_item->active = true;
@ -1507,7 +1507,7 @@ static void orte_filem_rsh_permission_callback(int status,
}
/* Peer said they are done sending one or more files */
else if( ORTE_FILEM_RSH_DONE == perm_flag ) {
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_output,
OPAL_OUTPUT_VERBOSE((5, orte_filem_base_framework.framework_output,
"filem:rsh: permission_callback(DONE): Peer %s is done sending to me",
ORTE_NAME_PRINT(sender)));

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

@ -10,7 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -103,7 +103,7 @@ static int xcast(orte_jobid_t job,
int rc = ORTE_SUCCESS;
opal_buffer_t *buf;
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:bad:xcast sent to job %s tag %ld",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(job), (long)tag));
@ -172,14 +172,14 @@ static void process_barrier(int fd, short args, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((2, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:bad barrier underway",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
}
static int bad_barrier(orte_grpcomm_collective_t *coll)
{
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:bad entering barrier",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -231,7 +231,7 @@ static void process_allgather(int fd, short args, void *cbdata)
orte_grpcomm_base_pack_collective(buf, ORTE_PROC_MY_NAME->jobid,
gather, ORTE_GRPCOMM_INTERNAL_STG_APP);
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:bad sending collective %d to our daemon",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(int)gather->id));
@ -255,7 +255,7 @@ static void process_allgather(int fd, short args, void *cbdata)
nm = (orte_namelist_t*)item;
buf = OBJ_NEW(opal_buffer_t);
opal_dss.copy_payload(buf, &gather->buffer);
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:bad sending collective %d to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(int)gather->id,
@ -272,14 +272,14 @@ static void process_allgather(int fd, short args, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:bad allgather underway",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
}
static int bad_allgather(orte_grpcomm_collective_t *gather)
{
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:bad entering allgather",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));

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

@ -9,7 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2011-2012 Los Alamos National Security, LLC.
# Copyright (c) 2011-2013 Los Alamos National Security, LLC.
# All rights reserved.
# $COPYRIGHT$
#
@ -22,9 +22,8 @@ headers += \
base/base.h
libmca_grpcomm_la_SOURCES += \
base/grpcomm_base_close.c \
base/grpcomm_base_select.c \
base/grpcomm_base_open.c \
base/grpcomm_base_frame.c \
base/grpcomm_base_modex.c \
base/grpcomm_base_receive.c \
base/grpcomm_base_xcast.c \

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -43,20 +43,19 @@
BEGIN_C_DECLS
/*
* function definitions
* MCA framework
*/
ORTE_DECLSPEC int orte_grpcomm_base_open(void);
ORTE_DECLSPEC int orte_grpcomm_base_select(void);
ORTE_DECLSPEC int orte_grpcomm_base_close(void);
ORTE_DECLSPEC extern mca_base_framework_t orte_grpcomm_base_framework;
/*
* Select an available component.
*/
ORTE_DECLSPEC int orte_grpcomm_base_select(void);
/*
* globals that might be needed
*/
typedef struct {
int output;
bool selected;
opal_list_t components_available;
orte_grpcomm_base_component_t selected_component;
orte_grpcomm_coll_id_t coll_id;
opal_list_t active_colls;
#if OPAL_HAVE_HWLOC

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

@ -1,58 +0,0 @@
/*
* 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$
*/
#include "orte_config.h"
#include <stdio.h>
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "opal/mca/hwloc/hwloc.h"
#include "orte/mca/grpcomm/base/base.h"
int orte_grpcomm_base_close(void)
{
/* If we have a selected component and module, then finalize it */
if (orte_grpcomm_base.selected) {
orte_grpcomm.finalize();
}
/* Close all remaining available components (may be one if this is a
OpenRTE program, or [possibly] multiple if this is ompi_info) */
mca_base_components_close(orte_grpcomm_base.output,
&orte_grpcomm_base.components_available, NULL);
#if OPAL_HAVE_HWLOC
if (NULL != orte_grpcomm_base.working_cpuset) {
hwloc_bitmap_free(orte_grpcomm_base.working_cpuset);
orte_grpcomm_base.working_cpuset = NULL;
}
#endif
/* Close the framework output */
opal_output_close (orte_grpcomm_base.output);
orte_grpcomm_base.output = -1;
/* All done */
return ORTE_SUCCESS;
}

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -44,11 +44,27 @@ orte_grpcomm_base_t orte_grpcomm_base;
orte_grpcomm_base_module_t orte_grpcomm = {0};
static int orte_grpcomm_base_close(void)
{
/* Close the selected component */
if( NULL != orte_grpcomm.finalize ) {
orte_grpcomm.finalize();
}
#if OPAL_HAVE_HWLOC
if (NULL != orte_grpcomm_base.working_cpuset) {
hwloc_bitmap_free(orte_grpcomm_base.working_cpuset);
orte_grpcomm_base.working_cpuset = NULL;
}
#endif
return mca_base_framework_components_close(&orte_grpcomm_base_framework, NULL);
}
/**
* Function for finding and opening either all MCA components, or the one
* that was specifically requested via a MCA parameter.
*/
int orte_grpcomm_base_open(void)
int orte_grpcomm_base_open(mca_base_open_flag_t flags)
{
/* Debugging / verbose output. Always have stream open, with
verbose set by the mca open system... */
@ -62,20 +78,13 @@ int orte_grpcomm_base_open(void)
orte_grpcomm_base.working_cpuset = NULL;
#endif
/* Open up all available components */
if (ORTE_SUCCESS !=
mca_base_components_open("grpcomm", orte_grpcomm_base.output,
mca_grpcomm_base_static_components,
&orte_grpcomm_base.components_available, true)) {
return ORTE_ERROR;
}
/* All done */
return ORTE_SUCCESS;
return mca_base_framework_components_open(&orte_grpcomm_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, grpcomm, NULL, NULL, orte_grpcomm_base_open, orte_grpcomm_base_close,
mca_grpcomm_base_static_components, 0);
orte_grpcomm_collective_t* orte_grpcomm_base_setup_collective(orte_grpcomm_coll_id_t id)
{
opal_list_item_t *item;

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

@ -9,6 +9,8 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -38,8 +40,8 @@ int orte_grpcomm_base_select(void)
/*
* Select the best component
*/
if( OPAL_SUCCESS != mca_base_select("grpcomm", orte_grpcomm_base.output,
&orte_grpcomm_base.components_available,
if( OPAL_SUCCESS != mca_base_select("grpcomm", orte_grpcomm_base_framework.framework_output,
&orte_grpcomm_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
/* This will only happen if no component was selected */
@ -56,8 +58,6 @@ int orte_grpcomm_base_select(void)
goto cleanup;
}
orte_grpcomm_base.selected = true;
cleanup:
return exit_status;
}

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

@ -136,7 +136,7 @@ static int xcast(orte_jobid_t job,
int rc = ORTE_SUCCESS;
opal_buffer_t buf;
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:xcast sent to job %s tag %ld",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(job), (long)tag));
@ -185,7 +185,7 @@ static int hier_barrier(void)
opal_buffer_t buf1, buf2;
int rc;
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:hier entering barrier",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -198,7 +198,7 @@ static int hier_barrier(void)
OBJ_DESTRUCT(&buf1);
OBJ_DESTRUCT(&buf2);
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:hier barrier complete",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -239,7 +239,7 @@ static int hier_allgather(opal_buffer_t *sbuf, opal_buffer_t *rbuf)
orte_namelist_t *nm;
opal_buffer_t tmp_buf;
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:hier entering allgather",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -395,7 +395,7 @@ static int hier_allgather(opal_buffer_t *sbuf, opal_buffer_t *rbuf)
}
}
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:hier allgather completed",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));

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

@ -120,13 +120,13 @@ static int pmi_barrier(orte_grpcomm_collective_t *coll)
{
int rc;
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:pmi entering barrier",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* if I am alone, just execute the callback */
if (1 == orte_process_info.num_procs) {
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:pmi:barrier only one proc",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
coll->active = false;
@ -150,7 +150,7 @@ static int pmi_barrier(orte_grpcomm_collective_t *coll)
}
#endif
OPAL_OUTPUT_VERBOSE((2, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:pmi barrier complete",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* execute the callback */
@ -181,7 +181,7 @@ static int modex(orte_grpcomm_collective_t *coll)
orte_node_rank_t node_rank;
bool bound;
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((1, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:pmi: modex entered",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -234,7 +234,7 @@ static int modex(orte_grpcomm_collective_t *coll)
opal_argv_free(fields);
return rc;
}
OPAL_OUTPUT_VERBOSE((2, orte_grpcomm_base.output,
OPAL_OUTPUT_VERBOSE((2, orte_grpcomm_base_framework.framework_output,
"%s grpcomm:pmi: proc %s oob endpoint %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&name), fields[0]));

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

@ -22,8 +22,7 @@ headers += \
base/iof_base_setup.h
libmca_iof_la_SOURCES += \
base/iof_base_open.c \
base/iof_base_close.c \
base/iof_base_frame.c \
base/iof_base_select.c \
base/iof_base_output.c \
base/iof_base_setup.c

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

@ -54,7 +54,14 @@
BEGIN_C_DECLS
ORTE_DECLSPEC int orte_iof_base_open(void);
/*
* MCA framework
*/
ORTE_DECLSPEC extern mca_base_framework_t orte_iof_base_framework;
/*
* Select an available component.
*/
ORTE_DECLSPEC int orte_iof_base_select(void);
/* track xon/xoff of processes */
typedef struct {
@ -120,10 +127,8 @@ ORTE_DECLSPEC OBJ_CLASS_DECLARATION(orte_iof_write_output_t);
/* the iof globals struct */
struct orte_iof_base_t {
int iof_output;
size_t output_limit;
char *input_files;
opal_list_t iof_components_opened;
orte_iof_sink_t *iof_write_stdout;
orte_iof_sink_t *iof_write_stderr;
};
@ -133,7 +138,7 @@ typedef struct orte_iof_base_t orte_iof_base_t;
#define ORTE_IOF_SINK_DEFINE(snk, nm, fid, tg, wrthndlr, eplist) \
do { \
orte_iof_sink_t *ep; \
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output, \
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output, \
"defining endpt: file %s line %d fd %d",\
__FILE__, __LINE__, (fid))); \
ep = OBJ_NEW(orte_iof_sink_t); \
@ -163,7 +168,7 @@ typedef struct orte_iof_base_t orte_iof_base_t;
#define ORTE_IOF_READ_EVENT(rv, nm, fid, tg, cbfunc, actv) \
do { \
orte_iof_read_event_t *rev; \
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output, \
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output, \
"%s defining read event for %s: %s %d", \
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \
ORTE_NAME_PRINT((nm)), \
@ -186,8 +191,6 @@ typedef struct orte_iof_base_t orte_iof_base_t;
} while(0);
ORTE_DECLSPEC int orte_iof_base_close(void);
ORTE_DECLSPEC int orte_iof_base_select(void);
ORTE_DECLSPEC int orte_iof_base_flush(void);
ORTE_DECLSPEC extern orte_iof_base_t orte_iof_base;

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

@ -1,51 +0,0 @@
/*
* Copyright (c) 2004-2007 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$
*/
#include "orte_config.h"
#include "orte/constants.h"
#include <stdio.h>
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "orte/mca/iof/iof.h"
#include "orte/mca/iof/base/base.h"
int orte_iof_base_close(void)
{
/* finalize the module */
if (NULL != orte_iof.finalize) {
orte_iof.finalize();
}
/* shutdown any remaining opened components */
if (0 != opal_list_get_size(&orte_iof_base.iof_components_opened)) {
mca_base_components_close(orte_iof_base.iof_output,
&orte_iof_base.iof_components_opened, NULL);
}
OBJ_DESTRUCT(&orte_iof_base.iof_components_opened);
/* Close the framework output */
opal_output_close (orte_iof_base.iof_output);
orte_iof_base.iof_output = -1;
return ORTE_SUCCESS;
}

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

@ -102,7 +102,7 @@ static void orte_iof_base_sink_construct(orte_iof_sink_t* ptr)
}
static void orte_iof_base_sink_destruct(orte_iof_sink_t* ptr)
{
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof: closing sink for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&ptr->name)));
@ -126,7 +126,7 @@ static void orte_iof_base_read_event_destruct(orte_iof_read_event_t* rev)
{
opal_event_free(rev->ev);
if (0 <= rev->fd) {
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof: closing fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
rev->fd, ORTE_NAME_PRINT(&rev->name)));
@ -159,7 +159,7 @@ static void orte_iof_base_write_event_destruct(orte_iof_write_event_t* wev)
}
if (2 < wev->fd) {
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof: closing fd %d for write event",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
close(wev->fd);
@ -181,7 +181,7 @@ OBJ_CLASS_INSTANCE(orte_iof_write_output_t,
orte_iof_base_t orte_iof_base;
static int orte_iof_base_register(int flags)
static int orte_iof_base_register(mca_base_register_flag_t flags)
{
/* check for maximum number of pending output messages */
orte_iof_base.output_limit = (size_t)-1;
@ -204,19 +204,26 @@ static int orte_iof_base_register(int flags)
return ORTE_SUCCESS;
}
static int orte_iof_base_close(void)
{
/* Close the selected component */
if (NULL != orte_iof.finalize) {
orte_iof.finalize();
}
return mca_base_framework_components_close(&orte_iof_base_framework, NULL);
}
/**
* Function for finding and opening either all MCA components, or the one
* that was specifically requested via a MCA parameter.
*/
int orte_iof_base_open(void)
static int orte_iof_base_open(mca_base_open_flag_t flags)
{
int rc, xmlfd;
(void) orte_iof_base_register(0);
/* Initialize globals */
OBJ_CONSTRUCT(&orte_iof_base.iof_components_opened, opal_list_t);
if (0 > orte_iof_base.output_limit) {
orte_iof_base.output_limit = INT_MAX;
}
@ -275,18 +282,12 @@ int orte_iof_base_open(void)
* unix text utils).
*/
}
orte_iof_base.iof_output = opal_output_open(NULL);
/* Open up all available components */
if (ORTE_SUCCESS !=
mca_base_components_open("iof", orte_iof_base.iof_output,
mca_iof_base_static_components,
&orte_iof_base.iof_components_opened,
true)) {
return ORTE_ERROR;
}
/* All done */
return ORTE_SUCCESS;
return mca_base_framework_components_open(&orte_iof_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, iof, "ORTE I/O Forwarding",
orte_iof_base_register, orte_iof_base_open, orte_iof_base_close,
mca_iof_base_static_components, 0);

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

@ -57,7 +57,7 @@ int orte_iof_base_write_output(orte_process_name_t *name, orte_iof_tag_t stream,
bool endtagged;
char qprint[10];
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s write:output setting up to write %d bytes to %s for %s on fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
(ORTE_IOF_STDIN & stream) ? "stdin" : ((ORTE_IOF_STDOUT & stream) ? "stdout" : ((ORTE_IOF_STDERR & stream) ? "stderr" : "stddiag")),
@ -91,7 +91,7 @@ int orte_iof_base_write_output(orte_process_name_t *name, orte_iof_tag_t stream,
} else {
/* error - this should never happen */
ORTE_ERROR_LOG(ORTE_ERR_VALUE_OUT_OF_BOUNDS);
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s stream %0x", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), stream));
return ORTE_ERR_VALUE_OUT_OF_BOUNDS;
}
@ -262,7 +262,7 @@ process:
/* is the write event issued? */
if (!channel->pending) {
/* issue it */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s write:output adding write event",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
opal_event_add(channel->ev, 0);
@ -280,7 +280,7 @@ void orte_iof_base_write_handler(int fd, short event, void *cbdata)
orte_iof_write_output_t *output;
int num_written;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s write:handler writing data to %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
wev->fd));

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

@ -42,8 +42,8 @@ int orte_iof_base_select(void)
/*
* Select the best component
*/
if( OPAL_SUCCESS != mca_base_select("iof", orte_iof_base.iof_output,
&orte_iof_base.iof_components_opened,
if( OPAL_SUCCESS != mca_base_select("iof", orte_iof_base_framework.framework_output,
&orte_iof_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
/* it is okay to not find a module if we are a CM process */

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

@ -154,7 +154,7 @@ static int hnp_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_tag,
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:hnp pushing fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fd, ORTE_NAME_PRINT(dst_name)));
@ -164,7 +164,7 @@ static int hnp_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_tag,
* and activate the read event in case it fires right away
*/
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -290,7 +290,7 @@ static int hnp_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_tag,
*/
if (0 != fd) {
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -356,7 +356,7 @@ static int hnp_pull(const orte_process_name_t* dst_name,
return ORTE_ERR_NOT_SUPPORTED;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:hnp pulling fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fd, ORTE_NAME_PRINT(dst_name)));
@ -365,7 +365,7 @@ static int hnp_pull(const orte_process_name_t* dst_name,
* the sink in case it fires right away
*/
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -484,7 +484,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
orte_iof_write_output_t *output;
int num_written;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s hnp:stdin:write:handler writing data to %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
wev->fd));
@ -504,7 +504,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
/* this indicates we are to close the fd - there is
* nothing to write
*/
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof:hnp closing fd %d on write event due to zero bytes output",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
OBJ_RELEASE(wev);
@ -515,7 +515,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
return;
}
num_written = write(wev->fd, output->data, output->numbytes);
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s hnp:stdin:write:handler wrote %d bytes",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
num_written));
@ -534,14 +534,14 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
* error and abort
*/
OBJ_RELEASE(output);
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof:hnp closing fd %d on write event due to negative bytes written",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
OBJ_RELEASE(wev);
sink->wev = NULL;
return;
} else if (num_written < output->numbytes) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s hnp:stdin:write:handler incomplete write %d - adjusting data",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), num_written));
/* incomplete write - adjust data to avoid duplicate output */
@ -562,7 +562,7 @@ CHECK:
if (NULL != mca_iof_hnp_component.stdinev &&
!orte_abnormal_term_ordered &&
!mca_iof_hnp_component.stdinev->active) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"read event is off - checking if okay to restart"));
/* if we have turned off the read event, check to
* see if the output list has shrunk enough to
@ -576,7 +576,7 @@ CHECK:
*/
if (opal_list_get_size(&wev->outputs) < ORTE_IOF_MAX_INPUT_BUFFERS) {
/* restart the read */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"restarting read event"));
mca_iof_hnp_component.stdinev->active = true;
opal_event_add(mca_iof_hnp_component.stdinev->ev, 0);
@ -593,7 +593,7 @@ orte_iof_hnp_exception_handler(const orte_process_name_t* peer, orte_rml_excepti
{
#if 0
orte_iof_base_endpoint_t *endpoint;
opal_output_verbose(1, orte_iof_base.iof_output,
opal_output_verbose(1, orte_iof_base_framework.framework_output,
"iof svc exception handler! %s\n",
ORTE_NAME_PRINT((orte_process_name_t*)peer));
@ -603,7 +603,7 @@ orte_iof_hnp_exception_handler(const orte_process_name_t* peer, orte_rml_excepti
are recoverable events (no need to abort). */
orte_iof_hnp_sub_delete_all(peer);
orte_iof_hnp_pub_delete_all(peer);
opal_output_verbose(1, orte_iof_base.iof_output, "deleted all pubs and subs\n");
opal_output_verbose(1, orte_iof_base_framework.framework_output, "deleted all pubs and subs\n");
/* Find any streams on any endpoints for this peer and close them */
while (NULL !=
@ -615,5 +615,5 @@ orte_iof_hnp_exception_handler(const orte_process_name_t* peer, orte_rml_excepti
orte_iof_base_endpoint_delete(peer, ORTE_NS_CMP_ALL, ORTE_IOF_ANY);
}
#endif
opal_output_verbose(1, orte_iof_base.iof_output, "done with exception handler\n");
opal_output_verbose(1, orte_iof_base_framework.framework_output, "done with exception handler\n");
}

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

@ -110,7 +110,7 @@ void orte_iof_hnp_read_local_handler(int fd, short event, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:hnp:read handler %s Error on connection:%d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&rev->name), fd));
@ -149,7 +149,7 @@ void orte_iof_hnp_read_local_handler(int fd, short event, void *cbdata)
/* if the daemon is me, then this is a local sink */
if (OPAL_EQUAL == orte_util_compare_name_fields(mask, ORTE_PROC_MY_NAME, &sink->daemon)) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s read %d bytes from stdin - writing to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&rev->name)));
@ -161,13 +161,13 @@ void orte_iof_hnp_read_local_handler(int fd, short event, void *cbdata)
if (ORTE_IOF_MAX_INPUT_BUFFERS < orte_iof_base_write_output(&rev->name, rev->tag, data, numbytes, sink->wev)) {
/* getting too backed up - stop the read event for now if it is still active */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"buffer backed up - holding"));
return;
}
}
} else {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s sending %d bytes from stdin to daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&sink->daemon)));
@ -230,7 +230,7 @@ void orte_iof_hnp_read_local_handler(int fd, short event, void *cbdata)
* In this case, we pass rev->name to indicate who the
* data came from.
*/
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s sending data to tool %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&sink->daemon)));
@ -238,7 +238,7 @@ void orte_iof_hnp_read_local_handler(int fd, short event, void *cbdata)
}
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s read %d bytes from %s of %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
(ORTE_IOF_STDOUT & rev->tag) ? "stdout" : ((ORTE_IOF_STDERR & rev->tag) ? "stderr" : "stddiag"),

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

@ -10,7 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC. All rights
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
@ -96,7 +96,7 @@ void orte_iof_hnp_recv(int status, orte_process_name_t* sender,
/* check to see if a tool has requested something */
if (ORTE_IOF_PULL & stream) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s received pull cmd from remote tool %s for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender),
@ -126,7 +126,7 @@ void orte_iof_hnp_recv(int status, orte_process_name_t* sender,
}
if (ORTE_IOF_CLOSE & stream) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s received close cmd from remote tool %s for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender),
@ -168,7 +168,7 @@ void orte_iof_hnp_recv(int status, orte_process_name_t* sender,
}
/* numbytes will contain the actual #bytes that were sent */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s unpacked %d bytes from remote proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&origin)));

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

@ -124,7 +124,7 @@ static int mrhnp_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_ta
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrhnp pushing fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fd, ORTE_NAME_PRINT(dst_name)));
@ -137,7 +137,7 @@ static int mrhnp_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_ta
* and activate the read event in case it fires right away
*/
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -261,7 +261,7 @@ static int mrhnp_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_ta
*/
if (0 != fd) {
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -332,7 +332,7 @@ static int mrhnp_pull(const orte_process_name_t* dst_name,
return ORTE_ERR_NOT_SUPPORTED;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrhnp pulling fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fd, ORTE_NAME_PRINT(dst_name)));
@ -367,7 +367,7 @@ static int mrhnp_pull(const orte_process_name_t* dst_name,
* the sink in case it fires right away
*/
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -511,7 +511,7 @@ static void mrhnp_complete(const orte_job_t *jdata)
}
}
} else {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s sending close stdin to daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&daemon->name)));
@ -599,7 +599,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
orte_iof_write_output_t *output;
int num_written;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s mrhnp:stdin:write:handler writing data to %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
wev->fd));
@ -619,7 +619,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
/* this indicates we are to close the fd - there is
* nothing to write
*/
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof:mrhnp closing fd %d on write event due to zero bytes output",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
OBJ_RELEASE(wev);
@ -630,7 +630,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
return;
}
num_written = write(wev->fd, output->data, output->numbytes);
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s mrhnp:stdin:write:handler wrote %d bytes",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
num_written));
@ -649,14 +649,14 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
* error and abort
*/
OBJ_RELEASE(output);
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof:mrhnp closing fd %d on write event due to negative bytes written",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
OBJ_RELEASE(wev);
sink->wev = NULL;
return;
} else if (num_written < output->numbytes) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s mrhnp:stdin:write:handler incomplete write %d - adjusting data",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), num_written));
/* incomplete write - adjust data to avoid duplicate output */
@ -677,7 +677,7 @@ CHECK:
if (NULL != mca_iof_mr_hnp_component.stdinev &&
!orte_abnormal_term_ordered &&
!mca_iof_mr_hnp_component.stdinev->active) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"read event is off - checking if okay to restart"));
/* if we have turned off the read event, check to
* see if the output list has shrunk enough to
@ -691,7 +691,7 @@ CHECK:
*/
if (opal_list_get_size(&wev->outputs) < ORTE_IOF_MAX_INPUT_BUFFERS) {
/* restart the read */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"restarting read event"));
mca_iof_mr_hnp_component.stdinev->active = true;
opal_event_add(mca_iof_mr_hnp_component.stdinev->ev, 0);

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

@ -100,7 +100,7 @@ void orte_iof_mrhnp_read_local_handler(int fd, short event, void *cbdata)
/* read up to the fragment size */
numbytes = read(fd, data, sizeof(data));
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrhnp:read handler read %d bytes from %s:%d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&rev->name), fd));
@ -114,7 +114,7 @@ void orte_iof_mrhnp_read_local_handler(int fd, short event, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrhnp:read handler %s Error on connection:%d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&rev->name), fd));
@ -148,7 +148,7 @@ void orte_iof_mrhnp_read_local_handler(int fd, short event, void *cbdata)
continue;
}
jdata = iofjob->jdata;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s read %d bytes from stdin - writing to job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_JOBID_PRINT(jdata->jobid)));
@ -179,7 +179,7 @@ void orte_iof_mrhnp_read_local_handler(int fd, short event, void *cbdata)
if (ORTE_IOF_MAX_INPUT_BUFFERS < orte_iof_base_write_output(&proct->name, ORTE_IOF_STDIN, data, numbytes, proct->sink->wev)) {
/* getting too backed up - stop the read event for now if it is still active */
if (mca_iof_mr_hnp_component.stdinev->active) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"buffer backed up - holding"));
mca_iof_mr_hnp_component.stdinev->active = false;
}
@ -193,7 +193,7 @@ void orte_iof_mrhnp_read_local_handler(int fd, short event, void *cbdata)
}
}
} else {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s sending %d bytes from stdin to daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&daemon->name)));
@ -267,7 +267,7 @@ void orte_iof_mrhnp_read_local_handler(int fd, short event, void *cbdata)
}
}
} else {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s sending %d bytes from stdout of %s to daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&rev->name),
@ -282,7 +282,7 @@ void orte_iof_mrhnp_read_local_handler(int fd, short event, void *cbdata)
}
PROCESS:
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s read %d bytes from %s of %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
(ORTE_IOF_STDOUT & rev->tag) ? "stdout" : ((ORTE_IOF_STDERR & rev->tag) ? "stderr" : "stddiag"),

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

@ -89,7 +89,7 @@ void orte_iof_mrhnp_recv(int status, orte_process_name_t* sender,
}
/* numbytes will contain the actual #bytes that were sent */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s unpacked %d bytes from remote proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&origin)));

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

@ -121,7 +121,7 @@ static int mrorted_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_
int np, numdigs;
orte_ns_cmp_bitmask_t mask;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrorted pushing fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fd, ORTE_NAME_PRINT(dst_name)));
@ -130,7 +130,7 @@ static int mrorted_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_
* and activate the read event in case it fires right away
*/
if ((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -237,7 +237,7 @@ static int mrorted_pull(const orte_process_name_t* dst_name,
return ORTE_ERR_NOT_SUPPORTED;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrorted pulling fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fd, ORTE_NAME_PRINT(dst_name)));
@ -246,7 +246,7 @@ static int mrorted_pull(const orte_process_name_t* dst_name,
* the sink in case it fires right away
*/
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -382,7 +382,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
orte_iof_write_output_t *output;
int num_written;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s mrorted:stdin:write:handler writing data to %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
wev->fd));
@ -395,7 +395,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
/* this indicates we are to close the fd - there is
* nothing to write
*/
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof:mrorted closing fd %d on write event due to zero bytes output",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
OBJ_RELEASE(wev);
@ -403,7 +403,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
return;
}
num_written = write(wev->fd, output->data, output->numbytes);
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s mrorted:stdin:write:handler wrote %d bytes",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
num_written));
@ -420,14 +420,14 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
}
/* otherwise, something bad happened so all we can do is declare an error */
OBJ_RELEASE(output);
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof:mrorted closing fd %d on write event due to negative bytes written",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
OBJ_RELEASE(wev);
sink->wev = NULL;
return;
} else if (num_written < output->numbytes) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s mrorted:stdin:write:handler incomplete write %d - adjusting data",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), num_written));
/* incomplete write - adjust data to avoid duplicate output */

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

@ -58,7 +58,7 @@ void orte_iof_mrorted_read_handler(int fd, short event, void *cbdata)
/* read up to the fragment size */
numbytes = read(fd, data, sizeof(data));
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrorted:read handler read %d bytes from %s, fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
numbytes, ORTE_NAME_PRINT(&rev->name), fd));
@ -72,7 +72,7 @@ void orte_iof_mrorted_read_handler(int fd, short event, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrorted:read handler %s Error on connection:%d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&rev->name), fd));
@ -142,7 +142,7 @@ void orte_iof_mrorted_read_handler(int fd, short event, void *cbdata)
}
}
} else {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s sending %d bytes from stdout of %s to daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&rev->name),
@ -182,7 +182,7 @@ void orte_iof_mrorted_read_handler(int fd, short event, void *cbdata)
}
/* start non-blocking RML call to forward received data */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:mrorted:read handler sending %d bytes to HNP",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes));

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

@ -61,7 +61,7 @@ void orte_iof_mrorted_send_xonxoff(orte_process_name_t *name, orte_iof_tag_t tag
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s sending %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(ORTE_IOF_XON == tag) ? "xon" : "xoff"));
@ -120,7 +120,7 @@ void orte_iof_mrorted_recv(int status, orte_process_name_t* sender,
}
/* numbytes will contain the actual #bytes that were sent */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s unpacked %d bytes for local job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_JOBID_PRINT(jobid)));
@ -133,7 +133,7 @@ void orte_iof_mrorted_recv(int status, orte_process_name_t* sender,
/* is this intended for this jobid? */
if (jobid == sink->name.jobid) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s writing data to local proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&sink->name)));

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

@ -130,7 +130,7 @@ static int orted_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_ta
int np, numdigs;
orte_ns_cmp_bitmask_t mask;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:orted pushing fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fd, ORTE_NAME_PRINT(dst_name)));
@ -139,7 +139,7 @@ static int orted_push(const orte_process_name_t* dst_name, orte_iof_tag_t src_ta
* and activate the read event in case it fires right away
*/
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -246,7 +246,7 @@ static int orted_pull(const orte_process_name_t* dst_name,
return ORTE_ERR_NOT_SUPPORTED;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:orted pulling fd %d for process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
fd, ORTE_NAME_PRINT(dst_name)));
@ -255,7 +255,7 @@ static int orted_pull(const orte_process_name_t* dst_name,
* the sink in case it fires right away
*/
if((flags = fcntl(fd, F_GETFL, 0)) < 0) {
opal_output(orte_iof_base.iof_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
opal_output(orte_iof_base_framework.framework_output, "[%s:%d]: fcntl(F_GETFL) failed with errno=%d\n",
__FILE__, __LINE__, errno);
} else {
flags |= O_NONBLOCK;
@ -341,7 +341,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
orte_iof_write_output_t *output;
int num_written;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s orted:stdin:write:handler writing data to %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
wev->fd));
@ -354,7 +354,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
/* this indicates we are to close the fd - there is
* nothing to write
*/
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof:orted closing fd %d on write event due to zero bytes output",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
OBJ_RELEASE(wev);
@ -362,7 +362,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
return;
}
num_written = write(wev->fd, output->data, output->numbytes);
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s orted:stdin:write:handler wrote %d bytes",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
num_written));
@ -381,7 +381,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
* error and abort
*/
OBJ_RELEASE(output);
OPAL_OUTPUT_VERBOSE((20, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((20, orte_iof_base_framework.framework_output,
"%s iof:orted closing fd %d on write event due to negative bytes written",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), wev->fd));
OBJ_RELEASE(wev);
@ -393,7 +393,7 @@ static void stdin_write_handler(int fd, short event, void *cbdata)
}
return;
} else if (num_written < output->numbytes) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s orted:stdin:write:handler incomplete write %d - adjusting data",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), num_written));
/* incomplete write - adjust data to avoid duplicate output */

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

@ -79,7 +79,7 @@ void orte_iof_orted_read_handler(int fd, short event, void *cbdata)
}
#endif /* !defined(__WINDOWS__) */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:orted:read handler read %d bytes from %s, fd %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
numbytes, ORTE_NAME_PRINT(&rev->name), fd));
@ -93,7 +93,7 @@ void orte_iof_orted_read_handler(int fd, short event, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:orted:read handler %s Error on connection:%d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&rev->name), fd));
@ -155,7 +155,7 @@ void orte_iof_orted_read_handler(int fd, short event, void *cbdata)
}
/* start non-blocking RML call to forward received data */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s iof:orted:read handler sending %d bytes to HNP",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes));

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

@ -65,7 +65,7 @@ void orte_iof_orted_send_xonxoff(orte_iof_tag_t tag)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s sending %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(ORTE_IOF_XON == tag) ? "xon" : "xoff"));
@ -124,7 +124,7 @@ void orte_iof_orted_recv(int status, orte_process_name_t* sender,
}
/* numbytes will contain the actual #bytes that were sent */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s unpacked %d bytes for local proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&target)));
@ -140,7 +140,7 @@ void orte_iof_orted_recv(int status, orte_process_name_t* sender,
/* yes - is this intended for all vpids or this vpid? */
if (ORTE_VPID_WILDCARD == target.vpid ||
sink->name.vpid == target.vpid) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s writing data to local proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&sink->name)));

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

@ -140,7 +140,7 @@ static int tool_pull(const orte_process_name_t* src_name,
orte_process_name_t hnp;
int rc;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s pulling output for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(src_name)));
@ -186,7 +186,7 @@ static int tool_close(const orte_process_name_t* src_name,
orte_process_name_t hnp;
int rc;
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s closing output for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(src_name)));

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

@ -64,7 +64,7 @@ void orte_iof_tool_recv(int status, orte_process_name_t* sender,
* tail end of a handshake to indicate we have closed a stream
*/
if (ORTE_IOF_CLOSE & stream) {
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s received CLOSE handshake from remote hnp %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender)));
@ -87,7 +87,7 @@ void orte_iof_tool_recv(int status, orte_process_name_t* sender,
}
/* numbytes will contain the actual #bytes that were sent */
OPAL_OUTPUT_VERBOSE((1, orte_iof_base.iof_output,
OPAL_OUTPUT_VERBOSE((1, orte_iof_base_framework.framework_output,
"%s unpacked %d bytes from remote proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), numbytes,
ORTE_NAME_PRINT(&origin)));

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

@ -9,7 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2012 Los Alamos National Security, LLC.
# Copyright (c) 2012-2013 Los Alamos National Security, LLC.
# All rights reserved
# $COPYRIGHT$
#
@ -23,8 +23,7 @@ headers += \
base/odls_private.h
libmca_odls_la_SOURCES += \
base/odls_base_open.c \
base/odls_base_close.c \
base/odls_base_frame.c \
base/odls_base_select.c \
base/odls_base_default_fns.c

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

@ -29,51 +29,20 @@
#include "orte_config.h"
#include "opal/mca/mca.h"
#include "opal/class/opal_list.h"
#include "orte/mca/odls/odls.h"
BEGIN_C_DECLS
/**
* Open the odls framework
*/
ORTE_DECLSPEC int orte_odls_base_open(void);
/**
* Struct to hold globals for the odls framework
*/
typedef struct orte_odls_base_t {
/* components are available */
bool components_available;
/* component has been selected */
bool selected;
/** List of opened components */
opal_list_t available_components;
/** selected component */
orte_odls_base_component_t selected_component;
} orte_odls_base_t;
/**
* Global instance of odls-wide framework data
*/
ORTE_DECLSPEC extern orte_odls_base_t orte_odls_base;
/*
* Global functions for MCA overall collective open and close
* MCA framework
*/
/**
* Select an odls module
ORTE_DECLSPEC extern mca_base_framework_t orte_odls_base_framework;
/*
* Select an available component.
*/
ORTE_DECLSPEC int orte_odls_base_select(void);
/**
* Close the odls framework
*/
ORTE_DECLSPEC int orte_odls_base_finalize(void);
ORTE_DECLSPEC int orte_odls_base_close(void);
END_C_DECLS
#endif

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

@ -1,68 +0,0 @@
/*
* Copyright (c) 2004-2008 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) 2011 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include "orte/constants.h"
#include <stdio.h>
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "opal/class/opal_list.h"
#include "opal/class/opal_pointer_array.h"
#include "orte/mca/odls/odls.h"
#include "orte/mca/odls/base/base.h"
#include "orte/mca/odls/base/odls_private.h"
int orte_odls_base_close(void)
{
int i;
orte_proc_t *proc;
opal_list_item_t *item;
/* cleanup ODLS globals */
while (NULL != (item = opal_list_remove_first(&orte_odls_globals.xterm_ranks))) {
OBJ_RELEASE(item);
}
OBJ_DESTRUCT(&orte_odls_globals.xterm_ranks);
/* cleanup the global list of local children and job data */
for (i=0; i < orte_local_children->size; i++) {
if (NULL != (proc = (orte_proc_t*)opal_pointer_array_get_item(orte_local_children, i))) {
OBJ_RELEASE(proc);
}
}
OBJ_RELEASE(orte_local_children);
/* Close all available components (only one in this case) */
mca_base_components_close(orte_odls_globals.output,
&orte_odls_base.available_components, NULL);
/* Close the framework output */
opal_output_close (orte_odls_globals.output);
orte_odls_globals.output = -1;
/* All done */
return ORTE_SUCCESS;
}

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

@ -287,7 +287,7 @@ static int check_local_proc(orte_job_t *jdata, orte_proc_t *pptr)
orte_app_context_t *app;
/* get the vpid of the daemon that is to host this proc */
OPAL_OUTPUT_VERBOSE((20, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((20, orte_odls_base_framework.framework_output,
"%s odls:constructing child list - looking for daemon for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(&pptr->name)));
if (NULL == pptr->node || NULL == pptr->node->daemon) {
@ -299,7 +299,7 @@ static int check_local_proc(orte_job_t *jdata, orte_proc_t *pptr)
return ORTE_ERR_NOT_FOUND;
}
OPAL_OUTPUT_VERBOSE((20, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((20, orte_odls_base_framework.framework_output,
"%s odls:constructing child list - checking proc %s on daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(&pptr->name),
ORTE_VPID_PRINT(host_daemon)));
@ -309,14 +309,14 @@ static int check_local_proc(orte_job_t *jdata, orte_proc_t *pptr)
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((10, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_odls_base_framework.framework_output,
"%s odls:constructing child list - found proc %s for me!",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_NAME_PRINT(&pptr->name)));
/* is this child on our current list of children */
if (!pptr->local_proc) {
/* not on the local list */
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s adding proc %s to my local list",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&pptr->name)));
@ -353,7 +353,7 @@ int orte_odls_base_default_construct_child_list(opal_buffer_t *data,
orte_grpcomm_collective_t *coll;
orte_namelist_t *nm;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:constructing child list",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -396,7 +396,7 @@ int orte_odls_base_default_construct_child_list(opal_buffer_t *data,
goto REPORT_ERROR;
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:construct_child_list unpacking data to launch job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_JOBID_PRINT(*job)));
@ -408,7 +408,7 @@ int orte_odls_base_default_construct_child_list(opal_buffer_t *data,
*/
if (NULL == (jdata = orte_get_job_data_object(*job))) {
/* setup job object for this job */
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:construct_child_list adding new object for job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_JOBID_PRINT(*job)));
jdata = OBJ_NEW(orte_job_t);
@ -516,7 +516,7 @@ int orte_odls_base_default_construct_child_list(opal_buffer_t *data,
ORTE_ERROR_LOG(rc);
goto REPORT_ERROR;
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:construct_child_list unpacking %ld app_contexts",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), (long)jdata->num_apps));
for (j=0; j < jdata->num_apps; j++) {
@ -1199,7 +1199,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
* no limit, so treat it as unlimited here.
*/
if (0 < opal_sys_limits.num_procs) {
OPAL_OUTPUT_VERBOSE((10, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_odls_base_framework.framework_output,
"%s checking limit on num procs %d #children needed %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
opal_sys_limits.num_procs, total_num_local_procs));
@ -1227,7 +1227,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
oversubscribed,
&app->env))) {
OPAL_OUTPUT_VERBOSE((10, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_odls_base_framework.framework_output,
"%s odls:launch:setup_fork failed with error %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_ERROR_NAME(rc)));
@ -1257,7 +1257,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
* to that directory
*/
if (ORTE_SUCCESS != (rc = setup_path(app))) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:launch:setup_path failed with error %s(%d)",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_ERROR_NAME(rc), rc));
@ -1320,7 +1320,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
*/
if (child->alive) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:launch child %s has already been launched",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -1340,7 +1340,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
*/
if (OPAL_EQUAL != opal_dss.compare(&job, &(child->name.jobid), ORTE_JOBID)) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:launch child %s is not in job %s being launched",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name),
@ -1349,7 +1349,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
continue;
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:launch working child %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -1381,7 +1381,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
if (0 < opal_sys_limits.num_files) {
int limit;
limit = 4*total_num_local_procs + 6;
OPAL_OUTPUT_VERBOSE((10, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_odls_base_framework.framework_output,
"%s checking limit on file descriptors %d need %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
opal_sys_limits.num_files, limit));
@ -1514,14 +1514,14 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
app->argv[0] = param;
}
if (5 < opal_output_get_verbosity(orte_odls_globals.output)) {
opal_output(orte_odls_globals.output, "%s odls:launch: spawning child %s",
if (5 < opal_output_get_verbosity(orte_odls_base_framework.framework_output)) {
opal_output(orte_odls_base_framework.framework_output, "%s odls:launch: spawning child %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name));
/* dump what is going to be exec'd */
if (7 < opal_output_get_verbosity(orte_odls_globals.output)) {
opal_dss.dump(orte_odls_globals.output, app, ORTE_APP_CONTEXT);
if (7 < opal_output_get_verbosity(orte_odls_base_framework.framework_output)) {
opal_dss.dump(orte_odls_base_framework.framework_output, app, ORTE_APP_CONTEXT);
}
}
@ -1572,7 +1572,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
chdir(basedir);
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:launch setting waitpids",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -1624,7 +1624,7 @@ int orte_odls_base_default_deliver_message(orte_jobid_t job, opal_buffer_t *buff
continue;
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls: sending message to tag %lu on child %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(unsigned long)tag, ORTE_NAME_PRINT(&child->name)));
@ -1664,7 +1664,7 @@ int orte_odls_base_default_signal_local_procs(const orte_process_name_t *proc, i
int rc, i;
orte_proc_t *child;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls: signaling proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(NULL == proc) ? "NULL" : ORTE_NAME_PRINT(proc)));
@ -1718,7 +1718,7 @@ int orte_odls_base_default_require_sync(orte_process_name_t *proc,
uint8_t flag;
opal_byte_object_t *boptr;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls: require sync on child %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -1731,7 +1731,7 @@ int orte_odls_base_default_require_sync(orte_process_name_t *proc,
/* find this child */
if (OPAL_EQUAL == opal_dss.compare(proc, &child->name, ORTE_NAME)) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls: registering sync on child %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -1750,7 +1750,7 @@ int orte_odls_base_default_require_sync(orte_process_name_t *proc,
/* if the child has registered, then we are "de-registering" the child */
if (child->registered) {
child->deregistered = true;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls: require sync deregistering child %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -1758,7 +1758,7 @@ int orte_odls_base_default_require_sync(orte_process_name_t *proc,
/* otherwise, we are registering the child so
* unpack the contact info from the buffer and store it
*/
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls: require sync registering child %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -1789,7 +1789,7 @@ int orte_odls_base_default_require_sync(orte_process_name_t *proc,
ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND);
goto CLEANUP;
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:sync nidmap requested for job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jobdat->jobid)));
@ -1808,7 +1808,7 @@ int orte_odls_base_default_require_sync(orte_process_name_t *proc,
opal_dss.pack(buffer, &boptr, 1, OPAL_BYTE_OBJECT);
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls: sending sync ack to child %s with %ld bytes of data",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc), (long)buffer->bytes_used));
@ -1821,7 +1821,7 @@ int orte_odls_base_default_require_sync(orte_process_name_t *proc,
}
rc = ORTE_SUCCESS;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls: Finished sending sync ack to child %s (Registering %s)",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc), (registering ? "True" : "False") ));
@ -1849,7 +1849,7 @@ void orte_odls_base_default_report_abort(orte_process_name_t *proc)
opal_buffer_t *buffer;
int rc, i;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s GOT ABORT REPORT FOR %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -1902,14 +1902,14 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
* is already dead. If the latter, then we have a problem as it
* means we are detecting it exiting multiple times
*/
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:wait_local_proc did not find pid %ld in table!",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(long)pid));
return;
}
opal_output_verbose(5, orte_odls_globals.output,
opal_output_verbose(5, orte_odls_base_framework.framework_output,
"%s odls:wait_local_proc child process %s pid %ld terminated",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name), (long)pid);
@ -1918,7 +1918,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
* ensure that its exit state gets reported to avoid hanging
*/
if (!proc->alive) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child %s was already dead",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name)));
@ -1942,7 +1942,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
* so we don't hang
*/
if (ORTE_PROC_STATE_KILLED_BY_CMD == proc->state) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child %s was ordered to die",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name)));
@ -1954,7 +1954,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
/* set the exit status appropriately */
proc->exit_code = WEXITSTATUS(status);
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child %s exit code %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name), proc->exit_code));
@ -1964,7 +1964,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
* via an orte_abort call, so we need to indicate this was
* an "abnormal" termination.
*/
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child %s died by call to abort",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name)));
@ -1982,7 +1982,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
*/
if (0 != proc->exit_code) {
state = ORTE_PROC_STATE_TERM_NON_ZERO;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child process %s terminated normally "
"but with a non-zero exit status - it "
"will be treated as an abnormal termination",
@ -1997,7 +1997,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
* is considered an abnormal termination and treated accordingly
*/
state = ORTE_PROC_STATE_TERM_WO_SYNC;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child process %s terminated normally "
"but did not provide a required finalize sync - it "
"will be treated as an abnormal termination",
@ -2020,7 +2020,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
*/
if (0 != proc->exit_code) {
state = ORTE_PROC_STATE_TERM_NON_ZERO;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child process %s terminated normally "
"but with a non-zero exit status - it "
"will be treated as an abnormal termination",
@ -2028,7 +2028,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
ORTE_NAME_PRINT(&proc->name)));
} else {
state = ORTE_PROC_STATE_TERM_WO_SYNC;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child process %s terminated normally "
"but did not provide a required init sync - it "
"will be treated as an abnormal termination",
@ -2049,7 +2049,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
}
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child process %s terminated %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name),
@ -2070,7 +2070,7 @@ void odls_base_default_wait_local_proc(pid_t pid, int status, void* cbdata)
*/
proc->exit_code = WTERMSIG(status) + 128;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:waitpid_fired child process %s terminated with signal",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name) ));
@ -2096,7 +2096,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
/* if the pointer array is NULL, then just kill everything */
if (NULL == procs) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:kill_local_proc working on WILDCARD",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
OBJ_CONSTRUCT(&procarray, opal_pointer_array_t);
@ -2108,7 +2108,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
procptr = &procarray;
do_cleanup = true;
} else {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:kill_local_proc working on provided array",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
procptr = procs;
@ -2125,7 +2125,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
continue;
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:kill_local_proc checking child process %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -2137,7 +2137,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
if (ORTE_JOBID_WILDCARD != proc->name.jobid &&
proc->name.jobid != child->name.jobid) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:kill_local_proc child %s is not part of job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name),
@ -2151,7 +2151,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
if (ORTE_VPID_WILDCARD != proc->name.vpid &&
proc->name.vpid != child->name.vpid) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:kill_local_proc child %s is not covered by rank %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name),
@ -2164,7 +2164,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
*/
if (!child->alive || 0 == child->pid) {
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:kill_local_proc child %s is not alive",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -2211,14 +2211,14 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
If it is in a stopped state and we do not first change it to
running, then SIGTERM will not get delivered. Ignore return
value. */
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s SENDING SIGCONT TO %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
kill_local(child->pid, SIGCONT);
/* Send a sigterm to the process before sigkill to be nice */
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s SENDING SIGTERM TO %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -2235,7 +2235,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
*/
if (!child_died(child)) {
/* if it still isn't dead, try killing it one more time */
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s SENDING SIGKILL TO %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -2247,7 +2247,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
* It does this to avoid a race condition, per documentation
* in odls_default_module.c.
*/
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s SENDING FORCE SIGKILL TO %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -2259,7 +2259,7 @@ int orte_odls_base_default_kill_local_procs(opal_pointer_array_t *procs,
"orte-odls-base:could-not-kill",
true, orte_process_info.nodename, child->pid);
} else
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:kill_local_proc child %s killed",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -2301,7 +2301,7 @@ int orte_odls_base_get_proc_stats(opal_buffer_t *answer,
opal_pstats_t stats, *statsptr;
int i, j;
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:get_proc_stats for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(proc)));
@ -2357,7 +2357,7 @@ int orte_odls_base_default_restart_proc(orte_proc_t *child,
orte_job_t *jobdat;
char basedir[MAXPATHLEN];
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:restart_proc for proc %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name)));
@ -2398,7 +2398,7 @@ int orte_odls_base_default_restart_proc(orte_proc_t *child,
goto CLEANUP;
}
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s restarting app %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), app->app));
@ -2408,7 +2408,7 @@ int orte_odls_base_default_restart_proc(orte_proc_t *child,
}
CLEANUP:
OPAL_OUTPUT_VERBOSE((5, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_odls_base_framework.framework_output,
"%s odls:restart of proc %s %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&child->name),

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

@ -64,10 +64,9 @@ orte_odls_base_module_t orte_odls;
/*
* Framework global variables
*/
orte_odls_base_t orte_odls_base;
orte_odls_globals_t orte_odls_globals;
static int orte_odls_base_register(int flags)
static int orte_odls_base_register(mca_base_register_flag_t flags)
{
orte_odls_globals.timeout_before_sigkill = 1;
(void) mca_base_var_register("orte", "odls", "base", "sigkill_timeout",
@ -80,23 +79,40 @@ static int orte_odls_base_register(int flags)
return ORTE_SUCCESS;
}
static int orte_odls_base_close(void)
{
int i;
orte_proc_t *proc;
opal_list_item_t *item;
/* cleanup ODLS globals */
while (NULL != (item = opal_list_remove_first(&orte_odls_globals.xterm_ranks))) {
OBJ_RELEASE(item);
}
OBJ_DESTRUCT(&orte_odls_globals.xterm_ranks);
/* cleanup the global list of local children and job data */
for (i=0; i < orte_local_children->size; i++) {
if (NULL != (proc = (orte_proc_t*)opal_pointer_array_get_item(orte_local_children, i))) {
OBJ_RELEASE(proc);
}
}
OBJ_RELEASE(orte_local_children);
return mca_base_framework_components_close(&orte_odls_base_framework, NULL);
}
/**
* Function for finding and opening either all MCA components, or the one
* that was specifically requested via a MCA parameter.
*/
int orte_odls_base_open(void)
static int orte_odls_base_open(mca_base_open_flag_t flags)
{
char **ranks=NULL, *tmp;
int rc, i, rank;
orte_namelist_t *nm;
bool xterm_hold;
(void) orte_odls_base_register(0);
/* Debugging / verbose output. Always have stream open, with
verbose set by the mca open system... */
orte_odls_globals.output = opal_output_open(NULL);
/* initialize the global array of local children */
orte_local_children = OBJ_NEW(opal_pointer_array_t);
if (OPAL_SUCCESS != (rc = opal_pointer_array_init(orte_local_children,
@ -158,27 +174,14 @@ int orte_odls_base_open(void)
opal_argv_append_nosize(&orte_odls_globals.xtermcmd, "-e");
}
/* Open up all available components */
if (ORTE_SUCCESS !=
mca_base_components_open("odls", orte_odls_globals.output,
mca_odls_base_static_components,
&orte_odls_base.available_components, true)) {
return ORTE_ERROR;
}
/* are there components available for use ? -
* orte_odls_base.available_components is always initialized */
if(0 < opal_list_get_size(&(orte_odls_base.available_components))) {
orte_odls_base.components_available = true;
} else {
orte_odls_base.components_available = false;
}
/* All done */
return ORTE_SUCCESS;
/* Open up all available components */
return mca_base_framework_components_open(&orte_odls_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, odls, "ORTE Daemon Launch Subsystem",
orte_odls_base_register, orte_odls_base_open, orte_odls_base_close,
mca_odls_base_static_components, 0);
static void launch_local_const(orte_odls_launch_local_t *ptr)
{
ptr->ev = opal_event_alloc();

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

@ -36,17 +36,11 @@ int orte_odls_base_select(void)
orte_odls_base_component_t *best_component = NULL;
orte_odls_base_module_t *best_module = NULL;
orte_odls_base.selected = false;
if (!orte_odls_base.components_available) {
return ORTE_SUCCESS;
}
/*
* Select the best component
*/
if( OPAL_SUCCESS != mca_base_select("odls", orte_odls_globals.output,
&orte_odls_base.available_components,
if( OPAL_SUCCESS != mca_base_select("odls", orte_odls_base_framework.framework_output,
&orte_odls_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
/* This will only happen if no component was selected */
@ -55,8 +49,6 @@ int orte_odls_base_select(void)
/* Save the winner */
orte_odls = *best_module;
orte_odls_base.selected_component = *best_component;
orte_odls_base.selected = true;
return ORTE_SUCCESS;
}

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

@ -13,7 +13,7 @@
* Copyright (c) 2007 Evergrid, Inc. All rights reserved.
* Copyright (c) 2008-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2010 IBM Corporation. All rights reserved.
* Copyright (c) 2011-2012 Los Alamos National Security, LLC. All rights
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. All rights
* reserved.
*
* $COPYRIGHT$
@ -200,7 +200,7 @@ static bool odls_default_child_died(orte_proc_t *child)
do {
ret = waitpid(child->pid, &child->exit_code, WNOHANG);
if (child->pid == ret) {
OPAL_OUTPUT_VERBOSE((2, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((2, orte_odls_base_framework.framework_output,
"%s odls:default:WAITPID INDICATES PROC %d IS DEAD",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), (int)(child->pid)));
/* It died -- return success */
@ -225,7 +225,7 @@ static bool odls_default_child_died(orte_proc_t *child)
} else if (-1 == ret && ECHILD == errno) {
/* The pid no longer exists, so we'll call this "good
enough for government work" */
OPAL_OUTPUT_VERBOSE((2, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((2, orte_odls_base_framework.framework_output,
"%s odls:default:WAITPID INDICATES PID %d NO LONGER EXISTS",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), (int)(child->pid)));
return true;
@ -252,13 +252,13 @@ static int odls_default_kill_local(pid_t pid, int signum)
}
if (0 != kill(pid, signum)) {
if (ESRCH != errno) {
OPAL_OUTPUT_VERBOSE((2, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((2, orte_odls_base_framework.framework_output,
"%s odls:default:SENT KILL %d TO PID %d GOT ERRNO %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), signum, (int)pid, errno));
return errno;
}
}
OPAL_OUTPUT_VERBOSE((2, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((2, orte_odls_base_framework.framework_output,
"%s odls:default:SENT KILL %d TO PID %d SUCCESS",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), signum, (int)pid));
return 0;
@ -613,7 +613,7 @@ static int do_child(orte_app_context_t* context,
/* Exec the new executable */
if (10 < opal_output_get_verbosity(orte_odls_globals.output)) {
if (10 < opal_output_get_verbosity(orte_odls_base_framework.framework_output)) {
int jout;
opal_output(0, "%s STARTING %s", ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), context->app);
for (jout=0; NULL != context->argv[jout]; jout++) {
@ -851,7 +851,7 @@ int orte_odls_default_launch_local_procs(opal_buffer_t *data)
/* construct the list of children we are to launch */
if (ORTE_SUCCESS != (rc = orte_odls_base_default_construct_child_list(data, &job))) {
OPAL_OUTPUT_VERBOSE((2, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((2, orte_odls_base_framework.framework_output,
"%s odls:default:launch:local failed to construct child list on error %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_ERROR_NAME(rc)));
return rc;
@ -872,7 +872,7 @@ static int send_signal(pid_t pid, int signal)
{
int rc = ORTE_SUCCESS;
OPAL_OUTPUT_VERBOSE((1, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((1, orte_odls_base_framework.framework_output,
"%s sending signal %d to pid %ld",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
signal, (long)pid));
@ -922,7 +922,7 @@ static int orte_odls_default_restart_proc(orte_proc_t *child)
/* restart the local proc */
if (ORTE_SUCCESS != (rc = orte_odls_base_default_restart_proc(child, odls_default_fork_local_proc))) {
OPAL_OUTPUT_VERBOSE((2, orte_odls_globals.output,
OPAL_OUTPUT_VERBOSE((2, orte_odls_base_framework.framework_output,
"%s odls:default:restart_proc failed to launch on error %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), ORTE_ERROR_NAME(rc)));
}

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

@ -9,6 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -20,6 +21,5 @@ headers += \
base/base.h
libmca_oob_la_SOURCES += \
base/oob_base_open.c \
base/oob_base_close.c \
base/oob_base_frame.c \
base/oob_base_init.c

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

@ -42,62 +42,22 @@
BEGIN_C_DECLS
ORTE_DECLSPEC int mca_oob_base_open(void);
/*
* global flag for use in timing tests
* MCA framework
*/
ORTE_DECLSPEC extern int mca_oob_base_output;
/*
* Flag indicating if this framework has been opened
*/
ORTE_DECLSPEC extern bool orte_oob_base_already_opened;
/*
* OOB API
*/
/*
* Non-blocking versions of send/recv.
*/
/**
* associate a component and a module that belongs to it
*/
struct mca_oob_base_info_t {
opal_list_item_t super;
mca_oob_base_component_t *oob_component;
mca_oob_t *oob_module;
};
/**
* Convenience Typedef
*/
typedef struct mca_oob_base_info_t mca_oob_base_info_t;
/**
* declare the association structure as a class
*/
ORTE_DECLSPEC OBJ_CLASS_DECLARATION(mca_oob_base_info_t);
ORTE_DECLSPEC extern mca_base_framework_t orte_oob_base_framework;
/*
* Global functions for MCA overall collective open and close
*/
ORTE_DECLSPEC int mca_oob_base_init(void);
ORTE_DECLSPEC int mca_oob_base_module_init(void);
ORTE_DECLSPEC int mca_oob_base_close(void);
/*
* Global struct holding the selected module's function pointers
*/
ORTE_DECLSPEC extern int mca_oob_base_output;
extern char* mca_oob_base_include;
extern char* mca_oob_base_exclude;
ORTE_DECLSPEC extern opal_list_t mca_oob_base_components;
ORTE_DECLSPEC extern opal_list_t mca_oob_base_modules;
END_C_DECLS
#endif

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

@ -1,70 +0,0 @@
/*
* 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) 2007 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include "orte/constants.h"
#include <stdio.h>
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "orte/mca/oob/oob.h"
#include "orte/mca/oob/base/base.h"
int mca_oob_base_close(void)
{
opal_list_item_t* item;
/* Sanity check. This may be able to be removed when the rml/oob
interface is re-worked (the current infrastructure may invoke
this function twice: once as a standalone, and once via the rml
oob component). */
if (!orte_oob_base_already_opened) {
return ORTE_SUCCESS;
}
/* Finalize all the oob modules and free their list items */
for (item = opal_list_remove_first(&mca_oob_base_modules);
item != NULL;
item = opal_list_remove_first(&mca_oob_base_modules)) {
mca_oob_base_info_t* base = (mca_oob_base_info_t *) item;
base->oob_module->oob_fini();
OBJ_RELEASE(base);
}
/* Close all remaining available modules (may be one if this is a
OMPI RTE program, or [possibly] multiple if this is ompi_info) */
mca_base_components_close(mca_oob_base_output, &mca_oob_base_components, NULL);
OBJ_DESTRUCT(&mca_oob_base_modules);
OBJ_DESTRUCT(&mca_oob_base_components);
/* Close the framework output */
opal_output_close (mca_oob_base_output);
mca_oob_base_output = -1;
/* All done */
orte_oob_base_already_opened = false;
return ORTE_SUCCESS;
}

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

@ -41,44 +41,25 @@
* Global variables
*/
mca_oob_t mca_oob;
int mca_oob_base_output = -1;
opal_list_t mca_oob_base_components;
opal_list_t mca_oob_base_modules;
bool orte_oob_base_already_opened = false;
/**
* Function for finding and opening either all MCA components, or the one
* that was specifically requested via a MCA parameter.
*/
int mca_oob_base_open(void)
static int orte_oob_base_close(void)
{
/* Sanity check. This may be able to be removed when the rml/oob
interface is re-worked (the current infrastructure may invoke
this function twice: once as a standalone, and once via the rml
oob component). */
if (orte_oob_base_already_opened) {
return ORTE_SUCCESS;
if (NULL != mca_oob.oob_fini) {
mca_oob.oob_fini();
}
/* register parameters */
mca_oob_base_output = opal_output_open(NULL);
/* Open up all available components */
OBJ_CONSTRUCT(&mca_oob_base_components, opal_list_t);
OBJ_CONSTRUCT(&mca_oob_base_modules, opal_list_t);
if (ORTE_SUCCESS !=
mca_base_components_open("oob", mca_oob_base_output,
mca_oob_base_static_components,
&mca_oob_base_components, true)) {
return ORTE_ERROR;
}
/* All done */
orte_oob_base_already_opened = true;
return ORTE_SUCCESS;
return mca_base_framework_components_close(&orte_oob_base_framework, NULL);
}
/**
* Function for finding and opening either all MCA components,
* or the one that was specifically requested via a MCA parameter.
*/
static int orte_oob_base_open(mca_base_open_flag_t flags)
{
/* Open up all available components */
return mca_base_framework_components_open(&orte_oob_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, oob, NULL, NULL, orte_oob_base_open, orte_oob_base_close,
mca_oob_base_static_components, 0);

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

@ -10,7 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC. All rights
* Copyright (c) 2012-2013 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
@ -41,13 +41,6 @@ OBJ_CLASS_INSTANCE(
NULL
);
OBJ_CLASS_INSTANCE(
mca_oob_base_info_t,
opal_list_item_t,
NULL,
NULL
);
/**
* Function for selecting one module from all those that are
@ -59,71 +52,51 @@ int mca_oob_base_init(void)
{
opal_list_item_t *item;
mca_base_component_list_item_t *cli;
mca_oob_base_component_t *component, *s_component = NULL;
mca_oob_base_component_t *component, *s_component;
mca_oob_t *module;
mca_oob_t *s_module = NULL;
int s_priority = -1;
/* Traverse the list of available modules; call their init functions. */
for (item = opal_list_get_first(&mca_oob_base_components);
item != opal_list_get_end(&mca_oob_base_components);
item = opal_list_get_next(item)) {
mca_oob_base_info_t *inited;
for (item = opal_list_get_first(&orte_oob_base_framework.framework_components);
item != opal_list_get_end(&orte_oob_base_framework.framework_components);
item = opal_list_get_next(item)) {
cli = (mca_base_component_list_item_t *) item;
component = (mca_oob_base_component_t *) cli->cli_component;
if (NULL == component->oob_init) {
opal_output_verbose(10, mca_oob_base_output, "mca_oob_base_init: no init function; ignoring component");
opal_output_verbose(10, orte_oob_base_framework.framework_output,
"mca_oob_base_init: no init function; ignoring component");
} else {
int priority = -1;
module = component->oob_init(&priority);
if (NULL != module) {
inited = OBJ_NEW(mca_oob_base_info_t);
inited->oob_component = component;
inited->oob_module = module;
opal_list_append(&mca_oob_base_modules, &inited->super);
/* setup highest priority oob channel */
if(priority > s_priority) {
s_priority = priority;
if (priority > s_priority) {
s_module = module;
s_priority = priority;
s_component = component;
} else {
if (NULL != module->oob_fini) {
module->oob_fini();
}
}
}
}
}
/* set the global variable to point to the first initialize module */
if (s_module == NULL) {
opal_output_verbose(10, mca_oob_base_output, "mca_oob_base_init: no OOB modules available\n");
opal_output_verbose(10, orte_oob_base_framework.framework_output,
"mca_oob_base_init: no OOB modules available\n");
/* the oob modules will have printed out an error msg - so be silent here */
return ORTE_ERR_SILENT;
}
mca_oob = *s_module;
mca_oob = *s_module;
/* record the name of the selected component */
orte_selected_oob_component = strdup(s_component->oob_base.mca_component_name);
opal_output_verbose(10, mca_oob_base_output, "mca_oob_base_init: %s module selected\n", orte_selected_oob_component);
return ORTE_SUCCESS;
orte_selected_oob_component = strdup(s_component->oob_base.mca_component_name);
opal_output_verbose(10, orte_oob_base_framework.framework_output,
"mca_oob_base_init: %s module selected\n",
s_component->oob_base.mca_component_name);
return ORTE_SUCCESS;
}
/**
* Called to request the selected oob components to
* initialize their connections to the HNP (if not an HNP), or
* to setup a listener for incoming connections (if an HNP)
*/
int mca_oob_base_module_init(void)
{
opal_list_item_t* item;
for (item = opal_list_get_first(&mca_oob_base_modules);
item != opal_list_get_end(&mca_oob_base_modules);
item = opal_list_get_next(item)) {
mca_oob_base_info_t* base = (mca_oob_base_info_t *) item;
if (NULL != base->oob_module->oob_init)
base->oob_module->oob_init();
}
return ORTE_SUCCESS;
}

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

@ -230,7 +230,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
* will trigger the daemons_reported event and cause the
* job to move to the following step
*/
OPAL_OUTPUT_VERBOSE((1, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,
"%s plm:alps: no new daemons to launch",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
state->jdata->state = ORTE_JOB_STATE_DAEMONS_LAUNCHED;
@ -389,9 +389,9 @@ static void launch_daemons(int fd, short args, void *cbdata)
/* setup environment */
env = opal_argv_copy(orte_launch_environ);
if (0 < opal_output_get_verbosity(orte_plm_globals.output)) {
if (0 < opal_output_get_verbosity(orte_plm_base_framework.framework_output)) {
param = opal_argv_join(argv, ' ');
OPAL_OUTPUT_VERBOSE((1, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,
"%s plm:alps: final top-level argv:\n\t%s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(NULL == param) ? "NULL" : param));

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

@ -22,8 +22,7 @@ headers += \
base/plm_private.h
libmca_plm_la_SOURCES += \
base/plm_base_open.c \
base/plm_base_close.c \
base/plm_base_frame.c \
base/plm_base_select.c \
base/plm_base_receive.c \
base/plm_base_launch_support.c \

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

@ -35,44 +35,15 @@
BEGIN_C_DECLS
/**
* Open the plm framework
*/
ORTE_DECLSPEC int orte_plm_base_open(void);
/**
* Struct to hold data for public access
*/
typedef struct orte_plm_base_t {
/** List of opened components */
opal_list_t available_components;
/** indicate a component has been selected */
bool selected;
/** selected component */
orte_plm_base_component_t selected_component;
} orte_plm_base_t;
/**
* Global instance of publicly-accessible PLM framework data
*/
ORTE_DECLSPEC extern orte_plm_base_t orte_plm_base;
/*
* Global functions for MCA overall collective open and close
* MCA framework
*/
/**
* Select a plm module
ORTE_DECLSPEC extern mca_base_framework_t orte_plm_base_framework;
/*
* Select an available component.
*/
ORTE_DECLSPEC int orte_plm_base_select(void);
/**
* Close the plm framework
*/
ORTE_DECLSPEC int orte_plm_base_finalize(void);
ORTE_DECLSPEC int orte_plm_base_close(void);
/**
* Functions that other frameworks may need to call directly
* Specifically, the ODLS needs to access some of these

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

@ -1,72 +0,0 @@
/*
* 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) 2011 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include "orte/constants.h"
#include <stdio.h>
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "opal/util/argv.h"
#include "orte/util/proc_info.h"
#include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/plm/base/base.h"
#include "orte/mca/plm/base/plm_private.h"
int orte_plm_base_finalize(void)
{
int rc;
/* Finalize the selected module */
orte_plm.finalize();
/* if we are the HNP, then stop our receive */
if (ORTE_PROC_IS_HNP) {
if (ORTE_SUCCESS != (rc = orte_plm_base_comm_stop())) {
ORTE_ERROR_LOG(rc);
return rc;
}
}
/* Close the framework output */
opal_output_close (orte_plm_globals.output);
orte_plm_globals.output = -1;
return ORTE_SUCCESS;
}
int orte_plm_base_close(void)
{
/* finalize selected module */
if (orte_plm_base.selected) {
orte_plm.finalize();
}
/* Close all open components */
mca_base_components_close(orte_plm_globals.output,
&orte_plm_base.available_components, NULL);
OBJ_DESTRUCT(&orte_plm_base.available_components);
return ORTE_SUCCESS;
}

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -26,7 +26,7 @@
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/plm/plm.h"
#include "orte/mca/plm/base/plm_private.h"
#include "orte/mca/plm/base/base.h"
@ -39,11 +39,6 @@
#include "orte/mca/plm/base/static-components.h"
/*
* Global public variables
*/
orte_plm_base_t orte_plm_base;
/*
* Global variables for use within PLM frameworks
*/
@ -65,35 +60,41 @@ orte_plm_base_module_t orte_plm = {
};
/**
* Function for finding and opening either all MCA modules, or the one
* that was specifically requested via a MCA parameter.
*/
int orte_plm_base_open(void)
static int orte_plm_base_close(void)
{
/* Debugging / verbose output. Always have stream open, with
verbose set by the mca open system... */
orte_plm_globals.output = opal_output_open(NULL);
/* init selected to be false */
orte_plm_base.selected = false;
int rc;
/* Close the selected component */
if( NULL != orte_plm.finalize ) {
orte_plm.finalize();
}
/* if we are the HNP, then stop our receive */
if (ORTE_PROC_IS_HNP) {
if (ORTE_SUCCESS != (rc = orte_plm_base_comm_stop())) {
ORTE_ERROR_LOG(rc);
return rc;
}
}
return mca_base_framework_components_close(&orte_plm_base_framework, NULL);
}
/**
* Function for finding and opening either all MCA components,
* or the one that was specifically requested via a MCA parameter.
*/
static int orte_plm_base_open(mca_base_open_flag_t flags)
{
/* init the next jobid */
orte_plm_globals.next_jobid = 1;
/* default to assigning daemons to nodes at launch */
orte_plm_globals.daemon_nodes_assigned_at_launch = true;
/* Open up all the components that we can find */
if (ORTE_SUCCESS !=
mca_base_components_open("plm", orte_plm_globals.output,
mca_plm_base_static_components,
&orte_plm_base.available_components, true)) {
return ORTE_ERROR;
}
/* All done */
return ORTE_SUCCESS;
/* Open up all available components */
return mca_base_framework_components_open(&orte_plm_base_framework, flags);
}
MCA_BASE_FRAMEWORK_DECLARE(orte, plm, NULL, NULL, orte_plm_base_open, orte_plm_base_close,
mca_plm_base_static_components, 0);

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

@ -45,7 +45,7 @@ int orte_plm_base_set_hnp_name(void)
bias = (uint32_t)orte_process_info.pid;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"plm:base:set_hnp_name: initial bias %ld nodename hash %lu",
(long)bias, (unsigned long)hash32));
@ -55,7 +55,7 @@ int orte_plm_base_set_hnp_name(void)
/* now compress to 16-bits */
jobfam = (uint16_t)(((0x0000ffff & (0xffff0000 & hash32) >> 16)) ^ (0x0000ffff & hash32));
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"plm:base:set_hnp_name: final jobfam %lu",
(unsigned long)jobfam));

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

@ -247,7 +247,7 @@ void orte_plm_base_setup_job(int fd, short args, void *cbdata)
char *bar1_par, *bar1_val;
char *bar2_par, *bar2_val;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_job",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -447,7 +447,7 @@ void orte_plm_base_launch_apps(int fd, short args, void *cbdata)
/* update job state */
caddy->jdata->state = caddy->job_state;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:launch_apps for job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid)));
@ -518,7 +518,7 @@ void orte_plm_base_post_launch(int fd, short args, void *cbdata)
caddy->jdata->state = caddy->job_state;
/* complete wiring up the iof */
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:launch wiring up iof for job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid)));
@ -552,12 +552,12 @@ void orte_plm_base_registered(int fd, short args, void *cbdata)
/* convenience */
jdata = caddy->jdata;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:launch registered event",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
if (ORTE_JOB_STATE_REGISTERED != caddy->job_state) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:launch job %s not registered - state %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid),
@ -571,7 +571,7 @@ void orte_plm_base_registered(int fd, short args, void *cbdata)
/* if this isn't a dynamic spawn, just cleanup */
if (ORTE_JOBID_INVALID == jdata->originator.jobid) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:launch job %s is not a dynamic spawn",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid)));
@ -592,7 +592,7 @@ void orte_plm_base_registered(int fd, short args, void *cbdata)
OBJ_RELEASE(caddy);
return;
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:launch sending dyn release of job %s to %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jdata->jobid),
@ -652,7 +652,7 @@ void orte_plm_base_daemon_callback(int status, orte_process_name_t* sender,
goto CLEANUP;
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_report_launch from daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&dname)));
@ -683,14 +683,14 @@ void orte_plm_base_daemon_callback(int status, orte_process_name_t* sender,
}
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_report_launch from daemon %s on node %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&dname), nodename));
/* look this node up, if necessary */
if (!orte_plm_globals.daemon_nodes_assigned_at_launch) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_report_launch attempting to assign daemon %s to node %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&dname), nodename));
@ -723,7 +723,7 @@ void orte_plm_base_daemon_callback(int status, orte_process_name_t* sender,
daemon->node = node;
daemon->nodename = node->name;
OBJ_RETAIN(node);
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_report_launch assigning daemon %s to node %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&daemon->name), node->name));
@ -786,10 +786,10 @@ void orte_plm_base_daemon_callback(int status, orte_process_name_t* sender,
orted_failed_launch = true;
goto CLEANUP;
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s RECEIVED TOPOLOGY FROM NODE %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), nodename));
if (10 < opal_output_get_verbosity(orte_plm_globals.output)) {
if (10 < opal_output_get_verbosity(orte_plm_base_framework.framework_output)) {
opal_dss.dump(0, topo, OPAL_HWLOC_TOPO);
}
/* do we already have this topology from some other node? */
@ -800,7 +800,7 @@ void orte_plm_base_daemon_callback(int status, orte_process_name_t* sender,
}
if (OPAL_EQUAL == opal_dss.compare(topo, t, OPAL_HWLOC_TOPO)) {
/* yes - just point to it */
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s TOPOLOGY MATCHES - DISCARDING",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
found = true;
@ -811,7 +811,7 @@ void orte_plm_base_daemon_callback(int status, orte_process_name_t* sender,
}
if (!found) {
/* nope - add it */
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s NEW TOPOLOGY - ADDING",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -822,7 +822,7 @@ void orte_plm_base_daemon_callback(int status, orte_process_name_t* sender,
#endif
CLEANUP:
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_report_launch %s for daemon %s at contact %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
orted_failed_launch ? "failed" : "completed",
@ -1206,7 +1206,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
int num_nodes;
bool default_hostfile_used;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -1222,7 +1222,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
if (ORTE_JOB_CONTROL_NO_VM & daemons->controls) {
OBJ_CONSTRUCT(&nodes, opal_list_t);
if (NULL == daemons->map) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm creating map",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* this is the first time thru, so the vm is just getting
@ -1240,19 +1240,19 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
}
/* ignore nodes that are marked as do-not-use for this mapping */
if (ORTE_NODE_STATE_DO_NOT_USE == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED NO_USE", node->name));
/* reset the state so it can be used another time */
node->state = ORTE_NODE_STATE_UP;
continue;
}
if (ORTE_NODE_STATE_DOWN == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED DOWN", node->name));
continue;
}
if (ORTE_NODE_STATE_NOT_INCLUDED == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED NO_INCLUDE", node->name));
/* not to be used */
continue;
@ -1270,7 +1270,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
/* if the HNP has some procs, then we are still good */
node = (orte_node_t*)opal_pointer_array_get_item(orte_node_pool, 0);
if (0 < node->num_procs) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm only HNP in use",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
OBJ_DESTRUCT(&nodes);
@ -1288,7 +1288,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
}
if (NULL == daemons->map) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm creating map",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* this is the first time thru, so the vm is just getting
@ -1319,7 +1319,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
* available nodes and "filter" them
*/
if (!orte_managed_allocation) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s setup:vm: working unmanaged allocation",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
default_hostfile_used = false;
@ -1332,7 +1332,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
* them as requested or "soft" locations, then use those nodes
*/
if (!orte_soft_locations && NULL != app->dash_host) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s using dash_host",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
if (ORTE_SUCCESS != (rc = orte_util_add_dash_host_nodes(&tnodes,
@ -1342,7 +1342,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
}
} else if (NULL != app->hostfile) {
/* otherwise, if the app provided a hostfile, then use that */
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s using hostfile %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
app->hostfile));
@ -1354,7 +1354,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
} else if (NULL != orte_default_hostfile) {
if (!default_hostfile_used) {
/* fall back to the default hostfile, if provided */
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s using default hostfile %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
orte_default_hostfile));
@ -1374,7 +1374,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
*/
while (NULL != (item = opal_list_remove_first(&tnodes))) {
nptr = (orte_node_t*)item;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s checking node %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
nptr->name));
@ -1388,25 +1388,25 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
/* have a match - now see if we want this node */
/* ignore nodes that are marked as do-not-use for this mapping */
if (ORTE_NODE_STATE_DO_NOT_USE == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED NO_USE", node->name));
/* reset the state so it can be used another time */
node->state = ORTE_NODE_STATE_UP;
break;
}
if (ORTE_NODE_STATE_DOWN == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED DOWN", node->name));
break;
}
if (ORTE_NODE_STATE_NOT_INCLUDED == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED NO_INCLUDE", node->name));
break;
}
/* if this node is us, ignore it */
if (0 == node->index) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s ignoring myself",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
break;
@ -1423,7 +1423,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
* daemons are to be launched
*/
if (0 == opal_list_get_size(&nodes)) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm only HNP in allocation",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
OBJ_DESTRUCT(&nodes);
@ -1441,19 +1441,19 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
if (NULL != (node = (orte_node_t*)opal_pointer_array_get_item(orte_node_pool, i))) {
/* ignore nodes that are marked as do-not-use for this mapping */
if (ORTE_NODE_STATE_DO_NOT_USE == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED NO_USE", node->name));
/* reset the state so it can be used another time */
node->state = ORTE_NODE_STATE_UP;
continue;
}
if (ORTE_NODE_STATE_DOWN == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED DOWN", node->name));
continue;
}
if (ORTE_NODE_STATE_NOT_INCLUDED == node->state) {
OPAL_OUTPUT_VERBOSE((10, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((10, orte_plm_base_framework.framework_output,
"NODE %s IS MARKED NO_INCLUDE", node->name));
/* not to be used */
continue;
@ -1475,7 +1475,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
* daemons are to be launched
*/
if (0 == opal_list_get_size(&nodes)) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm only HNP in allocation",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
/* cleanup */
@ -1545,7 +1545,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
* daemons are to be launched
*/
if (0 == opal_list_get_size(&nodes)) {
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm only HNP left",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
OBJ_DESTRUCT(&nodes);
@ -1600,7 +1600,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
return ORTE_ERR_OUT_OF_RESOURCE;
}
proc->name.vpid = daemons->num_procs; /* take the next available vpid */
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm add new daemon %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name)));
@ -1610,7 +1610,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
return rc;
}
++daemons->num_procs;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:setup_vm assigning new daemon %s to node %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(&proc->name),

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

@ -58,7 +58,7 @@ static void failed_cmd(int fd, short event, void *cbdata)
/* we get called if an abnormal term
* don't complete in time - just force exit
*/
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_cmd command timed out",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
OBJ_RELEASE(tm);
@ -73,7 +73,7 @@ int orte_plm_base_orted_exit(orte_daemon_cmd_flag_t command)
int rc;
opal_buffer_t *cmd;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_cmd sending orted_exit commands",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -111,7 +111,7 @@ int orte_plm_base_orted_terminate_job(orte_jobid_t jobid)
orte_proc_t proc;
int rc;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_terminate job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(jobid)));
@ -138,7 +138,7 @@ int orte_plm_base_orted_kill_local_procs(opal_pointer_array_t *procs)
int v;
orte_proc_t *proc;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_cmd sending kill_local_procs cmds",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -179,7 +179,7 @@ int orte_plm_base_orted_signal_local_procs(orte_jobid_t job, int32_t signal)
opal_buffer_t cmd;
orte_daemon_cmd_flag_t command=ORTE_DAEMON_SIGNAL_LOCAL_PROCS;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:orted_cmd sending signal_local_procs cmds",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));

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

@ -45,7 +45,7 @@ int orte_plm_proxy_spawn(orte_job_t *jdata)
int rc;
int32_t retval;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:proxy spawn child job",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -76,7 +76,7 @@ int orte_plm_proxy_spawn(orte_job_t *jdata)
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:proxy waiting for response",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));

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

@ -68,7 +68,7 @@ int orte_plm_base_comm_start(void)
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive start comm",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -105,7 +105,7 @@ int orte_plm_base_comm_stop(void)
return ORTE_SUCCESS;
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive stop comm",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -140,7 +140,7 @@ void orte_plm_base_recv(int status, orte_process_name_t* sender,
bool running;
int8_t flag;
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive processing msg",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -152,7 +152,7 @@ void orte_plm_base_recv(int status, orte_process_name_t* sender,
switch (command) {
case ORTE_PLM_LAUNCH_JOB_CMD:
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive job launch command from %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender)));
@ -187,7 +187,7 @@ void orte_plm_base_recv(int status, orte_process_name_t* sender,
child_app->prefix_dir = strdup(app->prefix_dir);
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive adding hosts",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -212,7 +212,7 @@ void orte_plm_base_recv(int status, orte_process_name_t* sender,
}
/* launch it */
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive calling spawn",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
if (ORTE_SUCCESS != (rc = orte_plm.spawn(jdata))) {
@ -221,7 +221,7 @@ void orte_plm_base_recv(int status, orte_process_name_t* sender,
}
break;
ANSWER_LAUNCH:
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive - error on launch: %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), rc));
@ -242,14 +242,14 @@ void orte_plm_base_recv(int status, orte_process_name_t* sender,
break;
case ORTE_PLM_UPDATE_PROC_STATE:
opal_output_verbose(5, orte_plm_globals.output,
opal_output_verbose(5, orte_plm_base_framework.framework_output,
"%s plm:base:receive update proc state command from %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_NAME_PRINT(sender));
count = 1;
while (ORTE_SUCCESS == (rc = opal_dss.unpack(buffer, &job, &count, ORTE_JOBID))) {
opal_output_verbose(5, orte_plm_globals.output,
opal_output_verbose(5, orte_plm_base_framework.framework_output,
"%s plm:base:receive got update_proc_state for job %s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
ORTE_JOBID_PRINT(job));
@ -287,7 +287,7 @@ void orte_plm_base_recv(int status, orte_process_name_t* sender,
goto CLEANUP;
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive got update_proc_state for vpid %lu state %s exit_code %d",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(unsigned long)vpid, orte_proc_state_to_str(state), (int)exit_code));
@ -389,7 +389,7 @@ void orte_plm_base_recv(int status, orte_process_name_t* sender,
ORTE_TERMINATE(ORTE_ERROR_DEFAULT_EXIT_CODE);
}
OPAL_OUTPUT_VERBOSE((5, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:receive done processing commands",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
}

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

@ -9,6 +9,8 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -43,8 +45,8 @@ int orte_plm_base_select(void)
/*
* Select the best component
*/
if( OPAL_SUCCESS != mca_base_select("plm", orte_plm_globals.output,
&orte_plm_base.available_components,
if( OPAL_SUCCESS != mca_base_select("plm", orte_plm_base_framework.framework_output,
&orte_plm_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
/* This will only happen if no component was selected
@ -66,9 +68,7 @@ int orte_plm_base_select(void)
/* Save the winner */
orte_plm = *best_module;
orte_plm_base.selected_component = *best_component;
orte_plm_base.selected = true;
cleanup:
return exit_status;
}

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011 Los Alamos National Security, LLC.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -46,10 +46,10 @@
BEGIN_C_DECLS
ORTE_DECLSPEC extern mca_base_framework_t orte_plm_base_framework;
/* globals for use solely within PLM framework */
typedef struct {
/** Verbose/debug output stream */
int output;
/* next jobid */
uint16_t next_jobid;
/* time when daemons started launch */

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

@ -105,7 +105,7 @@ static int orte_plm_lsf_component_query(mca_base_module_t **module, int *priorit
/* check if lsf is running here */
if (NULL == getenv("LSB_JOBID") || lsb_init("ORTE launcher") < 0) {
/* nope, not here */
opal_output_verbose(10, orte_plm_globals.output,
opal_output_verbose(10, orte_plm_base_framework.framework_output,
"plm:lsf: NOT available for selection");
*module = NULL;
return ORTE_ERROR;

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

@ -196,7 +196,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
return;
}
OPAL_OUTPUT_VERBOSE((1, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,
"%s plm:lsf: launching vm",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -214,7 +214,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
* will trigger the daemons_reported event and cause the
* job to move to the following step
*/
OPAL_OUTPUT_VERBOSE((1, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,
"%s plm:lsf: no new daemons to launch",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
state->jdata->state = ORTE_JOB_STATE_DAEMONS_LAUNCHED;
@ -279,7 +279,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
argv[proc_vpid_index] = strdup(vpid_string);
free(vpid_string);
if (0 < opal_output_get_verbosity(orte_plm_globals.output)) {
if (0 < opal_output_get_verbosity(orte_plm_base_framework.framework_output)) {
param = opal_argv_join(argv, ' ');
if (NULL != param) {
opal_output(0, "plm:lsf: final top-level argv:");
@ -316,7 +316,7 @@ static void launch_daemons(int fd, short args, void *cbdata)
same anyway */
if (NULL == cur_prefix) {
cur_prefix = strdup(app_prefix_dir);
OPAL_OUTPUT_VERBOSE((1, orte_plm_globals.output,
OPAL_OUTPUT_VERBOSE((1, orte_plm_base_framework.framework_output,
"%s plm:lsf: Set prefix:%s",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), cur_prefix));
}

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше