From 9d610a8d7f96805b07d9777ddbe12403663870fa Mon Sep 17 00:00:00 2001 From: Tim Woodall Date: Thu, 9 Sep 2004 14:44:40 +0000 Subject: [PATCH] stubs for schedule (process allocation) service This commit was SVN r2559. --- src/mca/svc/sched/Makefile.am | 11 +++++ src/mca/svc/sched/configure.params | 9 ++++ src/mca/svc/sched/svc_sched.c | 50 +++++++++++++++++++ src/mca/svc/sched/svc_sched.h | 30 ++++++++++++ src/mca/svc/sched/svc_sched_component.c | 64 +++++++++++++++++++++++++ 5 files changed, 164 insertions(+) create mode 100644 src/mca/svc/sched/Makefile.am create mode 100644 src/mca/svc/sched/configure.params create mode 100644 src/mca/svc/sched/svc_sched.c create mode 100644 src/mca/svc/sched/svc_sched.h create mode 100644 src/mca/svc/sched/svc_sched_component.c diff --git a/src/mca/svc/sched/Makefile.am b/src/mca/svc/sched/Makefile.am new file mode 100644 index 0000000000..b865bbdb4f --- /dev/null +++ b/src/mca/svc/sched/Makefile.am @@ -0,0 +1,11 @@ +# +# $HEADER$ +# + +include $(top_ompi_srcdir)/config/Makefile.options + +noinst_LTLIBRARIES = libmca_svc_sched.la +libmca_svc_sched_la_SOURCES = \ + svc_sched.c \ + svc_sched.h \ + svc_sched_component.c diff --git a/src/mca/svc/sched/configure.params b/src/mca/svc/sched/configure.params new file mode 100644 index 0000000000..cb57fc3043 --- /dev/null +++ b/src/mca/svc/sched/configure.params @@ -0,0 +1,9 @@ +# -*- shell-script -*- +# +# $HEADER$ +# + +# Specific to this module + +PARAM_INIT_FILE=svc_sched.c +PARAM_CONFIG_FILES="Makefile" diff --git a/src/mca/svc/sched/svc_sched.c b/src/mca/svc/sched/svc_sched.c new file mode 100644 index 0000000000..43ef84b86a --- /dev/null +++ b/src/mca/svc/sched/svc_sched.c @@ -0,0 +1,50 @@ +#include "ompi_config.h" +#include "mca/oob/oob.h" +#include "mca/oob/base/base.h" +#include "svc_sched.h" + + +mca_svc_base_module_t mca_svc_sched_module = { + mca_svc_sched_module_init, + mca_svc_sched_module_fini +}; + + +/** + * Process an OOB request. + */ + +static void mca_svc_sched_recv( + int status, + ompi_process_name_t* peer, + ompi_buffer_t buffer, + int tag, + void* cbdata) +{ +} + + +/** + * Register a callback to receive OOB requests. + */ + +int mca_svc_sched_module_init(mca_svc_base_module_t* module) +{ + return mca_oob_recv_packed_nb( + MCA_OOB_NAME_ANY, + MCA_OOB_TAG_SCHED, + MCA_OOB_ALLOC, + mca_svc_sched_recv, + NULL); +} + + +/** + * Cleanup + */ + +int mca_svc_sched_module_fini(mca_svc_base_module_t* module) +{ + return OMPI_SUCCESS; +} + diff --git a/src/mca/svc/sched/svc_sched.h b/src/mca/svc/sched/svc_sched.h new file mode 100644 index 0000000000..642c15f7aa --- /dev/null +++ b/src/mca/svc/sched/svc_sched.h @@ -0,0 +1,30 @@ +/* + * $HEADER$ + */ +/** + * @file + */ +#ifndef _MCA_SVC_SCHED_ +#define _MCA_SVC_SCHED_ + +#include "mca/svc/svc.h" + + +/** + * Component open/close/init + */ +int mca_svc_sched_component_open(void); +int mca_svc_sched_component_close(void); +mca_svc_base_module_t* mca_svc_sched_component_init(void); + +/** + * Module init/fini + */ +int mca_svc_sched_module_init(mca_svc_base_module_t*); +int mca_svc_sched_module_fini(mca_svc_base_module_t*); + +extern mca_svc_base_module_t mca_svc_sched_module; +extern mca_svc_base_component_t mca_svc_sched_component; + +#endif + diff --git a/src/mca/svc/sched/svc_sched_component.c b/src/mca/svc/sched/svc_sched_component.c new file mode 100644 index 0000000000..fd370a1f20 --- /dev/null +++ b/src/mca/svc/sched/svc_sched_component.c @@ -0,0 +1,64 @@ +#include "svc_sched.h" +#include "util/proc_info.h" + + +mca_svc_base_component_t mca_svc_sched_component = { + /* First, the mca_base_module_t struct containing meta + information about the module itself */ + { + /* Indicate that we are a pml v1.0.0 module (which also + implies a specific MCA version) */ + + MCA_SVC_BASE_VERSION_1_0_0, + + "sched", /* MCA module name */ + 1, /* MCA module major version */ + 0, /* MCA module minor version */ + 0, /* MCA module release version */ + mca_svc_sched_component_open, /* component open */ + mca_svc_sched_component_close /* component close */ + }, + + /* Next the MCA v1.0.0 module meta data */ + + { + /* Whether the module is checkpointable or not */ + + false + }, + + mca_svc_sched_component_init +}; + + +/** + * + */ + +int mca_svc_sched_component_open(void) +{ + return OMPI_SUCCESS; +} + +/** + * + */ + +mca_svc_base_module_t* mca_svc_sched_component_init(void) +{ + if(ompi_process_info.seed == false) + return NULL; + return &mca_svc_sched_module; +} + + +/** + * + */ + +int mca_svc_sched_component_close(void) +{ + return OMPI_SUCCESS; +} + +