SG_BEGIN_DECL()
-XBT_PUBLIC_DATA(char *) platform_filename;
-
/* Hook for the different tags. All the functions which pointer to are push into here are run when the tag is encountered */
XBT_PUBLIC_DATA(xbt_dynar_t) STag_surfxml_platform_cb_list;
XBT_PUBLIC_DATA(xbt_dynar_t) ETag_surfxml_platform_cb_list;
/* Tell Simgrid we dont wanna use its parser */
surf_parse = console_parse_platform;
surf_parse_reset_callbacks();
- surf_config_models_setup(NULL);
+ surf_config_models_setup();
MSG_create_environment(NULL);
return 0;
}
{
surf_parse = console_parse_platform_wsL07;
surf_parse_reset_callbacks();
- surf_config_models_setup(NULL);
+ surf_config_models_setup();
SD_create_environment(NULL);
return 0;
}
/* Tell Simgrid we dont wanna use surf parser */
surf_parse = console_parse_platform;
surf_parse_reset_callbacks();
- surf_config_models_setup(NULL);
+ surf_config_models_setup();
gras_create_environment(NULL);
return 0;
}
const char *name;
const char *description;
surf_model_t model;
- void (*model_init_preparse) (const char *filename);
+ void (*model_init_preparse) (void);
void (*model_init_postparse) (void);
} s_surf_model_description_t, *surf_model_description_t;
*
* \see surf_workstation_model_init_CLM03()
*/
-XBT_PUBLIC(void) surf_cpu_model_init_Cas01(const char *filename);
+XBT_PUBLIC(void) surf_cpu_model_init_Cas01(void);
/** \brief Initializes the CPU model with trace integration
* \ingroup SURF_models
*
*/
-XBT_PUBLIC(void) surf_cpu_model_init_ti(const char *filename);
+XBT_PUBLIC(void) surf_cpu_model_init_ti(void);
/** \brief Initializes the CPU model with the model Cas01 Improved. This model uses a heap to order the events, decreasing the time complexity to get the minimum next event.
* \ingroup SURF_models
*
* \see surf_workstation_model_init_CLM03()
*/
-XBT_PUBLIC(void) surf_cpu_model_init_Cas01_im(const char *filename);
+XBT_PUBLIC(void) surf_cpu_model_init_Cas01_im(void);
/** \brief The list of all available cpu model models
* \ingroup SURF_models
*
* \see surf_workstation_model_init_SMPI()
*/
-XBT_PUBLIC(void) surf_network_model_init_SMPI(const char *filename);
+XBT_PUBLIC(void) surf_network_model_init_SMPI(void);
/** \brief Initializes the platform with the network model 'LagrangeVelho'
* \ingroup SURF_models
*
* \see surf_workstation_model_init_LegrandVelho()
*/
-XBT_PUBLIC(void) surf_network_model_init_LegrandVelho(const char
- *filename);
+XBT_PUBLIC(void) surf_network_model_init_LegrandVelho(void);
/** \brief Initializes the platform with the network model 'LV08_im'
*
* \see surf_workstation_model_init_LegrandVelho()
*/
-XBT_PUBLIC(void) im_surf_network_model_init_LegrandVelho(const char
- *filename);
+XBT_PUBLIC(void) im_surf_network_model_init_LegrandVelho(void);
/** \brief Initializes the platform with the network model 'Constant'
* \ingroup SURF_models
*
* \see surf_workstation_model_init_compound()
*/
-XBT_PUBLIC(void) surf_network_model_init_Constant(const char *filename);
+XBT_PUBLIC(void) surf_network_model_init_Constant(void);
/** \brief Initializes the platform with the network model CM02
* \ingroup SURF_models
*
* \see surf_workstation_model_init_CLM03()
*/
-XBT_PUBLIC(void) surf_network_model_init_CM02(const char *filename);
+XBT_PUBLIC(void) surf_network_model_init_CM02(void);
/**
* brief initialize the the network model bypassing the XML parser
*
* \see surf_workstation_model_init_GTNETS()
*/
-XBT_PUBLIC(void) surf_network_model_init_GTNETS(const char *filename);
+XBT_PUBLIC(void) surf_network_model_init_GbTNETS(void);
#endif
#ifdef HAVE_NS3
*
* \see surf_workstation_model_init_NS3()
*/
-XBT_PUBLIC(void) surf_network_model_init_NS3(const char *filename);
+XBT_PUBLIC(void) surf_network_model_init_NS3(void);
XBT_PUBLIC(void) parse_ns3_add_host(void);
XBT_PUBLIC(void) parse_ns3_add_router(void);
* Call this function only if you plan using surf_workstation_model_init_compound.
*
*/
-XBT_PUBLIC(void) surf_network_model_init_Reno(const char *filename);
+XBT_PUBLIC(void) surf_network_model_init_Reno(void);
/** \brief Initializes the platform with the network model Reno2
* \ingroup SURF_models
* Call this function only if you plan using surf_workstation_model_init_compound.
*
*/
-XBT_PUBLIC(void) surf_network_model_init_Reno2(const char *filename);
+XBT_PUBLIC(void) surf_network_model_init_Reno2(void);
/** \brief Initializes the platform with the network model Vegas
* \ingroup SURF_models
* Call this function only if you plan using surf_workstation_model_init_compound.
*
*/
-XBT_PUBLIC(void) surf_network_model_init_Vegas(const char *filename);
+XBT_PUBLIC(void) surf_network_model_init_Vegas(void);
/** \brief The list of all available network model models
* \ingroup SURF_models
* network_model have been set up.
*
*/
-XBT_PUBLIC(void) surf_workstation_model_init_compound(const char
- *filename);
+XBT_PUBLIC(void) surf_workstation_model_init_compound(void);
/** \brief Initializes the platform with the workstation model CLM03
* \ingroup SURF_models
*
* \see surf_workstation_model_init_KCCFLN05()
*/
-XBT_PUBLIC(void) surf_workstation_model_init_CLM03(const char *filename);
+XBT_PUBLIC(void) surf_workstation_model_init_CLM03(void);
/** \brief Initializes the platform with the model KCCFLN05
* \ingroup SURF_models
* SimDag.
*
*/
-XBT_PUBLIC(void) surf_workstation_model_init_KCCFLN05(const char
- *filename);
+XBT_PUBLIC(void) surf_workstation_model_init_KCCFLN05(void);
/** \brief Initializes the platform with the model KCCFLN05
* \ingroup SURF_models
* the model to each action.
*
*/
-XBT_PUBLIC(void) surf_workstation_model_init_ptask_L07(const char
- *filename);
+XBT_PUBLIC(void) surf_workstation_model_init_ptask_L07(void);
/** \brief The list of all available workstation model models
* \ingroup SURF_models
* Must not be called within the initialization process so that the use get a chance to change the settings from
* its code between, say, MSG_init and MSG_create_environment using MSG_config
*/
-XBT_PUBLIC(void) surf_config_models_setup(const char *platform_file);
+XBT_PUBLIC(void) surf_config_models_setup(void);
/** \brief create the elements of the models
*
void **surf_workstation = NULL;
void **surf_link = NULL;
- platform_filename = xbt_strdup(platform_file);
-
// Reset callbacks
surf_parse_reset_callbacks();
// Add config callbacks
double start, end;
- platform_filename = xbt_strdup(file);
-
// Reset callbacks
surf_parse_reset_callbacks();
// Add config callbacks
}
}
-static void cpu_define_callbacks(const char *file)
+static void cpu_define_callbacks(void)
{
surfxml_add_callback(ETag_surfxml_host_cb_list, parse_cpu_init);
surfxml_add_callback(ETag_surfxml_platform_cb_list, &add_traces_cpu);
/* note = "Available at */
/* \url{http://grail.sdsc.edu/papers/simgrid_ccgrid01.ps.gz}." */
/* } */
-void surf_cpu_model_init_Cas01(const char *filename)
+void surf_cpu_model_init_Cas01()
{
if (surf_cpu_model)
return;
surf_cpu_model_init_internal();
- cpu_define_callbacks(filename);
+ cpu_define_callbacks();
xbt_dynar_push(model_list, &surf_cpu_model);
}
}
}
-static void cpu_im_define_callbacks(const char *file)
+static void cpu_im_define_callbacks()
{
surfxml_add_callback(ETag_surfxml_host_cb_list, parse_cpu_im_init);
surfxml_add_callback(ETag_surfxml_platform_cb_list,
/* note = "Available at */
/* \url{http://grail.sdsc.edu/papers/simgrid_ccgrid01.ps.gz}." */
/* } */
-void surf_cpu_model_init_Cas01_im(const char *filename)
+void surf_cpu_model_init_Cas01_im()
{
if (surf_cpu_model)
return;
surf_cpu_im_model_init_internal();
- cpu_im_define_callbacks(filename);
+ cpu_im_define_callbacks();
xbt_dynar_push(model_list, &surf_cpu_model);
}
}
}
-static void cpu_ti_define_callbacks(const char *file)
+static void cpu_ti_define_callbacks()
{
surfxml_add_callback(ETag_surfxml_host_cb_list, parse_cpu_ti_init);
surfxml_add_callback(ETag_surfxml_platform_cb_list, &add_traces_cpu_ti);
}
-void surf_cpu_model_init_ti(const char *filename)
+void surf_cpu_model_init_ti()
{
if (surf_cpu_model)
return;
surf_cpu_ti_model_init_internal();
- cpu_ti_define_callbacks(filename);
+ cpu_ti_define_callbacks();
xbt_dynar_push(model_list, &surf_cpu_model);
}
}
}
-static void net_define_callbacks(const char *file)
+static void net_define_callbacks(void)
{
/* Figuring out the network links */
surfxml_add_callback(STag_surfxml_link_cb_list, &net_parse_link_init);
/************************************************************************/
/* New model based on LV08 and experimental results of MPI ping-pongs */
/************************************************************************/
-void surf_network_model_init_SMPI(const char *filename)
+void surf_network_model_init_SMPI(void)
{
if (surf_network_model)
latency_factor_callback = &smpi_latency_factor;
bandwidth_factor_callback = &smpi_bandwidth_factor;
bandwidth_constraint_callback = &smpi_bandwidth_constraint;
- net_define_callbacks(filename);
+ net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
network_solve = lmm_solve;
/************************************************************************/
/* New model based on optimizations discussed during this thesis */
/************************************************************************/
-void surf_network_model_init_LegrandVelho(const char *filename)
+void surf_network_model_init_LegrandVelho(void)
{
if (surf_network_model)
return;
surf_network_model_init_internal();
- net_define_callbacks(filename);
+ net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
network_solve = lmm_solve;
/* month = {oct}, */
/* year = {2002} */
/* } */
-void surf_network_model_init_CM02(const char *filename)
+void surf_network_model_init_CM02(void)
{
if (surf_network_model)
return;
surf_network_model_init_internal();
- net_define_callbacks(filename);
+ net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
network_solve = lmm_solve;
"CM02", surf_network_model);
}
-void surf_network_model_init_Reno(const char *filename)
+void surf_network_model_init_Reno(void)
{
if (surf_network_model)
return;
surf_network_model_init_internal();
- net_define_callbacks(filename);
+ net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
lmm_set_default_protocol_function(func_reno_f, func_reno_fp,
}
-void surf_network_model_init_Reno2(const char *filename)
+void surf_network_model_init_Reno2(void)
{
if (surf_network_model)
return;
surf_network_model_init_internal();
- net_define_callbacks(filename);
+ net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
lmm_set_default_protocol_function(func_reno2_f, func_reno2_fp,
"Reno2", surf_network_model);
}
-void surf_network_model_init_Vegas(const char *filename)
+void surf_network_model_init_Vegas(void)
{
if (surf_network_model)
return;
surf_network_model_init_internal();
- net_define_callbacks(filename);
+ net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
lmm_set_default_protocol_function(func_vegas_f, func_vegas_fp,
host_number_int++;
}
-static void netcste_define_callbacks(const char *file)
+static void netcste_define_callbacks(void)
{
surfxml_add_callback(STag_surfxml_host_cb_list, &netcste_count_hosts);
}
-void surf_network_model_init_Constant(const char *filename)
+void surf_network_model_init_Constant()
{
xbt_assert(surf_network_model == NULL);
if (surf_network_model)
if (!random_latency)
random_latency = random_new(RAND, 100, 0.0, 1.0, .125, .034);
- netcste_define_callbacks(filename);
+ netcste_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
update_model_description(surf_network_model_description,
}
/* Main XML parsing */
-static void define_callbacks(const char *file)
+static void define_callbacks(void)
{
/* Figuring out the network links */
surfxml_add_callback(ETag_surfxml_link_cb_list, &parse_link_init);
}
#endif
-void surf_network_model_init_GTNETS(const char *filename)
+void surf_network_model_init_GTNETS(void)
{
if (surf_network_model)
return;
surf_network_model_init_internal();
- define_callbacks(filename);
+ define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
#ifdef HAVE_LATENCY_BOUND_TRACKING
}
}
-static void im_net_define_callbacks(const char *file)
+static void im_net_define_callbacks(void)
{
/* Figuring out the network links */
surfxml_add_callback(STag_surfxml_link_cb_list, &im_net_parse_link_init);
/************************************************************************/
/* New model based on optimizations discussed during this thesis */
/************************************************************************/
-void im_surf_network_model_init_LegrandVelho(const char *filename)
+void im_surf_network_model_init_LegrandVelho(void)
{
if (surf_network_model)
return;
im_surf_network_model_init_internal();
- im_net_define_callbacks(filename);
+ im_net_define_callbacks();
xbt_dynar_push(model_list, &surf_network_model);
network_im_solve = lmm_solve;
_surf_init_status = 0;
}
-void surf_config_models_setup(const char *platform_file)
+void surf_config_models_setup()
{
char *workstation_model_name;
int workstation_id = -1;
cpu_id =
find_model_description(surf_cpu_model_description, cpu_model_name);
- surf_cpu_model_description[cpu_id].model_init_preparse(platform_file);
- surf_network_model_description[network_id].model_init_preparse
- (platform_file);
+ surf_cpu_model_description[cpu_id].model_init_preparse();
+ surf_network_model_description[network_id].model_init_preparse();
}
XBT_DEBUG("Call workstation_model_init");
- surf_workstation_model_description[workstation_id].model_init_preparse
- (platform_file);
+ surf_workstation_model_description[workstation_id].model_init_preparse();
}
void surf_config_models_create_elms(void)
{
routing_parse_Erandom();
surfxml_del_callback(STag_surfxml_AS_cb_list, surf_parse_models_setup);
- surf_config_models_setup(platform_filename);
- free(platform_filename);
+ surf_config_models_setup();
}
/* ************************************************** */
#include "simgrid_dtd.c"
-char *platform_filename;
-
/*
* Helping functions
*/
/* month = {may}, */
/* year = {2003} */
/* } */
-void surf_workstation_model_init_CLM03(const char *filename)
+void surf_workstation_model_init_CLM03(void)
{
surf_workstation_model_init_internal();
- surf_cpu_model_init_Cas01_im(filename);
- surf_network_model_init_LegrandVelho(filename);
+ surf_cpu_model_init_Cas01_im();
+ surf_network_model_init_LegrandVelho();
update_model_description(surf_workstation_model_description,
"CLM03", surf_workstation_model);
xbt_dynar_push(model_list, &surf_workstation_model);
}
-void surf_workstation_model_init_compound(const char *filename)
+void surf_workstation_model_init_compound()
{
xbt_assert(surf_cpu_model, "No CPU model defined yet!");
}
}
-static void ptask_define_callbacks(const char *file)
+static void ptask_define_callbacks()
{
/* Adding callback functions */
surfxml_add_callback(ETag_surfxml_host_cb_list, &ptask_parse_cpu_init);
/**************************************/
/*************** Generic **************/
/**************************************/
-void surf_workstation_model_init_ptask_L07(const char *filename)
+void surf_workstation_model_init_ptask_L07(void)
{
XBT_INFO("surf_workstation_model_init_ptask_L07");
xbt_assert(!surf_cpu_model, "CPU model type already defined");
xbt_assert(!surf_network_model, "network model type already defined");
surf_network_model = surf_model_init();
- ptask_define_callbacks(filename);
+ ptask_define_callbacks();
ptask_model_init_internal();
update_model_description(surf_workstation_model_description,
e_surf_action_state_t stateActionC;
double now = -1.0;
surf_parse_reset_callbacks();
- surf_cpu_model_init_Cas01(platform); /* Now it is possible to use CPUs */
- surf_network_model_init_CM02(platform); /* Now it is possible to use eth0 */
+ surf_cpu_model_init_Cas01(); /* Now it is possible to use CPUs */
+ surf_network_model_init_CM02(); /* Now it is possible to use eth0 */
parse_platform_file(platform);
/*********************** CPU ***********************************/
find_model_description(surf_workstation_model_description, "CLM03");
surf_parse_reset_callbacks();
surf_workstation_model_description[workstation_id].
- model_init_preparse(platform);
+ model_init_preparse();
parse_platform_file(platform);
if (surf_workstation_model_description[workstation_id].
model_init_postparse)