Java and Ruby:
* Bindings now constitute their own package, separated from the main one.
Rational: reduce our maintainance nightmare by reducing the module coupling.
- They will soon be released on their own on gforge. In the meanwhile:
+ They will soon be released on their own on gforge.
+ * In the meanwhile:
svn co svn://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/simgrid-java
svn co svn://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/simgrid-ruby
* It's not quite deprecated for now because we have no replacement,
but it may soon become the case.
+ SMPI
+ * New MPI functions supported: MPI_Comm_disconnect, MPI_Comm_get_name
+ * Fortran: New user-level cache variable to store the rank of the running
+ process. This improves performance by an order of magnitude.
+ * C: New coccinelle script to automatically locate and modifiy global and
+ local static variables.
+ * Improved SMPI network model with a sender-side gap to account for multiple
+ parallel sends.
+
MSG
* New function MSG_comm_get_status(). MSG_comm_test() and MSG_comm_testany()
only say if a communication is finished, no matter whether it succeeded or
IF(HAVE_TRACING)
ADD_TEST(tracing-ms ${CMAKE_BINARY_DIR}/bin/tesh --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/ms.tesh)
ADD_TEST(tracing-categories ${CMAKE_BINARY_DIR}/bin/tesh --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/categories.tesh)
- ADD_TEST(tracing-volume ${CMAKE_BINARY_DIR}/bin/tesh --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/volume.tesh)
ADD_TEST(tracing-tasks ${CMAKE_BINARY_DIR}/bin/tesh --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/tasks.tesh)
ADD_TEST(tracing-process-migration ${CMAKE_BINARY_DIR}/bin/tesh --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/procmig.tesh)
ADD_TEST(graphicator ${CMAKE_BINARY_DIR}/bin/tesh --setenv srcdir=${CMAKE_HOME_DIRECTORY} --setenv bindir=${CMAKE_BINARY_DIR}/bin --cd ${CMAKE_HOME_DIRECTORY}/tools/graphicator graphicator.tesh)
IF(HAVE_TRACING)\r
ADD_TEST(tracing-ms perl ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/tesh.pl ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/ms.tesh)\r
ADD_TEST(tracing-categories perl ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/tesh.pl ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/categories.tesh)\r
- ADD_TEST(tracing-volume perl ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/tesh.pl ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/volume.tesh)\r
ADD_TEST(tracing-tasks perl ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/tesh.pl ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/tasks.tesh)\r
ADD_TEST(tracing-process-migration perl ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/tesh.pl ${CMAKE_HOME_DIRECTORY}/examples/msg tracing/procmig.tesh)\r
ENDIF(HAVE_TRACING)\r
src/instr/instr_paje_trace.c
src/instr/instr_msg_task.c
src/instr/instr_msg_process.c
- src/instr/instr_msg_volume.c
- src/instr/instr_smx.c
src/instr/instr_surf.c
src/instr/instr_smpi.c
src/instr/instr_simdag.c
set(string11 "'s/#include <unistd.h>/#if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)\\n# ifndef __STRICT_ANSI__\\n# include <io.h>\\n# include <process.h>\\n# endif\\n#else\\n# include <unistd.h>\\n#endif/g'")
set(string12 "'s/#if defined(_WIN32)/#if defined(_XBT_WIN32)/g'")
set(string13 "'s/#include <unistd.h>/#if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)\\n# ifndef __STRICT_ANSI__\\n# include <io.h>\\n# include <process.h>\\n# endif\\n#else\\n# include <unistd.h>\\n#endif/g'")
+set(string14 "'\\!^ \\* Generated [0-9/]\\{10\\} [0-9:]\\{8\\}\\.$$!d'")
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_HOME_DIRECTORY}/include/surf/simgrid_dtd.h
#${CMAKE_HOME_DIRECTORY}/src/surf/simgrid_dtd.l: ${CMAKE_HOME_DIRECTORY}/src/surf/simgrid.dtd
COMMAND ${FLEXML_EXE} --root-tags platform -b 1000000 -P surfxml --sysid=http://simgrid.gforge.inria.fr/simgrid.dtd -S src/surf/simgrid_dtd.l -L src/surf/simgrid.dtd
+ COMMAND ${SED_EXE} -i ${string14} src/surf/simgrid_dtd.l
COMMAND ${CMAKE_COMMAND} -E echo "src/surf/simgrid_dtd.l"
#${CMAKE_HOME_DIRECTORY}/src/xbt/graphxml.l: ${CMAKE_HOME_DIRECTORY}/src/xbt/graphxml.dtd
COMMAND ${FLEXML_EXE} -b 1000000 -P graphxml --sysid=graphxml.dtd -S src/xbt/graphxml.l -L src/xbt/graphxml.dtd
+ COMMAND ${SED_EXE} -i ${string14} src/xbt/graphxml.l
COMMAND ${CMAKE_COMMAND} -E echo "src/xbt/graphxml.l"
#${CMAKE_HOME_DIRECTORY}/src/simdag/dax_dtd.l: ${CMAKE_HOME_DIRECTORY}/src/simdag/dax.dtd
- COMMAND ${FLEXML_EXE} -b 1000000 --root-tags adag -P dax_ --sysid=dax.dtd -S ${CMAKE_HOME_DIRECTORY}/src/simdag/dax_dtd.l -L ${CMAKE_HOME_DIRECTORY}/src/simdag/dax.dtd
+ COMMAND ${FLEXML_EXE} -b 1000000 --root-tags adag -P dax_ --sysid=dax.dtd -S src/simdag/dax_dtd.l -L src/simdag/dax.dtd
COMMAND ${SED_EXE} -i ${string5} src/simdag/dax_dtd.l
+ COMMAND ${SED_EXE} -i ${string14} src/simdag/dax_dtd.l
COMMAND ${CMAKE_COMMAND} -E echo "src/simdag/dax_dtd.l"
#${CMAKE_HOME_DIRECTORY}/include/surf/simgrid_dtd.h: ${CMAKE_HOME_DIRECTORY}/src/surf/simgrid.dtd
COMMAND ${FLEXML_EXE} --root-tags platform -P surfxml --sysid=http://simgrid.gforge.inria.fr/simgrid.dtd -H include/surf/simgrid_dtd.h -L src/surf/simgrid.dtd
COMMAND ${SED_EXE} -i ${string1} include/surf/simgrid_dtd.h
COMMAND ${SED_EXE} -i ${string2} include/surf/simgrid_dtd.h
+ COMMAND ${SED_EXE} -i ${string14} include/surf/simgrid_dtd.h
COMMAND ${CMAKE_COMMAND} -E echo "include/surf/simgrid_dtd.h"
#${CMAKE_HOME_DIRECTORY}/include/xbt/graphxml.h: ${CMAKE_HOME_DIRECTORY}/src/xbt/graphxml.dtd
COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_HOME_DIRECTORY}/include/xbt/graphxml.h
COMMAND ${FLEXML_EXE} -P graphxml --sysid=graphxml.dtd -H include/xbt/graphxml.h -L src/xbt/graphxml.dtd
COMMAND ${SED_EXE} -i ${string3} include/xbt/graphxml.h
COMMAND ${SED_EXE} -i ${string4} include/xbt/graphxml.h
+ COMMAND ${SED_EXE} -i ${string14} include/xbt/graphxml.h
COMMAND ${CMAKE_COMMAND} -E echo "include/xbt/graphxml.h"
#${CMAKE_HOME_DIRECTORY}/src/simdag/dax_dtd.h: ${CMAKE_HOME_DIRECTORY}/src/simdag/dax.dtd
COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_HOME_DIRECTORY}/src/simdag/dax_dtd.h
COMMAND ${FLEXML_EXE} --root-tags adag -P dax_ --sysid=dax.dtd -H src/simdag/dax_dtd.h -L src/simdag/dax.dtd
COMMAND ${SED_EXE} -i ${string6} src/simdag/dax_dtd.h
COMMAND ${SED_EXE} -i ${string7} src/simdag/dax_dtd.h
+ COMMAND ${SED_EXE} -i ${string14} src/simdag/dax_dtd.h
COMMAND ${FLEX_EXE} -o src/gras/DataDesc/ddt_parse.yy.c -Pgras_ddt_parse_ --noline src/gras/DataDesc/ddt_parse.yy.l
COMMAND ${CMAKE_COMMAND} -E echo "src/simdag/dax_dtd.h"
ADD_TEST(memcheck-tracing-categories-0 ${CMAKE_BINARY_DIR}/examples/msg/tracing/categories --cfg=tracing:1 --cfg=tracing/filename:tracing/categories.trace --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1 --cfg=triva/categorized:tracing/categories.cat.plist --cfg=triva/uncategorized:tracing/categories.uncat.plist /tracing/platform.xml /tracing/deployment.xml --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
ADD_TEST(memcheck-tracing-categories-1 cat tracing/categories.trace --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
ADD_TEST(memcheck-tracing-categories-2 rm -rf tracing/categories.trace tracing/categories.cat.plist tracing/categories.uncat.plist --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
-ADD_TEST(memcheck-tracing-volume-0 ${CMAKE_BINARY_DIR}/examples/msg/tracing/volume --cfg=tracing:1 --cfg=tracing/filename:tracing/volume.trace --cfg=tracing/msg/volume:1 /tracing/platform.xml /tracing/deployment.xml --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
-ADD_TEST(memcheck-tracing-volume-1 cat tracing/volume.trace --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
-ADD_TEST(memcheck-tracing-volume-2 rm -rf tracing/volume.trace --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
ADD_TEST(memcheck-tracing-tasks-0 ${CMAKE_BINARY_DIR}/examples/msg/tracing/tasks --cfg=tracing:1 --cfg=tracing/msg/task:1 --cfg=tracing/filename:tracing/tasks.trace /tracing/platform.xml /tracing/deployment.xml --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
ADD_TEST(memcheck-tracing-tasks-1 cat tracing/tasks.trace --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
ADD_TEST(memcheck-tracing-tasks-2 rm -rf tracing/tasks.trace --cd /home/navarrop/simgrid/simgrid/trunk/examples/msg/)
server2, or request tasks, computation tasks, communication tasks).
All resource utilization (host power and link bandwidth) will be
classified according to the task category. Tasks that do not belong to a
-category are not traced.
+category are not traced. The color for the category that is being declared
+is random (use next function to specify a color).
+
+\li <b>\c TRACE_category_with_color (const char *category, const char *color)</b>: Same
+as TRACE_category, but let user specify a color encoded as a RGB-like string with
+three floats from 0 to 1. So, to specify a red color, the user can pass "1 0 0" as
+color parameter. A light-gray color can be specified using "0.7 0.7 0.7" as color.
\li <b>\c TRACE_msg_set_task_category (m_task_t task, const char *category)</b>:
This function should be called after the creation of a MSG task, to define the
\c category must contain a category that was previously defined by the function
\c TRACE_category.
-\li <b>\c TRACE_host_variable_declare (const char *variable)</b>:
-Declare a user variable that will be associated to hosts. A variable can
+\li <b>\c TRACE_[host|link]_variable_declare (const char *variable)</b>:
+Declare a user variable that will be associated to host/link. A variable can
be used to trace user variables such as the number of tasks in a server,
-the number of clients in an application, and so on.
-
-\li <b>\c TRACE_host_variable_[set|add|sub] (const char *variable, double
-value)</b>:
-Set the value of a given user variable. It is important to remind that
-the value of this variable is always associated to the host. The host
-that will be used when these functions are called is the one returned by
-the function \c MSG_host_self().
+the number of clients in an application (for hosts), and so on.
+
+\li <b>\c TRACE_[host|link]_variable_[set|add|sub] (const char *[host|link], const char *variable, double value)</b>:
+Set the value of a given user variable for a given host/link. The value
+of this variable is always associated to the host/link. The host/link
+parameters should be its name as the one listed in the platform file.
+
+\li <b>\c TRACE_[host|link]_variable_[set|add|sub]_with_time (double time, const char *[host|link], const char *variable, double value)</b>:
+Same as TRACE_[host|link]_variable_[set|add|sub], but let user specify
+the time used to trace it. Users can specify a time that is not the
+simulated clock time as defined by the core simulator. This allows
+a fine-grain control of time definition, but should be used with
+caution since the trace can be inconsistent if resource utilization
+traces are also traced.
+
+\li <b>\c TRACE_link_srcdst_variable_[set|add|sub] (const char *src, const char *dst, const char *variable, double value)</b>:
+Same as TRACE_link_variable_[set|add|sub], but now users specify a source and
+destination hosts (as the names from the platform file). The tracing library
+will get the corresponding route that connects those two hosts (src and dst) and
+[set|add|sub] the value's variable for all the links of the route.
+
+\li <b>\c TRACE_link_srcdst_variable_[set|add|sub]_with_time (double time, const char *src, const char *dst, const char *variable, double value)</b>:
+Same as TRACE_link_srcdst_variable_[set|add|sub], but user specify a time different from the simulated time.
\subsubsection faq_tracing_options Tracing configuration Options
\li <b>\c
tracing
</b>:
- It activates the tracing system and register the simulation platform
- in the trace file. You have to enable this option to others take effect.
+ Safe switch. It activates (or deactivates) the tracing system.
+ No other tracing options take effect if this one is not activated.
+
+\li <b>\c
+tracing/platform
+</b>:
+ Register the simulation platform in the trace file.
+
+\li <b>\c
+tracing/onelink_only
+</b>:
+ By default, the tracing system uses all routes in the platform file
+ to re-create a "graph" of the platform and register it in the trace file.
+ This option let the user tell the tracing system to use only the routes
+ that are composed with just one link.
\li <b>\c
tracing/categorized
this simulator do not use tracing categories and resource use have to be
traced.
-\li <b>\c
-tracing/platform/method
-</b>:
- It changes the way resource utilization (categorized or not) is traced
- inside the simulation core. Method 'a' (default) traces all updates defined
- by the CPU/network model of a given resource. Depending on the interface used
- by this simulator (MSG, SMPI, SimDAG), the default method can generate large
- trace files. Method 'b' tries to make smaller tracefiles using clever updates,
- without losing details of resource utilization. Method 'c' generates even
- smaller files by doing time integration during the simulation, but it loses
- precision. If this last method is used, the smallest timeslice used in the
- tracefile analysis must be bigger than the smaller resource utilization. If
- unsure, do not change this option.
-
\li <b>\c
tracing/filename
</b>:
behavior of all categorized MSG processes, grouping them by hosts. This option
can be used to track process location if this simulator has process migration.
+
+\li <b>\c
+triva/categorized:graph_categorized.plist
+</b>:
+ This option generates a graph configuration file for Triva considering
+ categorized resource utilization.
+
\li <b>\c
-tracing/msg/volume
+triva/uncategorized:graph_uncategorized.plist
</b>:
- This experimental option only has effect if this simulator is MSG-based.
- It traces the communication volume of MSG send/receive.
+ This option generates a graph configuration file for Triva considering
+ uncategorized resource utilization.
\subsubsection faq_tracing_example Example of Instrumentation
{
MSG_global_init (&argc, &argv);
- //note that TRACE_start must be called after MSG_global_init
+ //(... after deployment ...)
+
+ //note that category declaration must be called after MSG_create_environment
TRACE_category_with_color ("request", "1 0 0");
TRACE_category_with_color ("computation", "0.3 1 0.4");
TRACE_category ("finalize");
- //(... after deployment ...)
-
m_task_t req1 = MSG_task_create("1st_request_task", 10, 10, NULL);
m_task_t req2 = MSG_task_create("2nd_request_task", 10, 10, NULL);
m_task_t req3 = MSG_task_create("3rd_request_task", 10, 10, NULL);
add_executable(ms ${CMAKE_CURRENT_SOURCE_DIR}/ms.c)
add_executable(categories ${CMAKE_CURRENT_SOURCE_DIR}/categories.c)
-add_executable(volume ${CMAKE_CURRENT_SOURCE_DIR}/volume.c)
add_executable(tasks ${CMAKE_CURRENT_SOURCE_DIR}/tasks.c)
add_executable(procmig ${CMAKE_CURRENT_SOURCE_DIR}/procmig.c)
### Add definitions for compile
target_link_libraries(ms simgrid m )
target_link_libraries(categories simgrid m )
-target_link_libraries(volume simgrid m )
target_link_libraries(tasks simgrid m )
target_link_libraries(procmig simgrid m )
> %EndEventDef
> 0 1 0 HOST
> 6 0 1 1 0 Tremblay
-> 1 2 1 power "1 1 1"
-> 0 3 1 MSG_PROCESS
-> 2 4 3 MSG_PROCESS_STATE
-> 5 5 4 executing "0 1 0"
-> 5 6 4 suspend "1 0 1"
-> 5 7 4 sleep "1 1 0"
-> 5 8 4 receive "1 0 0"
-> 5 9 4 send "0 0 1"
-> 5 10 4 task_execute "0 1 1"
-> 4 11 0 3 3 MSG_PROCESS_LINK
-> 4 12 0 3 3 MSG_PROCESS_TASK_LINK
+> 0 2 1 MSG_PROCESS
+> 2 3 2 MSG_PROCESS_STATE
+> 5 4 3 executing "0 1 0"
+> 5 5 3 suspend "1 0 1"
+> 5 6 3 sleep "1 1 0"
+> 5 7 3 receive "1 0 0"
+> 5 8 3 send "0 0 1"
+> 5 9 3 task_execute "0 1 1"
+> 4 10 0 2 2 MSG_PROCESS_LINK
+> 4 11 0 2 2 MSG_PROCESS_TASK_LINK
> 6 0 2 1 0 Jupiter
> 6 0 3 1 0 Fafard
> 6 0 4 1 0 Ginette
> 6 0 5 1 0 Bourassa
-> 0 13 0 LINK
-> 6 0 6 13 0 6
-> 1 14 13 bandwidth "1 1 1"
-> 1 15 13 latency "1 1 1"
-> 6 0 7 13 0 3
-> 6 0 8 13 0 7
-> 6 0 9 13 0 9
-> 6 0 10 13 0 2
-> 6 0 11 13 0 8
-> 6 0 12 13 0 1
-> 6 0 13 13 0 4
-> 6 0 14 13 0 0
-> 6 0 15 13 0 5
-> 4 16 0 1 13 HOST-LINK
-> 4 17 0 13 13 LINK-LINK
-> 4 18 0 13 1 LINK-HOST
-> 8 0 2 1 98095000.000000
-> 8 0 2 2 76296000.000000
-> 8 0 2 3 76296000.000000
-> 8 0 2 4 48492000.000000
-> 8 0 2 5 48492000.000000
-> 8 0 14 6 41279125.000000
-> 8 0 15 6 0.000060
-> 8 0 14 7 34285625.000000
-> 8 0 15 7 0.000514
-> 8 0 14 8 11618875.000000
-> 8 0 15 8 0.000190
-> 8 0 14 9 7209750.000000
-> 8 0 15 9 0.001462
-> 8 0 14 10 118682500.000000
-> 8 0 15 10 0.000137
-> 8 0 14 11 8158000.000000
-> 8 0 15 11 0.000271
-> 8 0 14 12 34285625.000000
-> 8 0 15 12 0.000514
-> 8 0 14 13 10099625.000000
-> 8 0 15 13 0.000480
-> 8 0 14 14 41279125.000000
-> 8 0 15 14 0.000060
-> 8 0 14 15 27946250.000000
-> 8 0 15 15 0.000278
-> 14 0 16 0 G 3 0
-> 15 0 16 0 G 11 0
-> 14 0 17 0 G 11 1
-> 15 0 17 0 G 12 1
-> 14 0 17 0 G 12 2
-> 15 0 17 0 G 14 2
-> 14 0 17 0 G 14 3
-> 15 0 17 0 G 10 3
-> 14 0 17 0 G 10 4
-> 15 0 17 0 G 7 4
-> 14 0 17 0 G 7 5
-> 15 0 17 0 G 13 5
-> 14 0 18 0 G 13 6
-> 15 0 18 0 G 1 6
-> 14 0 17 0 G 11 7
-> 15 0 17 0 G 6 7
-> 14 0 17 0 G 6 8
-> 15 0 17 0 G 8 8
-> 14 0 18 0 G 8 9
-> 15 0 18 0 G 5 9
-> 14 0 17 0 G 13 10
-> 15 0 17 0 G 9 10
-> 14 0 18 0 G 9 11
-> 15 0 18 0 G 2 11
-> 14 0 17 0 G 10 12
-> 15 0 17 0 G 15 12
-> 14 0 18 0 G 15 13
-> 15 0 18 0 G 4 13
-> 14 0 17 0 G 12 14
-> 15 0 17 0 G 6 14
-> 14 0 16 0 G 1 15
-> 15 0 16 0 G 9 15
-> 14 0 17 0 G 7 16
-> 15 0 17 0 G 15 16
-> 6 0 16 3 3 emigrant-1
-> 6 0 17 3 1 master-2
-> 11 0 4 16 5
-> 11 0 4 17 5
-> 12 0 4 16 7
-> 12 0 4 17 9
-> 14 0 12 0 SR 17 p0
-> 13 2.000000 4 16
-> 12 2.000000 4 16 8
-> 13 2.020551 4 17
-> 12 2.020551 4 17 9
-> 14 2.020551 12 0 SR 17 p1
-> 13 2.020551 4 16
-> 15 2.020551 12 0 SR 16 p0
-> 14 2.020551 11 0 M 16 0
-> 7 2.020551 3 16
-> 6 2.020551 18 3 1 emigrant-1
-> 11 2.020551 4 18 5
-> 15 2.020551 11 0 M 18 0
-> 12 2.020551 4 18 7
-> 13 4.020551 4 18
-> 12 4.020551 4 18 8
-> 13 4.020707 4 17
-> 12 4.020707 4 17 9
-> 14 4.020707 12 0 SR 17 p2
-> 13 4.020707 4 18
-> 15 4.020707 12 0 SR 18 p1
-> 14 4.020707 11 0 M 18 1
-> 7 4.020707 3 18
-> 6 4.020707 19 3 2 emigrant-1
-> 11 4.020707 4 19 5
-> 15 4.020707 11 0 M 19 1
-> 12 4.020707 4 19 7
-> 13 6.020707 4 19
-> 12 6.020707 4 19 8
-> 13 6.035906 4 17
-> 12 6.035906 4 17 9
-> 14 6.035906 12 0 SR 17 p3
-> 13 6.035906 4 19
-> 15 6.035906 12 0 SR 19 p2
-> 14 6.035906 11 0 M 19 2
-> 7 6.035906 3 19
-> 6 6.035906 20 3 3 emigrant-1
-> 11 6.035906 4 20 5
-> 15 6.035906 11 0 M 20 2
-> 12 6.035906 4 20 7
-> 13 8.035906 4 20
-> 12 8.035906 4 20 8
-> 13 8.056457 4 17
-> 12 8.056457 4 17 9
-> 14 8.056457 12 0 SR 17 p4
-> 13 8.056457 4 20
-> 15 8.056457 12 0 SR 20 p3
-> 14 8.056457 11 0 M 20 3
-> 7 8.056457 3 20
-> 6 8.056457 21 3 4 emigrant-1
-> 11 8.056457 4 21 5
-> 15 8.056457 11 0 M 21 3
-> 12 8.056457 4 21 7
-> 13 10.056457 4 21
-> 12 10.056457 4 21 8
-> 13 10.069689 4 17
-> 12 10.069689 4 17 9
-> 14 10.069689 12 0 SR 17 p5
-> 13 10.069689 4 21
-> 15 10.069689 12 0 SR 21 p4
-> 14 10.069689 11 0 M 21 4
-> 7 10.069689 3 21
-> 6 10.069689 22 3 5 emigrant-1
-> 11 10.069689 4 22 5
-> 15 10.069689 11 0 M 22 4
-> 12 10.069689 4 22 7
-> 13 12.069689 4 22
-> 12 12.069689 4 22 8
-> 13 12.090025 4 17
-> 12 12.090025 4 17 9
-> 14 12.090025 12 0 SR 17 p6
-> 13 12.090025 4 22
-> 15 12.090025 12 0 SR 22 p5
-> 14 12.090025 11 0 M 22 5
-> 7 12.090025 3 22
-> 6 12.090025 23 3 3 emigrant-1
-> 11 12.090025 4 23 5
-> 15 12.090025 11 0 M 23 5
-> 12 12.090025 4 23 7
-> 13 14.090025 4 23
-> 12 14.090025 4 23 8
-> 13 14.110575 4 17
-> 12 14.110575 4 17 9
-> 14 14.110575 12 0 SR 17 p7
-> 13 14.110575 4 23
-> 15 14.110575 12 0 SR 23 p6
-> 14 14.110575 11 0 M 23 6
-> 7 14.110575 3 23
-> 6 14.110575 24 3 1 emigrant-1
-> 11 14.110575 4 24 5
-> 15 14.110575 11 0 M 24 6
-> 12 14.110575 4 24 7
-> 13 16.110575 4 24
-> 12 16.110575 4 24 8
-> 13 16.110731 4 17
-> 12 16.110731 4 17 9
-> 14 16.110731 12 0 SR 17 p8
-> 13 16.110731 4 24
-> 15 16.110731 12 0 SR 24 p7
-> 14 16.110731 11 0 M 24 7
-> 7 16.110731 3 24
-> 6 16.110731 25 3 4 emigrant-1
-> 11 16.110731 4 25 5
-> 15 16.110731 11 0 M 25 7
-> 12 16.110731 4 25 7
-> 13 18.110731 4 25
-> 12 18.110731 4 25 8
-> 13 18.123963 4 17
-> 7 18.123963 3 17
-> 13 18.123963 4 25
-> 15 18.123963 12 0 SR 25 p8
-> 7 18.123963 3 25
+> 0 12 0 LINK
+> 6 0 6 12 0 6
+> 6 0 7 12 0 3
+> 6 0 8 12 0 7
+> 6 0 9 12 0 9
+> 6 0 10 12 0 2
+> 6 0 11 12 0 8
+> 6 0 12 12 0 1
+> 6 0 13 12 0 4
+> 6 0 14 12 0 0
+> 6 0 15 12 0 5
+> 4 13 0 1 12 HOST-LINK
+> 4 14 0 12 12 LINK-LINK
+> 4 15 0 12 1 LINK-HOST
+> 14 0 13 0 G 3 0
+> 15 0 13 0 G 11 0
+> 14 0 14 0 G 11 1
+> 15 0 14 0 G 12 1
+> 14 0 14 0 G 12 2
+> 15 0 14 0 G 14 2
+> 14 0 14 0 G 14 3
+> 15 0 14 0 G 10 3
+> 14 0 14 0 G 10 4
+> 15 0 14 0 G 7 4
+> 14 0 14 0 G 7 5
+> 15 0 14 0 G 13 5
+> 14 0 15 0 G 13 6
+> 15 0 15 0 G 1 6
+> 14 0 14 0 G 11 7
+> 15 0 14 0 G 6 7
+> 14 0 14 0 G 6 8
+> 15 0 14 0 G 8 8
+> 14 0 15 0 G 8 9
+> 15 0 15 0 G 5 9
+> 14 0 14 0 G 13 10
+> 15 0 14 0 G 9 10
+> 14 0 15 0 G 9 11
+> 15 0 15 0 G 2 11
+> 14 0 14 0 G 10 12
+> 15 0 14 0 G 15 12
+> 14 0 15 0 G 15 13
+> 15 0 15 0 G 4 13
+> 14 0 14 0 G 12 14
+> 15 0 14 0 G 6 14
+> 14 0 13 0 G 1 15
+> 15 0 13 0 G 9 15
+> 14 0 14 0 G 7 16
+> 15 0 14 0 G 15 16
+> 6 0 16 2 3 emigrant-1
+> 6 0 17 2 1 master-2
+> 11 0 3 16 4
+> 11 0 3 17 4
+> 12 0 3 16 6
+> 12 0 3 17 8
+> 14 0 11 0 SR 17 p0
+> 13 2.000000 3 16
+> 12 2.000000 3 16 7
+> 13 2.020551 3 17
+> 12 2.020551 3 17 8
+> 14 2.020551 11 0 SR 17 p1
+> 13 2.020551 3 16
+> 15 2.020551 11 0 SR 16 p0
+> 14 2.020551 10 0 M 16 0
+> 7 2.020551 2 16
+> 6 2.020551 18 2 1 emigrant-1
+> 11 2.020551 3 18 4
+> 15 2.020551 10 0 M 18 0
+> 12 2.020551 3 18 6
+> 13 4.020551 3 18
+> 12 4.020551 3 18 7
+> 13 4.020707 3 17
+> 12 4.020707 3 17 8
+> 14 4.020707 11 0 SR 17 p2
+> 13 4.020707 3 18
+> 15 4.020707 11 0 SR 18 p1
+> 14 4.020707 10 0 M 18 1
+> 7 4.020707 2 18
+> 6 4.020707 19 2 2 emigrant-1
+> 11 4.020707 3 19 4
+> 15 4.020707 10 0 M 19 1
+> 12 4.020707 3 19 6
+> 13 6.020707 3 19
+> 12 6.020707 3 19 7
+> 13 6.035906 3 17
+> 12 6.035906 3 17 8
+> 14 6.035906 11 0 SR 17 p3
+> 13 6.035906 3 19
+> 15 6.035906 11 0 SR 19 p2
+> 14 6.035906 10 0 M 19 2
+> 7 6.035906 2 19
+> 6 6.035906 20 2 3 emigrant-1
+> 11 6.035906 3 20 4
+> 15 6.035906 10 0 M 20 2
+> 12 6.035906 3 20 6
+> 13 8.035906 3 20
+> 12 8.035906 3 20 7
+> 13 8.056457 3 17
+> 12 8.056457 3 17 8
+> 14 8.056457 11 0 SR 17 p4
+> 13 8.056457 3 20
+> 15 8.056457 11 0 SR 20 p3
+> 14 8.056457 10 0 M 20 3
+> 7 8.056457 2 20
+> 6 8.056457 21 2 4 emigrant-1
+> 11 8.056457 3 21 4
+> 15 8.056457 10 0 M 21 3
+> 12 8.056457 3 21 6
+> 13 10.056457 3 21
+> 12 10.056457 3 21 7
+> 13 10.069689 3 17
+> 12 10.069689 3 17 8
+> 14 10.069689 11 0 SR 17 p5
+> 13 10.069689 3 21
+> 15 10.069689 11 0 SR 21 p4
+> 14 10.069689 10 0 M 21 4
+> 7 10.069689 2 21
+> 6 10.069689 22 2 5 emigrant-1
+> 11 10.069689 3 22 4
+> 15 10.069689 10 0 M 22 4
+> 12 10.069689 3 22 6
+> 13 12.069689 3 22
+> 12 12.069689 3 22 7
+> 13 12.090025 3 17
+> 12 12.090025 3 17 8
+> 14 12.090025 11 0 SR 17 p6
+> 13 12.090025 3 22
+> 15 12.090025 11 0 SR 22 p5
+> 14 12.090025 10 0 M 22 5
+> 7 12.090025 2 22
+> 6 12.090025 23 2 3 emigrant-1
+> 11 12.090025 3 23 4
+> 15 12.090025 10 0 M 23 5
+> 12 12.090025 3 23 6
+> 13 14.090025 3 23
+> 12 14.090025 3 23 7
+> 13 14.110575 3 17
+> 12 14.110575 3 17 8
+> 14 14.110575 11 0 SR 17 p7
+> 13 14.110575 3 23
+> 15 14.110575 11 0 SR 23 p6
+> 14 14.110575 10 0 M 23 6
+> 7 14.110575 2 23
+> 6 14.110575 24 2 1 emigrant-1
+> 11 14.110575 3 24 4
+> 15 14.110575 10 0 M 24 6
+> 12 14.110575 3 24 6
+> 13 16.110575 3 24
+> 12 16.110575 3 24 7
+> 13 16.110731 3 17
+> 12 16.110731 3 17 8
+> 14 16.110731 11 0 SR 17 p8
+> 13 16.110731 3 24
+> 15 16.110731 11 0 SR 24 p7
+> 14 16.110731 10 0 M 24 7
+> 7 16.110731 2 24
+> 6 16.110731 25 2 4 emigrant-1
+> 11 16.110731 3 25 4
+> 15 16.110731 10 0 M 25 7
+> 12 16.110731 3 25 6
+> 13 18.110731 3 25
+> 12 18.110731 3 25 7
+> 13 18.123963 3 17
+> 7 18.123963 2 17
+> 13 18.123963 3 25
+> 15 18.123963 11 0 SR 25 p8
+> 7 18.123963 2 25
> 7 18.123963 1 3
> 7 18.123963 1 1
-> 7 18.123963 13 14
-> 7 18.123963 13 12
-> 7 18.123963 13 10
-> 7 18.123963 13 7
-> 7 18.123963 13 13
-> 7 18.123963 13 15
-> 7 18.123963 13 6
-> 7 18.123963 13 8
-> 7 18.123963 13 11
-> 7 18.123963 13 9
+> 7 18.123963 12 14
+> 7 18.123963 12 12
+> 7 18.123963 12 10
+> 7 18.123963 12 7
+> 7 18.123963 12 13
+> 7 18.123963 12 15
+> 7 18.123963 12 6
+> 7 18.123963 12 8
+> 7 18.123963 12 11
+> 7 18.123963 12 9
> 7 18.123963 1 5
> 7 18.123963 1 2
> 7 18.123963 1 4
p Tracing tasks
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/tasks$EXEEXT --cfg=tracing:1 --cfg=tracing/buffer:1 --cfg=tracing/msg/task:1 --cfg=tracing/filename:tracing/tasks.trace ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/tasks$EXEEXT --cfg=tracing:1 --cfg=tracing/categorized:1 --cfg=tracing/buffer:1 --cfg=tracing/msg/task:1 --cfg=tracing/filename:tracing/tasks.trace ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to '1'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/task' to '1'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/tasks.trace'
> 15 0 11 0 G 9 15
> 14 0 12 0 G 7 16
> 15 0 12 0 G 15 16
+> 1 14 8 bcompute "1 0 0"
+> 1 15 1 pcompute "1 0 0"
+> 1 16 8 bfinalize "0 1 0"
+> 1 17 1 pfinalize "0 1 0"
> 6 0 16 3 1 task-0
-> 1 14 3 compute "1 1 1"
-> 8 0 14 16 1.000000
+> 1 18 3 compute "1 1 1"
+> 8 0 18 16 1.000000
> 12 0 4 16 6
> 13 0 4 16
> 14 0 7 0 SR 16 0
> 7 0 3 16
> 6 0.002164 17 3 1 task-0
> 6 0.002164 18 3 1 task-1
-> 8 0.002164 14 17 1.000000
+> 8 0.002164 18 17 1.000000
> 12 0.002164 4 17 6
> 15 0.002164 7 0 SR 17 0
> 12 0.002164 4 17 5
-> 8 0.002164 14 18 1.000000
+> 8 0.002164 18 18 1.000000
> 12 0.002164 4 18 6
> 13 0.002164 4 18
> 14 0.002164 7 0 SR 18 1
> 7 0.002164 3 18
> 6 0.168126 19 3 2 task-1
> 6 0.168126 20 3 1 task-2
-> 8 0.168126 14 19 1.000000
+> 8 0.017364 14 9 0.000000
+> 9 0.017364 14 9 6632970.000000
+> 10 0.168126 14 9 6632970.000000
+> 8 0.168126 18 19 1.000000
> 12 0.168126 4 19 6
> 15 0.168126 7 0 SR 19 1
> 12 0.168126 4 19 5
-> 8 0.168126 14 20 1.000000
+> 8 0.168126 18 20 1.000000
> 12 0.168126 4 20 6
> 13 0.168126 4 20
> 14 0.168126 7 0 SR 20 2
> 7 0.168126 3 20
+> 8 0.002164 15 1 0.000000
+> 9 0.002164 15 1 98095000.000000
+> 10 0.168126 15 1 98095000.000000
> 6 0.386279 21 3 3 task-2
> 6 0.386279 22 3 1 task-3
-> 8 0.386279 14 21 1.000000
+> 8 0.188676 14 13 0.000000
+> 9 0.188676 14 13 5060664.718311
+> 8 0.188676 14 7 0.000000
+> 9 0.188676 14 7 5060664.718311
+> 8 0.188676 14 10 0.000000
+> 9 0.188676 14 10 5060664.718311
+> 8 0.188676 14 14 0.000000
+> 9 0.188676 14 14 5060664.718311
+> 8 0.188676 14 12 0.000000
+> 9 0.188676 14 12 5060664.718311
+> 8 0.188676 14 11 0.000000
+> 9 0.188676 14 11 5060664.718311
+> 10 0.386279 14 13 5060664.718311
+> 10 0.386279 14 7 5060664.718311
+> 10 0.386279 14 10 5060664.718311
+> 10 0.386279 14 14 5060664.718311
+> 10 0.386279 14 12 5060664.718311
+> 10 0.386279 14 11 5060664.718311
+> 8 0.386279 18 21 1.000000
> 12 0.386279 4 21 6
> 15 0.386279 7 0 SR 21 2
> 12 0.386279 4 21 5
-> 8 0.386279 14 22 1.000000
+> 8 0.386279 18 22 1.000000
> 12 0.386279 4 22 6
> 13 0.386279 4 22
> 14 0.386279 7 0 SR 22 3
> 7 0.386279 3 22
+> 9 0.168126 15 1 98095000.000000
+> 10 0.386279 15 1 98095000.000000
+> 9 0.386279 15 1 98095000.000000
+> 9 0.399511 14 13 7859911.230163
+> 9 0.399511 14 7 7859911.230163
+> 8 0.399511 14 15 0.000000
+> 9 0.399511 14 15 7859911.230163
+> 10 0.511874 15 1 98095000.000000
+> 10 0.511874 14 13 7859911.230163
+> 10 0.511874 14 7 7859911.230163
+> 10 0.511874 14 15 7859911.230163
> 13 0.511874 4 17
> 7 0.511874 3 17
+> 9 0.511874 14 13 7859911.230163
+> 9 0.511874 14 7 7859911.230163
+> 9 0.511874 14 15 7859911.230163
> 6 0.526739 23 3 4 task-3
> 6 0.526739 24 3 1 task-4
-> 8 0.526739 14 23 1.000000
+> 10 0.526739 14 13 7859911.230163
+> 10 0.526739 14 7 7859911.230163
+> 10 0.526739 14 15 7859911.230163
+> 8 0.526739 18 23 1.000000
> 12 0.526739 4 23 6
> 15 0.526739 7 0 SR 23 3
> 12 0.526739 4 23 5
-> 8 0.526739 14 24 1.000000
+> 8 0.526739 18 24 1.000000
> 12 0.526739 4 24 6
> 13 0.526739 4 24
> 14 0.526739 7 0 SR 24 4
> 7 0.526739 3 24
> 6 0.742611 25 3 5 task-4
> 6 0.742611 26 3 1 task-5
-> 8 0.742611 14 25 1.000000
+> 9 0.547074 14 13 5114134.701194
+> 9 0.547074 14 7 5114134.701194
+> 9 0.547074 14 10 5114134.701194
+> 9 0.547074 14 14 5114134.701194
+> 9 0.547074 14 12 5114134.701194
+> 8 0.547074 14 6 0.000000
+> 9 0.547074 14 6 5114134.701194
+> 8 0.547074 14 8 0.000000
+> 9 0.547074 14 8 5114134.701194
+> 10 0.742611 14 13 5114134.701194
+> 10 0.742611 14 7 5114134.701194
+> 10 0.742611 14 10 5114134.701194
+> 10 0.742611 14 14 5114134.701194
+> 10 0.742611 14 12 5114134.701194
+> 10 0.742611 14 6 5114134.701194
+> 10 0.742611 14 8 5114134.701194
+> 8 0.742611 18 25 1.000000
> 12 0.742611 4 25 6
> 15 0.742611 7 0 SR 25 4
> 12 0.742611 4 25 5
-> 8 0.742611 14 26 1.000000
+> 8 0.742611 18 26 1.000000
> 12 0.742611 4 26 6
> 13 0.742611 4 26
> 14 0.742611 7 0 SR 26 5
> 7 0.742611 3 26
> 6 0.744775 27 3 1 task-5
> 6 0.744775 28 3 1 task-6
-> 8 0.744775 14 27 1.000000
+> 8 0.744775 18 27 1.000000
> 12 0.744775 4 27 6
> 15 0.744775 7 0 SR 27 5
> 12 0.744775 4 27 5
-> 8 0.744775 14 28 1.000000
+> 8 0.744775 18 28 1.000000
> 12 0.744775 4 28 6
> 13 0.744775 4 28
> 14 0.744775 7 0 SR 28 6
> 7 0.744775 3 28
+> 8 0.168126 15 2 0.000000
+> 9 0.168126 15 2 76296000.000000
+> 10 0.823468 15 2 76296000.000000
> 13 0.823468 4 19
> 7 0.823468 3 19
> 6 0.989430 29 3 1 task-7
-> 8 0.989430 14 29 1.000000
+> 8 0.989430 18 29 1.000000
> 12 0.989430 4 29 6
> 13 0.989430 4 29
> 14 0.989430 7 0 SR 29 7
> 7 0.989430 3 29
> 6 0.989430 30 3 2 task-6
-> 8 0.989430 14 30 1.000000
+> 8 0.386279 15 3 0.000000
+> 9 0.386279 15 3 76296000.000000
+> 9 0.744775 15 1 98095000.000000
+> 8 0.989430 18 30 1.000000
> 12 0.989430 4 30 6
> 15 0.989430 7 0 SR 30 6
> 12 0.989430 4 30 5
+> 10 0.989430 15 1 98095000.000000
+> 10 1.041621 15 3 76296000.000000
> 13 1.041621 4 21
> 7 1.041621 3 21
+> 9 0.989430 15 1 98095000.000000
+> 10 1.254485 15 1 98095000.000000
> 13 1.254485 4 27
> 7 1.254485 3 27
> 6 1.259775 31 3 1 task-8
-> 8 1.259775 14 31 1.000000
+> 8 1.259775 18 31 1.000000
> 12 1.259775 4 31 6
> 13 1.259775 4 31
> 14 1.259775 7 0 SR 31 8
> 6 1.259775 32 3 3 task-7
> 6 1.261939 33 3 1 task-8
> 6 1.261939 34 3 1 task-9
-> 8 1.259775 14 32 1.000000
+> 8 1.259775 18 32 1.000000
> 12 1.259775 4 32 6
> 15 1.259775 7 0 SR 32 7
> 12 1.259775 4 32 5
-> 8 1.261939 14 33 1.000000
+> 8 1.261939 18 33 1.000000
> 12 1.261939 4 33 6
> 15 1.261939 7 0 SR 33 8
> 12 1.261939 4 33 5
-> 8 1.261939 14 34 1.000000
+> 8 1.261939 18 34 1.000000
> 12 1.261939 4 34 6
> 13 1.261939 4 34
> 14 1.261939 7 0 SR 34 9
> 7 1.261939 3 34
+> 8 0.526739 15 4 0.000000
+> 9 0.526739 15 4 48492000.000000
+> 10 1.557837 15 4 48492000.000000
> 13 1.557837 4 23
> 7 1.557837 3 23
+> 9 0.989430 15 2 76296000.000000
+> 10 1.644772 15 2 76296000.000000
> 13 1.644772 4 30
> 7 1.644772 3 30
> 6 1.698296 35 3 1 task-10
-> 8 1.698296 14 35 1.000000
+> 8 1.698296 18 35 1.000000
> 12 1.698296 4 35 6
> 13 1.698296 4 35
> 14 1.698296 7 0 SR 35 10
> 7 1.698296 3 35
> 6 1.698296 36 3 4 task-9
-> 8 1.698296 14 36 1.000000
+> 9 1.261939 15 1 98095000.000000
+> 8 1.698296 18 36 1.000000
> 12 1.698296 4 36 6
> 15 1.698296 7 0 SR 36 9
> 12 1.698296 4 36 5
+> 10 1.698296 15 1 98095000.000000
+> 9 1.698296 15 1 98095000.000000
+> 9 1.713496 14 9 6632970.000000
+> 10 1.771649 15 1 98095000.000000
+> 10 1.771649 14 9 6632970.000000
> 13 1.771649 4 33
> 7 1.771649 3 33
+> 8 0.742611 15 5 0.000000
+> 9 0.742611 15 5 48492000.000000
+> 9 1.771649 14 9 6632970.000000
+> 10 1.773709 15 5 48492000.000000
+> 10 1.773709 14 9 6632970.000000
> 13 1.773709 4 25
> 7 1.773709 3 25
> 6 1.864258 37 3 2 task-10
> 6 1.864258 38 3 1 task-11
-> 8 1.864258 14 37 1.000000
+> 9 1.773709 14 9 6632970.000000
+> 10 1.864258 14 9 6632970.000000
+> 8 1.864258 18 37 1.000000
> 12 1.864258 4 37 6
> 15 1.864258 7 0 SR 37 10
> 12 1.864258 4 37 5
-> 8 1.864258 14 38 1.000000
+> 8 1.864258 18 38 1.000000
> 12 1.864258 4 38 6
> 13 1.864258 4 38
> 14 1.864258 7 0 SR 38 11
> 7 1.864258 3 38
> 6 1.866422 39 3 1 task-11
> 6 1.866422 40 3 1 task-12
-> 8 1.866422 14 39 1.000000
+> 8 1.866422 18 39 1.000000
> 12 1.866422 4 39 6
> 15 1.866422 7 0 SR 39 11
> 12 1.866422 4 39 5
-> 8 1.866422 14 40 1.000000
+> 8 1.866422 18 40 1.000000
> 12 1.866422 4 40 6
> 13 1.866422 4 40
> 14 1.866422 7 0 SR 40 12
> 7 1.866422 3 40
+> 9 1.259775 15 3 76296000.000000
+> 9 1.886758 14 13 5114134.701194
+> 9 1.886758 14 7 5114134.701194
+> 9 1.886758 14 10 5114134.701194
+> 9 1.886758 14 14 5114134.701194
+> 9 1.886758 14 12 5114134.701194
+> 9 1.886758 14 6 5114134.701194
+> 9 1.886758 14 8 5114134.701194
+> 10 1.915117 15 3 76296000.000000
+> 10 1.915117 14 13 5114134.701194
+> 10 1.915117 14 7 5114134.701194
+> 10 1.915117 14 10 5114134.701194
+> 10 1.915117 14 14 5114134.701194
+> 10 1.915117 14 12 5114134.701194
+> 10 1.915117 14 6 5114134.701194
+> 10 1.915117 14 8 5114134.701194
> 13 1.915117 4 32
> 7 1.915117 3 32
> 6 2.082294 41 3 5 task-12
> 6 2.082294 42 3 1 task-13
-> 8 2.082294 14 41 1.000000
+> 9 1.915117 14 13 5114134.701194
+> 9 1.915117 14 7 5114134.701194
+> 9 1.915117 14 10 5114134.701194
+> 9 1.915117 14 14 5114134.701194
+> 9 1.915117 14 12 5114134.701194
+> 9 1.915117 14 6 5114134.701194
+> 9 1.915117 14 8 5114134.701194
+> 10 2.082294 14 13 5114134.701194
+> 10 2.082294 14 7 5114134.701194
+> 10 2.082294 14 10 5114134.701194
+> 10 2.082294 14 14 5114134.701194
+> 10 2.082294 14 12 5114134.701194
+> 10 2.082294 14 6 5114134.701194
+> 10 2.082294 14 8 5114134.701194
+> 8 2.082294 18 41 1.000000
> 12 2.082294 4 41 6
> 15 2.082294 7 0 SR 41 12
> 12 2.082294 4 41 5
-> 8 2.082294 14 42 1.000000
+> 8 2.082294 18 42 1.000000
> 12 2.082294 4 42 6
> 13 2.082294 4 42
> 14 2.082294 7 0 SR 42 13
> 7 2.082294 3 42
> 6 2.300447 43 3 3 task-13
> 6 2.300447 44 3 1 task-14
-> 8 2.300447 14 43 1.000000
+> 9 1.866422 15 1 98095000.000000
+> 10 2.082294 15 1 98095000.000000
+> 9 2.102845 14 13 5060664.718311
+> 9 2.102845 14 7 5060664.718311
+> 9 2.102845 14 10 5060664.718311
+> 9 2.102845 14 14 5060664.718311
+> 9 2.102845 14 12 5060664.718311
+> 9 2.102845 14 11 5060664.718311
+> 10 2.300447 14 13 5060664.718311
+> 10 2.300447 14 7 5060664.718311
+> 10 2.300447 14 10 5060664.718311
+> 10 2.300447 14 14 5060664.718311
+> 10 2.300447 14 12 5060664.718311
+> 10 2.300447 14 11 5060664.718311
+> 8 2.300447 18 43 1.000000
> 12 2.300447 4 43 6
> 15 2.300447 7 0 SR 43 13
> 12 2.300447 4 43 5
-> 8 2.300447 14 44 1.000000
+> 8 2.300447 18 44 1.000000
> 12 2.300447 4 44 6
> 13 2.300447 4 44
> 14 2.300447 7 0 SR 44 14
> 7 2.300447 3 44
+> 9 2.082294 15 1 98095000.000000
+> 10 2.300447 15 1 98095000.000000
+> 9 2.300447 15 1 98095000.000000
+> 10 2.376132 15 1 98095000.000000
> 13 2.376132 4 39
> 7 2.376132 3 39
> 6 2.378296 45 3 1 task-15
-> 8 2.378296 14 45 1.000000
+> 8 2.378296 18 45 1.000000
> 12 2.378296 4 45 6
> 13 2.378296 4 45
> 14 2.378296 7 0 SR 45 15
> 7 2.378296 3 45
> 6 2.378296 46 3 1 task-14
-> 8 2.378296 14 46 1.000000
+> 9 1.864258 15 2 76296000.000000
+> 8 2.378296 18 46 1.000000
> 12 2.378296 4 46 6
> 15 2.378296 7 0 SR 46 14
> 12 2.378296 4 46 5
+> 10 2.519600 15 2 76296000.000000
> 13 2.519600 4 37
> 7 2.519600 3 37
> 6 2.685562 47 3 1 task-16
-> 8 2.685562 14 47 1.000000
+> 8 2.685562 18 47 1.000000
> 12 2.685562 4 47 6
> 13 2.685562 4 47
> 14 2.685562 7 0 SR 47 16
> 7 2.685562 3 47
> 6 2.685562 48 3 2 task-15
-> 8 2.685562 14 48 1.000000
+> 9 1.698296 15 4 48492000.000000
+> 9 2.378296 15 1 98095000.000000
+> 8 2.685562 18 48 1.000000
> 12 2.685562 4 48 6
> 15 2.685562 7 0 SR 48 15
> 12 2.685562 4 48 5
+> 10 2.685562 15 1 98095000.000000
+> 10 2.729394 15 4 48492000.000000
> 13 2.729394 4 36
> 7 2.729394 3 36
> 6 2.869854 49 3 1 task-17
-> 8 2.869854 14 49 1.000000
+> 8 2.869854 18 49 1.000000
> 12 2.869854 4 49 6
> 13 2.869854 4 49
> 14 2.869854 7 0 SR 49 17
> 7 2.869854 3 49
> 6 2.869854 50 3 4 task-16
-> 8 2.869854 14 50 1.000000
+> 9 2.685562 15 1 98095000.000000
+> 8 2.869854 18 50 1.000000
> 12 2.869854 4 50 6
> 15 2.869854 7 0 SR 50 16
> 12 2.869854 4 50 5
+> 10 2.869854 15 1 98095000.000000
+> 9 2.869854 15 1 98095000.000000
+> 10 2.888006 15 1 98095000.000000
> 13 2.888006 4 46
> 7 2.888006 3 46
> 6 2.890170 51 3 1 task-18
-> 8 2.890170 14 51 1.000000
+> 8 2.890170 18 51 1.000000
> 12 2.890170 4 51 6
> 13 2.890170 4 51
> 14 2.890170 7 0 SR 51 18
> 7 2.890170 3 51
> 6 2.890170 52 3 1 task-17
-> 8 2.890170 14 52 1.000000
+> 9 2.300447 15 3 76296000.000000
+> 8 2.890170 18 52 1.000000
> 12 2.890170 4 52 6
> 15 2.890170 7 0 SR 52 17
> 12 2.890170 4 52 5
+> 10 2.955790 15 3 76296000.000000
> 13 2.955790 4 43
> 7 2.955790 3 43
+> 9 2.082294 15 5 48492000.000000
+> 10 3.113392 15 5 48492000.000000
> 13 3.113392 4 41
> 7 3.113392 3 41
> 6 3.173943 53 3 1 task-19
-> 8 3.173943 14 53 1.000000
+> 8 3.173943 18 53 1.000000
> 12 3.173943 4 53 6
> 13 3.173943 4 53
> 14 3.173943 7 0 SR 53 19
> 7 3.173943 3 53
> 6 3.173943 54 3 3 task-18
-> 8 3.173943 14 54 1.000000
+> 9 2.685562 15 2 76296000.000000
+> 9 2.890170 15 1 98095000.000000
+> 8 3.173943 18 54 1.000000
> 12 3.173943 4 54 6
> 15 3.173943 7 0 SR 54 18
> 12 3.173943 4 54 5
+> 10 3.173943 15 1 98095000.000000
+> 9 3.194279 14 13 5114134.701194
+> 9 3.194279 14 7 5114134.701194
+> 9 3.194279 14 10 5114134.701194
+> 9 3.194279 14 14 5114134.701194
+> 9 3.194279 14 12 5114134.701194
+> 9 3.194279 14 6 5114134.701194
+> 9 3.194279 14 8 5114134.701194
+> 10 3.340904 15 2 76296000.000000
+> 10 3.340904 14 13 5114134.701194
+> 10 3.340904 14 7 5114134.701194
+> 10 3.340904 14 10 5114134.701194
+> 10 3.340904 14 14 5114134.701194
+> 10 3.340904 14 12 5114134.701194
+> 10 3.340904 14 6 5114134.701194
+> 10 3.340904 14 8 5114134.701194
> 13 3.340904 4 48
> 7 3.340904 3 48
> 6 3.389815 55 3 5 task-19
> 6 3.389815 56 3 1 task-0
-> 1 15 3 finalize "1 1 1"
-> 8 3.389815 14 55 1.000000
+> 1 19 3 finalize "1 1 1"
+> 9 3.340904 14 13 5114134.701194
+> 9 3.340904 14 7 5114134.701194
+> 9 3.340904 14 10 5114134.701194
+> 9 3.340904 14 14 5114134.701194
+> 9 3.340904 14 12 5114134.701194
+> 9 3.340904 14 6 5114134.701194
+> 9 3.340904 14 8 5114134.701194
+> 10 3.389815 14 13 5114134.701194
+> 10 3.389815 14 7 5114134.701194
+> 10 3.389815 14 10 5114134.701194
+> 10 3.389815 14 14 5114134.701194
+> 10 3.389815 14 12 5114134.701194
+> 10 3.389815 14 6 5114134.701194
+> 10 3.389815 14 8 5114134.701194
+> 8 3.389815 18 55 1.000000
> 12 3.389815 4 55 6
> 15 3.389815 7 0 SR 55 19
> 12 3.389815 4 55 5
-> 8 3.389815 15 56 1.000000
+> 8 3.389815 19 56 1.000000
> 12 3.389815 4 56 6
> 13 3.389815 4 56
> 14 3.389815 7 0 SR 56 20
> 7 3.389815 3 56
+> 9 3.173943 15 1 98095000.000000
+> 10 3.389815 15 1 98095000.000000
+> 9 3.389815 15 1 98095000.000000
+> 10 3.399880 15 1 98095000.000000
> 13 3.399880 4 52
> 7 3.399880 3 52
> 6 3.405015 57 3 2 task-0
-> 8 3.405015 15 57 1.000000
+> 8 3.405015 19 57 1.000000
> 12 3.405015 4 57 6
> 15 3.405015 7 0 SR 57 20
> 7 3.405015 3 57
> 6 3.405015 58 3 1 task-1
-> 8 3.405015 15 58 1.000000
+> 8 3.405015 19 58 1.000000
> 12 3.405015 4 58 6
> 13 3.405015 4 58
> 14 3.405015 7 0 SR 58 21
> 7 3.405015 3 58
> 6 3.405171 59 3 1 task-1
-> 8 3.405171 15 59 1.000000
+> 8 3.405171 19 59 1.000000
> 12 3.405171 4 59 6
> 15 3.405171 7 0 SR 59 21
> 7 3.405171 3 59
> 6 3.405171 60 3 1 task-2
-> 8 3.405171 15 60 1.000000
+> 8 3.405171 19 60 1.000000
> 12 3.405171 4 60 6
> 13 3.405171 4 60
> 14 3.405171 7 0 SR 60 22
> 7 3.405171 3 60
+> 9 3.173943 15 3 76296000.000000
+> 10 3.829285 15 3 76296000.000000
> 13 3.829285 4 54
> 7 3.829285 3 54
> 6 3.849836 61 3 1 task-3
-> 8 3.849836 15 61 1.000000
+> 8 3.849836 19 61 1.000000
> 12 3.849836 4 61 6
> 13 3.849836 4 61
> 14 3.849836 7 0 SR 61 23
> 7 3.849836 3 61
> 6 3.849836 62 3 3 task-2
-> 8 3.849836 15 62 1.000000
+> 8 3.849836 19 62 1.000000
> 12 3.849836 4 62 6
> 15 3.849836 7 0 SR 62 22
> 7 3.849836 3 62
+> 9 2.869854 15 4 48492000.000000
+> 10 3.900952 15 4 48492000.000000
> 13 3.900952 4 50
> 7 3.900952 3 50
> 6 3.914183 63 3 1 task-4
-> 8 3.914183 15 63 1.000000
+> 8 3.914183 19 63 1.000000
> 12 3.914183 4 63 6
> 13 3.914183 4 63
> 14 3.914183 7 0 SR 63 24
> 7 3.914183 3 63
> 6 3.914183 64 3 4 task-3
-> 8 3.914183 15 64 1.000000
+> 8 3.914183 19 64 1.000000
> 12 3.914183 4 64 6
> 15 3.914183 7 0 SR 64 23
> 7 3.914183 3 64
+> 9 3.389815 15 5 48492000.000000
+> 10 4.420913 15 5 48492000.000000
> 13 4.420913 4 55
> 7 4.420913 3 55
> 6 4.441249 65 3 5 task-4
-> 8 4.441249 15 65 1.000000
+> 8 4.441249 19 65 1.000000
> 12 4.441249 4 65 6
> 15 4.441249 7 0 SR 65 24
> 7 4.441249 3 65
+++ /dev/null
-/* $Id$ */
-
-/* Copyright (c) 2002,2003,2004 Arnaud Legrand. All rights reserved. */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#include <stdio.h>
-#include "msg/msg.h"
-#include "xbt/sysdep.h" /* calloc, printf */
-
-/* Create a log channel to have nice outputs. */
-#include "xbt/log.h"
-#include "xbt/asserts.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
- "Messages specific for this msg example");
-
-int master(int argc, char *argv[]);
-int slave(int argc, char *argv[]);
-MSG_error_t test_all(const char *platform_file,
- const char *application_file);
-
-/** Emitter function */
-int master(int argc, char *argv[])
-{
- long number_of_tasks = atol(argv[1]);
- long slaves_count = atol(argv[4]);
- int p = 1000000000;
- int c = 10000000;
-
- int i;
- for (i = 0; i < number_of_tasks; i++) {
- m_task_t task = NULL;
- task = MSG_task_create("task_compute", p, c, NULL);
- TRACE_msg_set_task_category(task, "compute");
- MSG_task_send(task, "master_mailbox");
- task = NULL;
- task = MSG_task_create("task_request", p, c, NULL);
- TRACE_msg_set_task_category(task, "request");
- MSG_task_send(task, "master_mailbox");
- task = NULL;
- task = MSG_task_create("task_data", p, c, NULL);
- TRACE_msg_set_task_category(task, "data");
- MSG_task_send(task, "master_mailbox");
- }
-
- for (i = 0; i < slaves_count; i++) {
- m_task_t finalize = MSG_task_create("finalize", 0, 1000, 0);
- TRACE_msg_set_task_category(finalize, "finalize");
- MSG_task_send(finalize, "master_mailbox");
- }
-
- return 0;
-}
-
-/** Receiver function */
-int slave(int argc, char *argv[])
-{
- m_task_t task = NULL;
- int res;
-
- while (1) {
- res = MSG_task_receive(&(task), "master_mailbox");
-
- if (!strcmp(MSG_task_get_name(task), "finalize")) {
- MSG_task_destroy(task);
- break;
- }
-
- MSG_task_execute(task);
- MSG_task_destroy(task);
- task = NULL;
- }
- return 0;
-}
-
-/** Test function */
-MSG_error_t test_all(const char *platform_file,
- const char *application_file)
-{
- MSG_error_t res = MSG_OK;
-
- { /* Simulation setting */
- MSG_set_channel_number(0);
- MSG_create_environment(platform_file);
- }
- {
- //--cfg=tracing/msg/volume
- // - the communication volume among processes expects that:
- // - the processes involved have a category
- // - the sent tasks have a category
-
- //declaring user categories (for tasks)
- TRACE_category_with_color ("compute", "1 0 0"); //red
- TRACE_category_with_color ("request", "0 1 0"); //green
- TRACE_category_with_color ("data", "0 0 1"); //blue
- TRACE_category_with_color ("finalize", "0 0 0");//black
- }
- { /* Application deployment */
- MSG_function_register("master", master);
- MSG_function_register("slave", slave);
- MSG_launch_application(application_file);
- }
- res = MSG_main();
-
- XBT_INFO("Simulation time %g", MSG_get_clock());
- return res;
-}
-
-
-/** Main function */
-int main(int argc, char *argv[])
-{
- MSG_error_t res = MSG_OK;
-
- MSG_global_init(&argc, argv);
- if (argc < 3) {
- printf("Usage: %s platform_file deployment_file\n", argv[0]);
- printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
- exit(1);
- }
-
- res = test_all(argv[1], argv[2]);
- MSG_clean();
-
- if (res == MSG_OK)
- return 0;
- else
- return 1;
-} /* end_of_main */
+++ /dev/null
-#! ./tesh
-
-p Tracing communications among processes of a master/slave application
-
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/volume$EXEEXT --cfg=tracing:1 --cfg=tracing/buffer:1 --cfg=tracing/filename:tracing/volume.trace --cfg=tracing/msg/volume:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/volume.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/volume' to '1'
-> [206.701532] [msg_test/INFO] Simulation time 206.702
-
-$ cat tracing/volume.trace
-> %EventDef PajeDefineContainerType 0
-> % Alias string
-> % ContainerType string
-> % Name string
-> %EndEventDef
-> %EventDef PajeDefineVariableType 1
-> % Alias string
-> % ContainerType string
-> % Name string
-> % Color color
-> %EndEventDef
-> %EventDef PajeDefineStateType 2
-> % Alias string
-> % ContainerType string
-> % Name string
-> %EndEventDef
-> %EventDef PajeDefineEventType 3
-> % Alias string
-> % EntityType string
-> % Name string
-> % Color color
-> %EndEventDef
-> %EventDef PajeDefineLinkType 4
-> % Alias string
-> % ContainerType string
-> % SourceContainerType string
-> % DestContainerType string
-> % Name string
-> %EndEventDef
-> %EventDef PajeDefineEntityValue 5
-> % Alias string
-> % EntityType string
-> % Name string
-> % Color color
-> %EndEventDef
-> %EventDef PajeCreateContainer 6
-> % Time date
-> % Alias string
-> % Type string
-> % Container string
-> % Name string
-> %EndEventDef
-> %EventDef PajeDestroyContainer 7
-> % Time date
-> % Type string
-> % Container string
-> %EndEventDef
-> %EventDef PajeSetVariable 8
-> % Time date
-> % EntityType string
-> % Container string
-> % Value string
-> %EndEventDef
-> %EventDef PajeAddVariable 9
-> % Time date
-> % EntityType string
-> % Container string
-> % Value string
-> %EndEventDef
-> %EventDef PajeSubVariable 10
-> % Time date
-> % EntityType string
-> % Container string
-> % Value string
-> %EndEventDef
-> %EventDef PajeSetState 11
-> % Time date
-> % EntityType string
-> % Container string
-> % Value string
-> %EndEventDef
-> %EventDef PajePushState 12
-> % Time date
-> % EntityType string
-> % Container string
-> % Value string
-> %EndEventDef
-> %EventDef PajePopState 13
-> % Time date
-> % EntityType string
-> % Container string
-> %EndEventDef
-> %EventDef PajeStartLink 14
-> % Time date
-> % EntityType string
-> % Container string
-> % Value string
-> % SourceContainer string
-> % Key string
-> %EndEventDef
-> %EventDef PajeEndLink 15
-> % Time date
-> % EntityType string
-> % Container string
-> % Value string
-> % DestContainer string
-> % Key string
-> %EndEventDef
-> %EventDef PajeNewEvent 16
-> % Time date
-> % EntityType string
-> % Container string
-> % Value string
-> %EndEventDef
-> 0 1 0 HOST
-> 6 0 1 1 0 Tremblay
-> 1 2 1 power "1 1 1"
-> 6 0 2 1 0 Jupiter
-> 6 0 3 1 0 Fafard
-> 6 0 4 1 0 Ginette
-> 6 0 5 1 0 Bourassa
-> 0 3 0 LINK
-> 6 0 6 3 0 6
-> 1 4 3 bandwidth "1 1 1"
-> 1 5 3 latency "1 1 1"
-> 6 0 7 3 0 3
-> 6 0 8 3 0 7
-> 6 0 9 3 0 9
-> 6 0 10 3 0 2
-> 6 0 11 3 0 8
-> 6 0 12 3 0 1
-> 6 0 13 3 0 4
-> 6 0 14 3 0 0
-> 6 0 15 3 0 5
-> 4 6 0 1 3 HOST-LINK
-> 4 7 0 3 3 LINK-LINK
-> 4 8 0 3 1 LINK-HOST
-> 8 0 2 1 98095000.000000
-> 8 0 2 2 76296000.000000
-> 8 0 2 3 76296000.000000
-> 8 0 2 4 48492000.000000
-> 8 0 2 5 48492000.000000
-> 8 0 4 6 41279125.000000
-> 8 0 5 6 0.000060
-> 8 0 4 7 34285625.000000
-> 8 0 5 7 0.000514
-> 8 0 4 8 11618875.000000
-> 8 0 5 8 0.000190
-> 8 0 4 9 7209750.000000
-> 8 0 5 9 0.001462
-> 8 0 4 10 118682500.000000
-> 8 0 5 10 0.000137
-> 8 0 4 11 8158000.000000
-> 8 0 5 11 0.000271
-> 8 0 4 12 34285625.000000
-> 8 0 5 12 0.000514
-> 8 0 4 13 10099625.000000
-> 8 0 5 13 0.000480
-> 8 0 4 14 41279125.000000
-> 8 0 5 14 0.000060
-> 8 0 4 15 27946250.000000
-> 8 0 5 15 0.000278
-> 14 0 6 0 G 3 0
-> 15 0 6 0 G 11 0
-> 14 0 7 0 G 11 1
-> 15 0 7 0 G 12 1
-> 14 0 7 0 G 12 2
-> 15 0 7 0 G 14 2
-> 14 0 7 0 G 14 3
-> 15 0 7 0 G 10 3
-> 14 0 7 0 G 10 4
-> 15 0 7 0 G 7 4
-> 14 0 7 0 G 7 5
-> 15 0 7 0 G 13 5
-> 14 0 8 0 G 13 6
-> 15 0 8 0 G 1 6
-> 14 0 7 0 G 11 7
-> 15 0 7 0 G 6 7
-> 14 0 7 0 G 6 8
-> 15 0 7 0 G 8 8
-> 14 0 8 0 G 8 9
-> 15 0 8 0 G 5 9
-> 14 0 7 0 G 13 10
-> 15 0 7 0 G 9 10
-> 14 0 8 0 G 9 11
-> 15 0 8 0 G 2 11
-> 14 0 7 0 G 10 12
-> 15 0 7 0 G 15 12
-> 14 0 8 0 G 15 13
-> 15 0 8 0 G 4 13
-> 14 0 7 0 G 12 14
-> 15 0 7 0 G 6 14
-> 14 0 6 0 G 1 15
-> 15 0 6 0 G 9 15
-> 14 0 7 0 G 7 16
-> 15 0 7 0 G 15 16
-> 7 206.701532 1 3
-> 7 206.701532 1 1
-> 7 206.701532 3 14
-> 7 206.701532 3 12
-> 7 206.701532 3 10
-> 7 206.701532 3 7
-> 7 206.701532 3 13
-> 7 206.701532 3 15
-> 7 206.701532 3 6
-> 7 206.701532 3 8
-> 7 206.701532 3 11
-> 7 206.701532 3 9
-> 7 206.701532 1 5
-> 7 206.701532 1 2
-> 7 206.701532 1 4
-> 7 206.701532 0 0
-
-$ rm -rf tracing/volume.trace
# (since we want to pass it to the child, it has to be redefined before each command)
# Go for the first test
p Test instrumentation of SMPI
-$ ../../bin/smpirun -trace smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/tracing/platform.xml -np 3 ./smpi_traced
+$ ../../bin/smpirun -trace -trace-resource -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/tracing/platform.xml -np 3 ./smpi_traced
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'TCP_gamma' to '4194304'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
+
+$ rm -f smpi_traced.trace
XBT_PUBLIC(void) TRACE_category(const char *category);
XBT_PUBLIC(void) TRACE_category_with_color (const char *category, const char *color);
-XBT_PUBLIC(void) TRACE_msg_set_task_category(m_task_t task,
- const char *category);
-void TRACE_msg_set_process_category(m_process_t process, const char *category, const char *color);
+XBT_PUBLIC(void) TRACE_msg_set_task_category(m_task_t task, const char *category);
+XBT_PUBLIC(void) TRACE_msg_set_process_category(m_process_t process, const char *category, const char *color);
+XBT_PUBLIC(void) TRACE_smpi_set_category(const char *category);
+XBT_PUBLIC(void) TRACE_sd_set_task_category(SD_task_t task, const char *category);
+
+XBT_PUBLIC(void) TRACE_declare_mark(const char *mark_type);
+XBT_PUBLIC(void) TRACE_mark(const char *mark_type, const char *mark_value);
XBT_PUBLIC(const char *) TRACE_node_name (xbt_node_t node);
XBT_PUBLIC(xbt_graph_t) TRACE_platform_graph (void);
XBT_PUBLIC(void) TRACE_platform_graph_export_graphviz (xbt_graph_t g, const char *filename);
-XBT_PUBLIC(void) TRACE_declare_mark(const char *mark_type);
-XBT_PUBLIC(void) TRACE_mark(const char *mark_type, const char *mark_value);
-XBT_PUBLIC(void) TRACE_smpi_set_category(const char *category);
-XBT_PUBLIC(void) TRACE_sd_set_task_category(SD_task_t task,
- const char *category);
/*
* User-variables related functions
*/
-typedef enum {
- INSTR_US_DECLARE,
- INSTR_US_SET,
- INSTR_US_ADD,
- INSTR_US_SUB,
-} InstrUserVariable;
-
-XBT_PUBLIC(void) TRACE_user_variable(double time,
- const char *resource,
- const char *variable,
- const char *father_type,
- double value,
- InstrUserVariable what);
-
-#define TRACE_host_variable_declare(var) \
- TRACE_user_variable(0,NULL,var,"HOST",0,INSTR_US_DECLARE);
-
-#define TRACE_host_variable_set_with_time(time,host,var,value) \
- TRACE_user_variable(time,host,var,"HOST",value,INSTR_US_SET);
-
-#define TRACE_host_variable_add_with_time(time,host,var,value) \
- TRACE_user_variable(time,host,var,"HOST",value,INSTR_US_ADD);
-
-#define TRACE_host_variable_sub_with_time(time,host,var,value) \
- TRACE_user_variable(time,host,var,"HOST",value,INSTR_US_SUB);
-
-#define TRACE_host_variable_set(host,var,value) \
- TRACE_user_variable(MSG_get_clock(),host,var,"HOST",value,INSTR_US_SET);
-
-#define TRACE_host_variable_add(host,var,value) \
- TRACE_user_variable(MSG_get_clock(),host,var,"HOST",value,INSTR_US_ADD);
-
-#define TRACE_host_variable_sub(host,var,value) \
- TRACE_user_variable(MSG_get_clock(),host,var,"HOST",value,INSTR_US_SUB);
-
-#define TRACE_link_variable_declare(var) \
- TRACE_user_variable(0,NULL,var,"LINK",0,INSTR_US_DECLARE);
-
-#define TRACE_link_variable_set_with_time(time,link,var,value) \
- TRACE_user_variable(time,link,var,"LINK",value,INSTR_US_SET);
-
-#define TRACE_link_variable_add_with_time(time,link,var,value) \
- TRACE_user_variable(time,link,var,"LINK",value,INSTR_US_ADD);
+/* for host variables */
+XBT_PUBLIC(void) TRACE_host_variable_declare (const char *var);
+XBT_PUBLIC(void) TRACE_host_variable_set (const char *host, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_host_variable_add (const char *host, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_host_variable_sub (const char *host, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_host_variable_set_with_time (double time, const char *host, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_host_variable_add_with_time (double time, const char *host, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_host_variable_sub_with_time (double time, const char *host, const char *variable, double value);
+
+/* for link variables */
+XBT_PUBLIC(void) TRACE_link_variable_declare (const char *var);
+XBT_PUBLIC(void) TRACE_link_variable_set (const char *link, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_variable_add (const char *link, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_variable_sub (const char *link, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_variable_set_with_time (double time, const char *link, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_variable_add_with_time (double time, const char *link, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_variable_sub_with_time (double time, const char *link, const char *variable, double value);
+
+/* for link variables, but with src and dst used for get_route */
+XBT_PUBLIC(void) TRACE_link_srcdst_variable_set (const char *src, const char *dst, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_srcdst_variable_add (const char *src, const char *dst, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_srcdst_variable_sub (const char *src, const char *dst, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_srcdst_variable_set_with_time (double time, const char *src, const char *dst, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_srcdst_variable_add_with_time (double time, const char *src, const char *dst, const char *variable, double value);
+XBT_PUBLIC(void) TRACE_link_srcdst_variable_sub_with_time (double time, const char *src, const char *dst, const char *variable, double value);
-#define TRACE_link_variable_sub_with_time(time,link,var,value) \
- TRACE_user_variable(time,link,var,"LINK",value,INSTR_US_SUB);
-
-#define TRACE_link_variable_set(link,var,value) \
- TRACE_user_variable(MSG_get_clock(),link,var,"LINK",value,INSTR_US_SET);
+#else /* HAVE_TRACING */
-#define TRACE_link_variable_add(link,var,value) \
- TRACE_user_variable(MSG_get_clock(),link,var,"LINK",value,INSTR_US_ADD);
+#define TRACE_category(category)
+#define TRACE_category_with_color(category,color)
+#define TRACE_msg_set_task_category(task,category)
+#define TRACE_msg_set_process_category(process,category,color)
+#define TRACE_smpi_set_category(category)
+#define TRACE_sd_set_task_category(task,category)
-#define TRACE_link_variable_sub(link,var,value) \
- TRACE_user_variable(MSG_get_clock(),link,var,"LINK",value,INSTR_US_SUB);
+#define TRACE_declare_mark(mark_type)
+#define TRACE_mark(mark_type,mark_value)
-#else /* HAVE_TRACING */
-
-#define TRACE_category(cat)
-#define TRACE_category_with_color(cat,color)
-#define TRACE_msg_set_task_category(task,cat)
-#define TRACE_msg_set_process_category(proc,cat,color)
-#define TRACE_set_mask(mask)
+#define TRACE_node_name(node)
+#define TRACE_platform_graph(void)
+#define TRACE_platform_graph_export_graphviz(g,filename)
#define TRACE_host_variable_declare(var)
-#define TRACE_host_variable_set_with_time(time,host,var,value)
-#define TRACE_host_variable_add_with_time(time,host,var,value)
-#define TRACE_host_variable_sub_with_time(time,host,var,value)
#define TRACE_host_variable_set(host,var,value)
#define TRACE_host_variable_add(host,var,value)
#define TRACE_host_variable_sub(host,var,value)
+#define TRACE_host_variable_set_with_time(time,host,var,value)
+#define TRACE_host_variable_add_with_time(time,host,var,value)
+#define TRACE_host_variable_sub_with_time(time,host,var,value)
+
#define TRACE_link_variable_declare(var)
-#define TRACE_link_variable_set_with_time(time,link,var,value)
-#define TRACE_link_variable_add_with_time(time,link,var,value)
-#define TRACE_link_variable_sub_with_time(time,link,var,value)
#define TRACE_link_variable_set(link,var,value)
#define TRACE_link_variable_add(link,var,value)
#define TRACE_link_variable_sub(link,var,value)
-#define TRACE_declare_mark(type)
-#define TRACE_mark(type,value)
-#define TRACE_smpi_set_category(cat)
-#define TRACE_sd_set_task_category(task,cat)
+#define TRACE_link_variable_set_with_time(time,link,var,value)
+#define TRACE_link_variable_add_with_time(time,link,var,value)
+#define TRACE_link_variable_sub_with_time(time,link,var,value)
+
+#define TRACE_link_srcdst_variable_set(src,dst,var,value)
+#define TRACE_link_srcdst_variable_add(src,dst,var,value)
+#define TRACE_link_srcdst_variable_sub(src,dst,var,value)
+#define TRACE_link_srcdst_variable_set_with_time(time,src,dst,var,value)
+#define TRACE_link_srcdst_variable_add_with_time(time,src,dst,var,value)
+#define TRACE_link_srcdst_variable_sub_with_time(time,src,dst,var,value)
#endif /* HAVE_TRACING */
/* XML processor/application API for src/surf/simgrid.dtd.
- * Generated 2011/04/11 09:38:38.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
/* XML processor/application API for src/xbt/graphxml.dtd.
- * Generated 2010/12/01 17:15:43.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_config, instr, "Configuration");
#define OPT_TRACING "tracing"
+#define OPT_TRACING_PLATFORM "tracing/platform"
#define OPT_TRACING_SMPI "tracing/smpi"
#define OPT_TRACING_SMPI_GROUP "tracing/smpi/group"
#define OPT_TRACING_CATEGORIZED "tracing/categorized"
#define OPT_TRACING_UNCATEGORIZED "tracing/uncategorized"
#define OPT_TRACING_MSG_TASK "tracing/msg/task"
#define OPT_TRACING_MSG_PROCESS "tracing/msg/process"
-#define OPT_TRACING_MSG_VOLUME "tracing/msg/volume"
#define OPT_TRACING_FILENAME "tracing/filename"
#define OPT_TRACING_BUFFER "tracing/buffer"
#define OPT_TRACING_ONELINK_ONLY "tracing/onelink_only"
#define OPT_TRIVA_CAT_CONF "triva/categorized"
static int trace_enabled;
+static int trace_platform;
static int trace_smpi_enabled;
static int trace_smpi_grouped;
static int trace_categorized;
static int trace_uncategorized;
static int trace_msg_task_enabled;
static int trace_msg_process_enabled;
-static int trace_msg_volume_enabled;
static int trace_buffer;
static int trace_onelink_only;
static void TRACE_getopts(void)
{
trace_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING);
+ trace_platform = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_PLATFORM);
trace_smpi_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_SMPI);
trace_smpi_grouped = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_SMPI_GROUP);
trace_categorized = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_CATEGORIZED);
trace_uncategorized = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_UNCATEGORIZED);
trace_msg_task_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_MSG_TASK);
trace_msg_process_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_MSG_PROCESS);
- trace_msg_volume_enabled = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_MSG_VOLUME);
trace_buffer = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_BUFFER);
trace_onelink_only = xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_ONELINK_ONLY);
}
TRACE_paje_start();
/* activate trace */
- TRACE_activate ();
+ xbt_assert (trace_active==0, "Tracing is already active.");
+ trace_active = 1;
+ XBT_DEBUG ("Tracing is on");
/* other trace initialization */
created_categories = xbt_dict_new();
int TRACE_end()
{
- if (!TRACE_is_active())
+ if (!trace_active)
return 1;
/* generate uncategorized graph configuration for triva */
/* close the trace file */
TRACE_paje_end();
- /* activate trace */
- TRACE_desactivate ();
+ /* de-activate trace */
+ trace_active = 0;
+ XBT_DEBUG ("Tracing is off");
XBT_DEBUG("Tracing system is shutdown");
return 0;
}
-void TRACE_activate (void)
+int TRACE_needs_platform (void)
{
- xbt_assert (trace_active==0, "Tracing is already active.");
- trace_active = 1;
- XBT_DEBUG ("Tracing is on");
+ return TRACE_msg_process_is_enabled() ||
+ TRACE_msg_task_is_enabled() ||
+ TRACE_categorized() ||
+ TRACE_uncategorized() ||
+ TRACE_platform () ||
+ (TRACE_smpi_is_enabled() && TRACE_smpi_is_grouped());
}
-void TRACE_desactivate (void)
-{
- trace_active = 0;
- XBT_DEBUG ("Tracing is off");
-}
-
-int TRACE_is_active (void)
+int TRACE_is_enabled(void)
{
- return trace_active;
+ return trace_enabled;
}
-int TRACE_is_enabled(void)
+int TRACE_platform(void)
{
- return trace_enabled;
+ return trace_platform;
}
int TRACE_is_configured(void)
int TRACE_smpi_is_enabled(void)
{
- return trace_smpi_enabled && TRACE_is_enabled();
+ return (xbt_cfg_get_int(_surf_cfg_set, OPT_TRACING_SMPI) ||
+ TRACE_smpi_is_grouped())&&
+ TRACE_is_enabled();
}
int TRACE_smpi_is_grouped(void)
return trace_msg_process_enabled && TRACE_is_enabled();
}
-int TRACE_msg_volume_is_enabled(void)
-{
- return trace_msg_volume_enabled && TRACE_is_enabled();
-}
-
int TRACE_buffer (void)
{
return trace_buffer && TRACE_is_enabled();
xbt_cfgelm_int, &default_tracing, 0, 1,
NULL, NULL);
+ /* tracing platform*/
+ int default_tracing_platform = 0;
+ xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_PLATFORM,
+ "Enable Tracing Platform.",
+ xbt_cfgelm_int, &default_tracing_platform, 0, 1,
+ NULL, NULL);
+
/* smpi */
int default_tracing_smpi = 0;
xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_SMPI,
/* platform */
- int default_tracing_platform = 0;
+ int default_tracing_categorized = 0;
xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_CATEGORIZED,
"Tracing of categorized platform (host and link) utilization.",
- xbt_cfgelm_int, &default_tracing_platform, 0, 1,
+ xbt_cfgelm_int, &default_tracing_categorized, 0, 1,
NULL, NULL);
/* tracing uncategorized resource utilization */
xbt_cfgelm_int, &default_tracing_msg_process, 0, 1,
NULL, NULL);
- /* msg volume (experimental) */
- int default_tracing_msg_volume = 0;
- xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_MSG_VOLUME,
- "Tracing of MSG communication volume (experimental).",
- xbt_cfgelm_int, &default_tracing_msg_volume, 0, 1,
- NULL, NULL);
-
- /* msg volume (experimental) */
+ /* tracing buffer */
int default_buffer = 0;
xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_BUFFER,
"Buffer trace events to put them in temporal order.",
xbt_cfgelm_int, &default_buffer, 0, 1,
NULL, NULL);
- /* msg volume (experimental) */
+ /* tracing one link only */
int default_onelink_only = 0;
xbt_cfg_register(&_surf_cfg_set, OPT_TRACING_ONELINK_ONLY,
"Use only routes with one link to trace platform.",
" behavior of all categorized MSG processes, grouping them by hosts. This option\n"
" can be used to track process location if this simulator has process migration.",
detailed);
- print_line (OPT_TRACING_MSG_VOLUME, "Tracing of communication volume (MSG)",
- " This experimental option only has effect if this simulator is MSG-based.\n"
- " It traces the communication volume of MSG send/receive.",
- detailed);
print_line (OPT_TRACING_BUFFER, "Buffer events to put them in temporal order",
" This option put some events in a time-ordered buffer using the insertion\n"
" sort algorithm. The process of acquiring and releasing locks to access this\n"
}
#undef OPT_TRACING
+#undef OPT_TRACING_PLATFORM
#undef OPT_TRACING_SMPI
#undef OPT_TRACING_SMPI_GROUP
#undef OPT_TRACING_CATEGORIZED
#ifdef HAVE_TRACING
#include "instr/instr_private.h"
+#include "surf/network_private.h"
+
+typedef enum {
+ INSTR_US_DECLARE,
+ INSTR_US_SET,
+ INSTR_US_ADD,
+ INSTR_US_SUB,
+} InstrUserVariable;
XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_api, instr, "API");
void TRACE_category_with_color (const char *category, const char *color)
{
- if (!(TRACE_is_active() && category != NULL))
+ if (!(TRACE_categorized() && category != NULL))
return;
xbt_assert (instr_platform_traced(),
XBT_DEBUG("CAT,declare %s, %s", category, final_color);
-//FIXME
-// - if (final) {
-// - //for m_process_t
-// - if (TRACE_msg_process_is_enabled())
-// - pajeDefineContainerType("process", type, "process");
-// - if (TRACE_msg_process_is_enabled())
-// - pajeDefineStateType("process-state", "process", "process-state");
-// -
-// - if (TRACE_msg_task_is_enabled())
-// - pajeDefineContainerType("task", type, "task");
-// - if (TRACE_msg_task_is_enabled())
-// - pajeDefineStateType("task-state", "task", "task-state");
-// - }
-
//define the type of this category on top of hosts and links
- if (TRACE_categorized ()){
- instr_new_variable_type (category, final_color);
- }
+ instr_new_variable_type (category, final_color);
}
void TRACE_declare_mark(const char *mark_type)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return;
if (!mark_type)
return;
void TRACE_mark(const char *mark_type, const char *mark_value)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return;
if (!mark_type || !mark_value)
return;
new_pajeNewEvent (MSG_get_clock(), getRootContainer(), type, value);
}
-void TRACE_user_variable(double time,
+static void instr_user_variable(double time,
const char *resource,
const char *variable,
const char *father_type,
double value,
InstrUserVariable what)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return;
xbt_assert (instr_platform_traced(),
}
}
+static void instr_user_srcdst_variable(double time,
+ const char *src,
+ const char *dst,
+ const char *variable,
+ const char *father_type,
+ double value,
+ InstrUserVariable what)
+{
+ xbt_dynar_t route = global_routing->get_route (src, dst);
+ unsigned int i;
+ void *link;
+ xbt_dynar_foreach (route, i, link) {
+ char *link_name = ((link_CM02_t)link)->lmm_resource.generic_resource.name;
+ instr_user_variable (time, link_name, variable, father_type, value, what);
+ }
+}
+
const char *TRACE_node_name (xbt_node_t node)
{
void *data = xbt_graph_node_get_data(node);
xbt_graph_t TRACE_platform_graph (void)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return NULL;
return instr_routing_platform_graph ();
instr_routing_platform_graph_export_graphviz (g, filename);
}
+
+/*
+ * Derived functions that use instr_user_variable and TRACE_user_srcdst_variable.
+ * They were previously defined as pre-processors directives, but were transformed
+ * into functions so the user can track them using gdb.
+ */
+
+/* for host variables */
+void TRACE_host_variable_declare (const char *var)
+{
+ instr_user_variable(0, NULL, var, "HOST", 0, INSTR_US_DECLARE);
+}
+
+void TRACE_host_variable_set (const char *host, const char *variable, double value)
+{
+ TRACE_host_variable_set_with_time (MSG_get_clock(), host, variable, value);
+}
+
+void TRACE_host_variable_add (const char *host, const char *variable, double value)
+{
+ TRACE_host_variable_add_with_time (MSG_get_clock(), host, variable, value);
+}
+
+void TRACE_host_variable_sub (const char *host, const char *variable, double value)
+{
+ TRACE_host_variable_sub_with_time (MSG_get_clock(), host, variable, value);
+}
+
+void TRACE_host_variable_set_with_time (double time, const char *host, const char *variable, double value)
+{
+ instr_user_variable(time, host, variable, "HOST", value, INSTR_US_SET);
+}
+
+void TRACE_host_variable_add_with_time (double time, const char *host, const char *variable, double value)
+{
+ instr_user_variable(time, host, variable, "HOST", value, INSTR_US_ADD);
+}
+
+void TRACE_host_variable_sub_with_time (double time, const char *host, const char *variable, double value)
+{
+ instr_user_variable(time, host, variable, "HOST", value, INSTR_US_SUB);
+}
+
+/* for link variables */
+void TRACE_link_variable_declare (const char *var)
+{
+ instr_user_variable (0, NULL, var, "LINK", 0, INSTR_US_DECLARE);
+}
+
+void TRACE_link_variable_set (const char *link, const char *variable, double value)
+{
+ TRACE_link_variable_set_with_time (MSG_get_clock(), link, variable, value);
+}
+
+void TRACE_link_variable_add (const char *link, const char *variable, double value)
+{
+ TRACE_link_variable_add_with_time (MSG_get_clock(), link, variable, value);
+}
+
+void TRACE_link_variable_sub (const char *link, const char *variable, double value)
+{
+ TRACE_link_variable_sub_with_time (MSG_get_clock(), link, variable, value);
+}
+
+void TRACE_link_variable_set_with_time (double time, const char *link, const char *variable, double value)
+{
+ instr_user_variable (time, link, variable, "LINK", value, INSTR_US_SET);
+}
+
+void TRACE_link_variable_add_with_time (double time, const char *link, const char *variable, double value)
+{
+ instr_user_variable (time, link, variable, "LINK", value, INSTR_US_ADD);
+}
+
+void TRACE_link_variable_sub_with_time (double time, const char *link, const char *variable, double value)
+{
+ instr_user_variable (time, link, variable, "LINK", value, INSTR_US_SUB);
+}
+
+/* for link variables, but with src and dst used for get_route */
+void TRACE_link_srcdst_variable_set (const char *src, const char *dst, const char *variable, double value)
+{
+ TRACE_link_srcdst_variable_set_with_time (MSG_get_clock(), src, dst, variable, value);
+}
+
+void TRACE_link_srcdst_variable_add (const char *src, const char *dst, const char *variable, double value)
+{
+ TRACE_link_srcdst_variable_add_with_time (MSG_get_clock(), src, dst, variable, value);
+}
+
+void TRACE_link_srcdst_variable_sub (const char *src, const char *dst, const char *variable, double value)
+{
+ TRACE_link_srcdst_variable_sub_with_time (MSG_get_clock(), src, dst, variable, value);
+}
+
+void TRACE_link_srcdst_variable_set_with_time (double time, const char *src, const char *dst, const char *variable, double value)
+{
+ instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_SET);
+}
+
+void TRACE_link_srcdst_variable_add_with_time (double time, const char *src, const char *dst, const char *variable, double value)
+{
+ instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_ADD);
+}
+
+void TRACE_link_srcdst_variable_sub_with_time (double time, const char *src, const char *dst, const char *variable, double value)
+{
+ instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_SUB);
+}
+
#endif /* HAVE_TRACING */
*/
void TRACE_msg_set_task_category(m_task_t task, const char *category)
{
- if (!TRACE_is_active())
+ if (!TRACE_categorized())
return;
xbt_assert(task->category == NULL, "Task %p(%s) already has a category (%s).",
if (TRACE_msg_task_is_enabled()){
- //FIXME
- //if (TRACE_msg_volume_is_enabled()){
- // TRACE_msg_volume_end(task);
- //}
-
m_host_t host = MSG_host_self();
container_t host_container = getContainer(host->name);
container_t msg = newContainer(task->name, INSTR_MSG_TASK, host_container);
new_pajeStartLink(MSG_get_clock(), getRootContainer(), type, msg, "SR", key);
destroyContainer (msg);
-
- //FIXME
- //if (TRACE_msg_volume_is_enabled()){
- // TRACE_msg_volume_start(task);
- //}
}
if (TRACE_msg_process_is_enabled()){
+++ /dev/null
-/* Copyright (c) 2010. The SimGrid Team.
- * All rights reserved. */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#include "instr/instr_private.h"
-
-#ifdef HAVE_TRACING
-
-void TRACE_msg_volume_start(m_task_t task)
-{
- xbt_die ("tracing/msg/volume:1 is deprecated.");
-// m_process_t process = NULL;
-// m_host_t host = NULL;
-// char process_name[200], process_alias[200];
-// char task_name[200];
-// double volume = 0;
-// if (!TRACE_msg_volume_is_enabled())
-// return;
-//
-// /* check if task is traced */
-// if (!task->category)
-// return;
-//
-// /* check if process is traced */
-// process = MSG_process_self();
-// if (!process->category)
-// return;
-//
-// host = MSG_process_get_host(process);
-// TRACE_process_container(process, process_name, 200);
-// TRACE_process_alias_container(process, host, process_alias, 200);
-// TRACE_task_container(task, task_name, 200);
-//
-// volume = MSG_task_get_data_size(task);
-//
-// pajeStartLinkWithVolume(MSG_get_clock(), "volume", "0", task->category,
-// process_alias, task_name, volume);
-}
-
-void TRACE_msg_volume_finish(m_task_t task)
-{
- xbt_die ("tracing/msg/volume:1 is deprecated.");
-// char process_name[200], process_alias[200];
-// char task_name[200];
-// m_process_t process = NULL;
-// m_host_t host = NULL;
-// if (!TRACE_msg_volume_is_enabled())
-// return;
-//
-// /* check if task is traced */
-// if (!task->category)
-// return;
-//
-// /* check if process is traced */
-// process = MSG_process_self();
-// if (!process->category)
-// return;
-//
-// host = MSG_process_get_host(process);
-// TRACE_process_container(process, process_name, 200);
-// TRACE_process_alias_container(process, host, process_alias, 200);
-// TRACE_task_container(task, task_name, 200);
-//
-// pajeEndLink(MSG_get_clock(), "volume", "0", task->category,
-// process_alias, task_name);
-}
-
-#endif /* HAVE_TRACING */
//dumps the trace file until the timestamp TRACE_last_timestamp_to_dump
void TRACE_paje_dump_buffer (int force)
{
+ if (!TRACE_is_enabled()) return;
XBT_DEBUG("%s: dump until %f. starts", __FUNCTION__, TRACE_last_timestamp_to_dump);
if (force){
paje_event_t event;
void TRACE_msg_process_sleep_out(m_process_t process);
void TRACE_msg_process_end(m_process_t process);
-/* declaration of instrumentation functions from msg_volume.c */
-void TRACE_msg_volume_start(m_task_t task);
-void TRACE_msg_volume_finish(m_task_t task);
-
-/* from smx.c */
-void TRACE_smx_host_execute(smx_action_t act);
-void TRACE_smx_action_communicate(smx_action_t act, smx_process_t proc);
-void TRACE_smx_action_destroy(smx_action_t act);
-
/* from surf_instr.c */
void TRACE_surf_alloc(void);
void TRACE_surf_release(void);
/* from instr_config.c */
int TRACE_start (void);
int TRACE_end (void);
-void TRACE_activate (void);
-void TRACE_desactivate (void);
-int TRACE_is_active (void);
+int TRACE_needs_platform (void);
int TRACE_is_enabled(void);
+int TRACE_platform(void);
int TRACE_is_configured(void);
int TRACE_smpi_is_enabled(void);
int TRACE_smpi_is_grouped(void);
int TRACE_uncategorized (void);
int TRACE_msg_task_is_enabled(void);
int TRACE_msg_process_is_enabled(void);
-int TRACE_msg_volume_is_enabled(void);
int TRACE_buffer (void);
int TRACE_onelink_only (void);
char *TRACE_get_filename(void);
double value, double now,
double delta)
{
- if (!TRACE_is_active())
- return;
- if (!value)
- return;
//only trace link utilization if link is known by tracing mechanism
if (!knownContainerWithName(resource))
return;
double value, double now,
double delta)
{
- if (!TRACE_is_active())
- return;
//only trace host utilization if host is known by tracing mechanism
if (!knownContainerWithName(resource))
return;
container_t root = newContainer (A_surfxml_AS_id, INSTR_AS, NULL);
instr_paje_init (root);
- currentContainer = xbt_dynar_new (sizeof(container_t), NULL);
- xbt_dynar_push (currentContainer, &root);
-
if (TRACE_smpi_is_enabled()) {
if (!TRACE_smpi_is_grouped()){
- container_t father = *(container_t*)xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
- type_t mpi = getContainerType("MPI", father->type);
+ type_t mpi = getContainerType("MPI", root->type);
getStateType ("MPI_STATE", mpi);
getLinkType ("MPI_LINK", getRootType(), mpi, mpi);
}
}
+ if (TRACE_needs_platform()){
+ currentContainer = xbt_dynar_new (sizeof(container_t), NULL);
+ xbt_dynar_push (currentContainer, &root);
+ }
return;
}
- container_t father = *(container_t*)xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
- container_t new = newContainer (A_surfxml_AS_id, INSTR_AS, father);
- //push
- xbt_dynar_push (currentContainer, &new);
+ if (TRACE_needs_platform()){
+ container_t father = *(container_t*)xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
+ container_t new = newContainer (A_surfxml_AS_id, INSTR_AS, father);
+ xbt_dynar_push (currentContainer, &new);
+ }
}
static void instr_routing_parse_end_AS ()
{
- xbt_dynar_pop_ptr (currentContainer);
+ if (TRACE_needs_platform()){
+ xbt_dynar_pop_ptr (currentContainer);
+ }
}
static void instr_routing_parse_start_link ()
container_t new = newContainer (link_name, INSTR_LINK, father);
- type_t bandwidth = getVariableType ("bandwidth", NULL, new->type);
- type_t latency = getVariableType ("latency", NULL, new->type);
- new_pajeSetVariable (0, new, bandwidth, bandwidth_value);
- new_pajeSetVariable (0, new, latency, latency_value);
+ if (TRACE_categorized() || TRACE_uncategorized()){
+ type_t bandwidth = getVariableType ("bandwidth", NULL, new->type);
+ type_t latency = getVariableType ("latency", NULL, new->type);
+ new_pajeSetVariable (0, new, bandwidth, bandwidth_value);
+ new_pajeSetVariable (0, new, latency, latency_value);
+ }
if (TRACE_uncategorized()){
getVariableType ("bandwidth_used", "0.5 0.5 0.5", new->type);
}
container_t father = *(container_t*)xbt_dynar_get_ptr(currentContainer, xbt_dynar_length(currentContainer)-1);
container_t new = newContainer (A_surfxml_host_id, INSTR_HOST, father);
- type_t power = getVariableType ("power", NULL, new->type);
- new_pajeSetVariable (0, new, power, atof(A_surfxml_host_power));
+ if (TRACE_categorized() || TRACE_uncategorized()) {
+ type_t power = getVariableType ("power", NULL, new->type);
+ new_pajeSetVariable (0, new, power, atof(A_surfxml_host_power));
+ }
if (TRACE_uncategorized()){
getVariableType ("power_used", "0.5 0.5 0.5", new->type);
}
- if (TRACE_smpi_is_enabled()) {
- if (TRACE_smpi_is_grouped()){
- type_t mpi = getContainerType("MPI", new->type);
- getStateType ("MPI_STATE", mpi);
- getLinkType ("MPI_LINK", getRootType(), mpi, mpi);
- }
+ if (TRACE_smpi_is_enabled() && TRACE_smpi_is_grouped()){
+ type_t mpi = getContainerType("MPI", new->type);
+ getStateType ("MPI_STATE", mpi);
+ getLinkType ("MPI_LINK", getRootType(), mpi, mpi);
}
if (TRACE_msg_process_is_enabled()) {
void instr_routing_define_callbacks ()
{
- if (!TRACE_is_active())
- return;
+ if (!TRACE_is_enabled()) return;
+ //always need the call backs to ASes (we need only the root AS),
+ //to create the rootContainer and the rootType properly
surfxml_add_callback(STag_surfxml_AS_cb_list, &instr_routing_parse_start_AS);
surfxml_add_callback(ETag_surfxml_AS_cb_list, &instr_routing_parse_end_AS);
+ if (!TRACE_needs_platform()) return;
surfxml_add_callback(STag_surfxml_link_cb_list, &instr_routing_parse_start_link);
surfxml_add_callback(ETag_surfxml_link_cb_list, &instr_routing_parse_end_link);
surfxml_add_callback(STag_surfxml_host_cb_list, &instr_routing_parse_start_host);
void TRACE_sd_set_task_category(SD_task_t task, const char *category)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return;
task->category = xbt_strdup (category);
}
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "instr/instr_private.h"
+#include <ctype.h>
+#include <wchar.h>
+
#ifdef HAVE_TRACING
static xbt_dict_t keys;
+static const char *smpi_colors[] ={
+ "recv", "255 000 000",
+ "irecv", "255 135 135",
+ "send", "000 000 255",
+ "isend", "135 135 255",
+ "sendrecv", "000 255 255",
+ "wait", "255 255 000",
+ "waitall", "200 200 000",
+ "waitany", "200 200 150",
+
+ "allgather", "255 000 000",
+ "allgatherv", "255 135 135",
+ "allreduce", "255 000 255",
+ "alltoall", "135 000 255",
+ "alltoallv", "200 135 255",
+ "barrier", "000 200 200",
+ "bcast", "000 200 100",
+ "gather", "255 255 000",
+ "gatherv", "255 255 135",
+ "reduce", "000 255 000",
+ "reducescatter", "135 255 135",
+ "scan", "255 150 060",
+ "scatterv", "135 000 135",
+ "scatter", "255 190 140",
+
+ NULL, NULL,
+};
+
+static char *str_tolower (const char *str)
+{
+ char *ret = xbt_strdup (str);
+ int i, n = strlen (ret);
+ for (i = 0; i < n; i++)
+ ret[i] = tolower (str[i]);
+ return ret;
+}
+
+static const char *instr_find_color (const char *state)
+{
+ char *target = str_tolower (state);
+ const char *ret = NULL;
+ const char *current;
+ unsigned int i = 0;
+ while ((current = smpi_colors[i])){
+ if (strcmp (state, current) == 0){ ret = smpi_colors[i+1]; break; } //exact match
+ if (strstr(target, current)) { ret = smpi_colors[i+1]; break; }; //as substring
+ i+=2;
+ }
+ free (target);
+ return ret;
+}
+
+
static char *smpi_container(int rank, char *container, int n)
{
snprintf(container, n, "rank-%d", rank);
void TRACE_smpi_start(void)
{
- if (!TRACE_smpi_is_enabled()) return;
-
TRACE_start();
}
smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE);
container_t container = getContainer (str);
type_t type = getType ("MPI_STATE", container->type);
- val_t value = getValue (operation, "1 1 1", type);
+ const char *color = instr_find_color (operation);
+ val_t value = getValue (operation, color, type);
new_pajePushState (SIMIX_get_clock(), container, type, value);
}
{
if (!TRACE_smpi_is_enabled()) return;
+
char str[INSTR_DEFAULT_STR_SIZE];
smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE);
container_t container = getContainer (str);
type_t type = getType ("MPI_STATE", container->type);
- val_t value = getValue (operation, "1 1 1", type);
+ const char *color = instr_find_color (operation);
+ val_t value = getValue (operation, color, type);
new_pajePushState (SIMIX_get_clock(), container, type, value);
}
+++ /dev/null
-/* Copyright (c) 2010. The SimGrid Team.
- * All rights reserved. */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#include "instr/instr_private.h"
-
-#ifdef HAVE_TRACING
-
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_simix, instr, "Tracing Simix");
-
-void TRACE_smx_host_execute(smx_action_t act)
-{
- if (!TRACE_is_active()) return;
- return;
-}
-
-void TRACE_smx_action_communicate(smx_action_t act, smx_process_t proc)
-{
- if (!TRACE_is_active()) return;
- return;
-}
-
-void TRACE_smx_action_destroy(smx_action_t act)
-{
- if (!TRACE_is_active()) return;
- return;
-}
-
-#endif /* HAVE_TRACING */
void TRACE_surf_host_set_power(double date, const char *resource, double power)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return;
container_t container = getContainerByName(resource);
void TRACE_surf_link_set_bandwidth(double date, const char *resource, double bandwidth)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return;
container_t container = getContainerByName(resource);
//FIXME: this function is not used (latency availability traces support exists in surf network models?)
void TRACE_surf_link_set_latency(double date, const char *resource, double latency)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return;
container_t container = getContainerByName(resource);
void TRACE_surf_action(surf_action_t surf_action, const char *category)
{
- if (!TRACE_is_active())
+ if (!TRACE_is_enabled())
return;
if (!TRACE_categorized ())
return;
/* Try to send it by calling SIMIX network layer */
TRY {
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
comm = SIMIX_req_comm_isend(mailbox, t_simdata->message_size,
t_simdata->rate, task, sizeof(void *),
NULL, NULL, 0);
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *dax_text;
-/* Validating XML processor for /home/mquinson/Code/simgrid/src/simdag/dax.dtd.
- * Generated 2010/12/01 17:15:43.
+/* Validating XML processor for src/simdag/dax.dtd.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
/* XML processor/application API for src/simdag/dax.dtd.
- * Generated 2010/12/01 17:15:43.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
-/* Validating XML processor for /home/mquinson/Code/simgrid/src/simdag/dax.dtd.
- * Generated 2010/12/01 17:15:43.
+/* Validating XML processor for src/simdag/dax.dtd.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
surf_workstation_model->set_priority(action->execution.surf_exec, priority);
}
-#ifdef HAVE_TRACING
- TRACE_smx_host_execute(action);
-#endif
-
XBT_DEBUG("Create execute action %p", action);
return action;
action->execution.surf_exec = NULL;
}
-#ifdef HAVE_TRACING
- TRACE_smx_action_destroy(action);
-#endif
xbt_mallocator_release(simix_global->action_mallocator, action);
}
action->latency_limited = SIMIX_comm_is_latency_bounded( action ) ;
#endif
-#ifdef HAVE_TRACING
- TRACE_smx_action_destroy(action);
-#endif
-
xbt_free(action->name);
SIMIX_comm_destroy_internal_actions(action);
action->state = SIMIX_RUNNING;
-#ifdef HAVE_TRACING
- TRACE_smx_action_communicate(action, action->comm.src_proc);
-#endif
-
/* If a link is failed, detect it immediately */
if (surf_workstation_model->action_state_get(action->comm.surf_comm) == SURF_ACTION_FAILED) {
XBT_DEBUG("Communication from '%s' to '%s' failed to start because of a link failure",
XBT_DEBUG("Destroy action %p", action);
if (action->sleep.surf_sleep)
action->sleep.surf_sleep->model_type->action_unref(action->sleep.surf_sleep);
-#ifdef HAVE_TRACING
- TRACE_smx_action_destroy(action);
-#endif
xbt_mallocator_release(simix_global->action_mallocator, action);
}
SIMOPTS="--cfg=maxmin/precision:1e-9 --cfg=network/model:SMPI --cfg=TCP_gamma:4194304"
-
#usage to print the way this script should be called
function usage () {
echo "usage:"
- echo "$0 [-quiet] [-keep-temps] [-trace <tracefile>] [-np <numprocs>] -platform <xmldesc> -hostfile <hostfile> [-map] program [program-options]"
+ echo "$0 [-quiet] [-keep-temps]"
+ echo " [-np <numprocs>] -platform <xmldesc> -hostfile <hostfile> [-map] program [program-options]"
+ echo " [-trace] # activate tracing"
+ echo " [-trace-grouped] # group MPI processes by location"
+ echo " [-trace-resource] # trace resource utilization"
+ echo " [-trace-triva] # generate configuration for Triva's GraphView"
+ echo " [-trace-file <tracefile>] # name of the tracefile (simgrid_smpi.trace)"
echo "or (deprecated usage):"
echo "$0 [-quiet] [-keep-temps] [-np <numprocs>] [-bandwidth <bytes/sec>] [-latency <secs>] program [program-options]"
echo
exit
fi
-
while true; do
case "$1" in
"-np" | "-n")
;;
"-trace")
- TRACEOPT="$2"
- shift 2
+ TRACE_ACTIVE="true"
+ shift 1
+ ;;
+
+ "-trace-file")
+ TRACE_FILENAME="$2"
+ shift 2
;;
"-trace-grouped")
- TRACE_GROUPED="true"
+ TRACE_GROUPED="true"
shift 1
;;
- "-triva")
- TRIVA="true"
+ "-trace-resource")
+ TRACE_RESOURCE="true"
+ shift 1
+ ;;
+
+ "-trace-triva")
+ TRACE_TRIVA="true"
shift 1
;;
##-------------------------------- end DEFAULT APPLICATION --------------------------------------
##---------------------- SMPI TRACING OPTIONS ---------------------------------
- if [ -n "${TRACEOPT}" ]; then
- TRACEOPTIONS="--cfg=tracing:1 --cfg=tracing/filename:${TRACEOPT} --cfg=tracing/smpi:1 --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1"
- else
- TRACEOPTIONS=""
+if [ -n "${TRACE_ACTIVE}" ]; then
+ #define trace filename
+ if [ -z "${TRACE_FILENAME}" ]; then
+ TRACE_FILENAME="smpi_simgrid.trace"
fi
+ TRACEOPTIONS="--cfg=tracing:1 --cfg=tracing/filename:${TRACE_FILENAME} --cfg=tracing/smpi:1"
- if [ -n "${TRIVA}" ]; then
- TRACEOPTIONS="$TRACEOPTIONS --cfg=triva/categorized:smpi_cat.plist --cfg=triva/uncategorized:smpi_uncat.plist"
+ if [ -n "${TRACE_GROUPED}" ]; then
+ TRACEOPTIONS="${TRACEOPTIONS} --cfg=tracing/smpi/group:1"
fi
- if [ -n "${TRACE_GROUPED}" ]; then
- TRACEOPTIONS="$TRACEOPTIONS --cfg=tracing/smpi/group:1"
+ if [ -n "${TRACE_RESOURCE}" ]; then
+ TRACEOPTIONS="${TRACEOPTIONS} --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1"
fi
+
+ if [ -n "${TRACE_TRIVA}" ]; then
+ TRACEOPTIONS="${TRACEOPTIONS} --cfg=triva/categorized:smpi_cat.plist --cfg=triva/uncategorized:smpi_uncat.plist"
+ fi
+fi
##---------------------- end SMPI TRACING OPTIONS ---------------------------------
export SMPI_GLOBAL_SIZE=${NUMPROCS}
xbt_swag_foreach_safe(action, next_action, running_actions) {
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
cpu_Cas01_t x =
lmm_constraint_id(lmm_get_cnst_from_var
(cpu_maxmin_system, action->variable, 0));
(action).variable) * (now -
cpu->last_update));
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
TRACE_surf_host_set_utilization(cpu->generic_resource.name,
action->
generic_lmm_action.generic_action.
GENERIC_ACTION(action).finish = surf_get_clock();
/* set the remains to 0 due to precision problems when updating the remaining amount */
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
cpu_Cas01_im_t cpu = ((cpu_Cas01_im_t)(action->cpu));
TRACE_surf_host_set_utilization(cpu->generic_resource.name,
action->generic_lmm_action.generic_action.data,
cpu_im_update_remains(action->cpu, surf_get_clock());
}
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
//defining the last timestamp that we can safely dump to trace file
//without losing the event ascending order (considering all CPU's)
void **data;
action->weight);
}
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
xbt_dynar_t route = global_routing->get_route(action->src_name,
action->dst_name);
link_CM02_t link;
/* LARGE PLATFORMS HACK:
expand also with src->link and dst->link */
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
action->src_name = xbt_strdup(src_name);
action->dst_name = xbt_strdup(dst_name);
} else {
action->generic_action.remains);
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
double last_amount_sent = (action->generic_action.cost - action->last_remains);
double amount_sent = (action->generic_action.cost - action->generic_action.remains);
surf_action_new(sizeof(s_surf_action_network_GTNETS_t), size,
surf_network_model, 0);
+#ifdef HAVE_TRACING
action->last_remains = 0;
+#endif
/* Add a flow to the GTNets Simulation, associated to this action */
if (gtnets_create_flow(src, dst, size, (void *) action) < 0) {
/* LARGE PLATFORMS HACK:
expand also with src->link and dst->link */
#ifdef HAVE_TRACING
- if (TRACE_is_active()) {
+ if (TRACE_is_enabled()) {
action->src_name = xbt_strdup(src_name);
action->dst_name = xbt_strdup(dst_name);
} else {
#define YY_RESTORE_YY_MORE_OFFSET
char *surf_parse_text;
/* Validating XML processor for src/surf/simgrid.dtd.
- * Generated 2011/04/11 09:38:38.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
/* Validating XML processor for src/surf/simgrid.dtd.
- * Generated 2010/12/03 11:37:14.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
#define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
#define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
+AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
+#define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
#define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
AT_surfxml_host_state AX_surfxml_host_state;
#define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
#define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
+AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
+#define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
#define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
#define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
#define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
+AT_surfxml_random_seed AX_surfxml_random_seed;
+#define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
+AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
+#define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
#define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
#define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
#define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
+AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
+#define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
AT_surfxml_prop_value AX_surfxml_prop_value;
#define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
#define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
+AT_surfxml_random_radical AX_surfxml_random_radical;
+#define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
AT_surfxml_link_state_file AX_surfxml_link_state_file;
#define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
#define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
AT_surfxml_trace_id AX_surfxml_trace_id;
#define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
-AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
-#define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
AT_surfxml_peer_power AX_surfxml_peer_power;
#define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
#define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
AT_surfxml_cluster_core AX_surfxml_cluster_core;
#define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
+AT_surfxml_include_file AX_surfxml_include_file;
+#define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
#define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
AT_surfxml_host_state_file AX_surfxml_host_state_file;
* IMPOSSIBLE dummy to permit disabling rules; must be last
*/
%x PROLOG DOCTYPE EPILOG INCOMMENT INPI VALUE1 VALUE2 CDATA
-%x ROOT_surfxml_platform AL_surfxml_platform S_surfxml_platform S_surfxml_platform_1 S_surfxml_platform_2 S_surfxml_platform_3 S_surfxml_platform_4 S_surfxml_platform_5 S_surfxml_platform_6 E_surfxml_platform
+%x ROOT_surfxml_platform AL_surfxml_platform S_surfxml_platform S_surfxml_platform_1 S_surfxml_platform_2 S_surfxml_platform_3 S_surfxml_platform_4 S_surfxml_platform_5 S_surfxml_platform_6 S_surfxml_platform_7 S_surfxml_platform_8 E_surfxml_platform
+%x AL_surfxml_include E_surfxml_include
%x AL_surfxml_trace IN_trace
%x AL_surfxml_random S_surfxml_random S_surfxml_random_1 S_surfxml_random_2 E_surfxml_random
%x AL_surfxml_trace_connect E_surfxml_trace_connect
/* FleXML_init */
bnext = inext = 1;
surfxml_bufferliteral('\0', &bnext, "0.0");
+ surfxml_bufferliteral('\0', &bnext, "2147483647");
surfxml_bufferliteral('\0', &bnext, "1");
surfxml_bufferliteral('\0', &bnext, "1.0");
surfxml_bufferliteral('\0', &bnext, "1");
surfxml_statenames[S_surfxml_platform_4] = "platform";
surfxml_statenames[S_surfxml_platform_5] = "platform";
surfxml_statenames[S_surfxml_platform_6] = "platform";
+ surfxml_statenames[S_surfxml_platform_7] = "platform";
+ surfxml_statenames[S_surfxml_platform_8] = "platform";
surfxml_statenames[E_surfxml_platform] = "platform";
+ surfxml_statenames[AL_surfxml_include] = NULL;
+ surfxml_statenames[E_surfxml_include] = "include";
surfxml_statenames[AL_surfxml_trace] = NULL;
surfxml_statenames[IN_trace] = "trace";
surfxml_statenames[AL_surfxml_random] = NULL;
/* COMMENTS and PIs: handled uniformly for efficiency. */
-<ROOT_surfxml_platform,AL_surfxml_platform,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_platform_2,S_surfxml_platform_3,S_surfxml_platform_4,S_surfxml_platform_5,S_surfxml_platform_6,E_surfxml_platform,AL_surfxml_trace,IN_trace,AL_surfxml_random,S_surfxml_random,S_surfxml_random_1,S_surfxml_random_2,E_surfxml_random,AL_surfxml_trace_connect,E_surfxml_trace_connect,AL_surfxml_AS,S_surfxml_AS,S_surfxml_AS_1,S_surfxml_AS_2,S_surfxml_AS_3,S_surfxml_AS_4,S_surfxml_AS_5,S_surfxml_AS_6,S_surfxml_AS_7,S_surfxml_AS_8,S_surfxml_AS_9,S_surfxml_AS_10,S_surfxml_AS_11,S_surfxml_AS_12,S_surfxml_AS_13,E_surfxml_AS,AL_surfxml_host,S_surfxml_host,S_surfxml_host_1,S_surfxml_host_2,E_surfxml_host,AL_surfxml_cluster,E_surfxml_cluster,AL_surfxml_peer,E_surfxml_peer,AL_surfxml_router,E_surfxml_router,AL_surfxml_link,S_surfxml_link,S_surfxml_link_1,S_surfxml_link_2,E_surfxml_link,AL_surfxml_route,S_surfxml_route,S_surfxml_route_1,S_surfxml_route_2,E_surfxml_route,AL_surfxml_ASroute,S_surfxml_ASroute,S_surfxml_ASroute_1,S_surfxml_ASroute_2,E_surfxml_ASroute,AL_surfxml_link_ctn,E_surfxml_link_ctn,AL_surfxml_bypassRoute,S_surfxml_bypassRoute,S_surfxml_bypassRoute_1,S_surfxml_bypassRoute_2,E_surfxml_bypassRoute,AL_surfxml_process,S_surfxml_process,S_surfxml_process_1,S_surfxml_process_2,E_surfxml_process,AL_surfxml_argument,E_surfxml_argument,AL_surfxml_config,S_surfxml_config,S_surfxml_config_1,S_surfxml_config_2,E_surfxml_config,AL_surfxml_prop,E_surfxml_prop,PROLOG,DOCTYPE,EPILOG>{
+<ROOT_surfxml_platform,AL_surfxml_platform,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_platform_2,S_surfxml_platform_3,S_surfxml_platform_4,S_surfxml_platform_5,S_surfxml_platform_6,S_surfxml_platform_7,S_surfxml_platform_8,E_surfxml_platform,AL_surfxml_include,E_surfxml_include,AL_surfxml_trace,IN_trace,AL_surfxml_random,S_surfxml_random,S_surfxml_random_1,S_surfxml_random_2,E_surfxml_random,AL_surfxml_trace_connect,E_surfxml_trace_connect,AL_surfxml_AS,S_surfxml_AS,S_surfxml_AS_1,S_surfxml_AS_2,S_surfxml_AS_3,S_surfxml_AS_4,S_surfxml_AS_5,S_surfxml_AS_6,S_surfxml_AS_7,S_surfxml_AS_8,S_surfxml_AS_9,S_surfxml_AS_10,S_surfxml_AS_11,S_surfxml_AS_12,S_surfxml_AS_13,E_surfxml_AS,AL_surfxml_host,S_surfxml_host,S_surfxml_host_1,S_surfxml_host_2,E_surfxml_host,AL_surfxml_cluster,E_surfxml_cluster,AL_surfxml_peer,E_surfxml_peer,AL_surfxml_router,E_surfxml_router,AL_surfxml_link,S_surfxml_link,S_surfxml_link_1,S_surfxml_link_2,E_surfxml_link,AL_surfxml_route,S_surfxml_route,S_surfxml_route_1,S_surfxml_route_2,E_surfxml_route,AL_surfxml_ASroute,S_surfxml_ASroute,S_surfxml_ASroute_1,S_surfxml_ASroute_2,E_surfxml_ASroute,AL_surfxml_link_ctn,E_surfxml_link_ctn,AL_surfxml_bypassRoute,S_surfxml_bypassRoute,S_surfxml_bypassRoute_1,S_surfxml_bypassRoute_2,E_surfxml_bypassRoute,AL_surfxml_process,S_surfxml_process,S_surfxml_process_1,S_surfxml_process_2,E_surfxml_process,AL_surfxml_argument,E_surfxml_argument,AL_surfxml_config,S_surfxml_config,S_surfxml_config_1,S_surfxml_config_2,E_surfxml_config,AL_surfxml_prop,E_surfxml_prop,PROLOG,DOCTYPE,EPILOG>{
"<!--" ENTER(INCOMMENT);
"<?" ENTER(INPI);
}
/* SPACES: skipped uniformly */
-<ROOT_surfxml_platform,AL_surfxml_platform,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_platform_2,S_surfxml_platform_3,S_surfxml_platform_4,S_surfxml_platform_5,S_surfxml_platform_6,E_surfxml_platform,AL_surfxml_trace,AL_surfxml_random,S_surfxml_random,S_surfxml_random_1,S_surfxml_random_2,E_surfxml_random,AL_surfxml_trace_connect,E_surfxml_trace_connect,AL_surfxml_AS,S_surfxml_AS,S_surfxml_AS_1,S_surfxml_AS_2,S_surfxml_AS_3,S_surfxml_AS_4,S_surfxml_AS_5,S_surfxml_AS_6,S_surfxml_AS_7,S_surfxml_AS_8,S_surfxml_AS_9,S_surfxml_AS_10,S_surfxml_AS_11,S_surfxml_AS_12,S_surfxml_AS_13,E_surfxml_AS,AL_surfxml_host,S_surfxml_host,S_surfxml_host_1,S_surfxml_host_2,E_surfxml_host,AL_surfxml_cluster,E_surfxml_cluster,AL_surfxml_peer,E_surfxml_peer,AL_surfxml_router,E_surfxml_router,AL_surfxml_link,S_surfxml_link,S_surfxml_link_1,S_surfxml_link_2,E_surfxml_link,AL_surfxml_route,S_surfxml_route,S_surfxml_route_1,S_surfxml_route_2,E_surfxml_route,AL_surfxml_ASroute,S_surfxml_ASroute,S_surfxml_ASroute_1,S_surfxml_ASroute_2,E_surfxml_ASroute,AL_surfxml_link_ctn,E_surfxml_link_ctn,AL_surfxml_bypassRoute,S_surfxml_bypassRoute,S_surfxml_bypassRoute_1,S_surfxml_bypassRoute_2,E_surfxml_bypassRoute,AL_surfxml_process,S_surfxml_process,S_surfxml_process_1,S_surfxml_process_2,E_surfxml_process,AL_surfxml_argument,E_surfxml_argument,AL_surfxml_config,S_surfxml_config,S_surfxml_config_1,S_surfxml_config_2,E_surfxml_config,AL_surfxml_prop,E_surfxml_prop,PROLOG,DOCTYPE,EPILOG>{S} SKIP;
+<ROOT_surfxml_platform,AL_surfxml_platform,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_platform_2,S_surfxml_platform_3,S_surfxml_platform_4,S_surfxml_platform_5,S_surfxml_platform_6,S_surfxml_platform_7,S_surfxml_platform_8,E_surfxml_platform,AL_surfxml_include,E_surfxml_include,AL_surfxml_trace,AL_surfxml_random,S_surfxml_random,S_surfxml_random_1,S_surfxml_random_2,E_surfxml_random,AL_surfxml_trace_connect,E_surfxml_trace_connect,AL_surfxml_AS,S_surfxml_AS,S_surfxml_AS_1,S_surfxml_AS_2,S_surfxml_AS_3,S_surfxml_AS_4,S_surfxml_AS_5,S_surfxml_AS_6,S_surfxml_AS_7,S_surfxml_AS_8,S_surfxml_AS_9,S_surfxml_AS_10,S_surfxml_AS_11,S_surfxml_AS_12,S_surfxml_AS_13,E_surfxml_AS,AL_surfxml_host,S_surfxml_host,S_surfxml_host_1,S_surfxml_host_2,E_surfxml_host,AL_surfxml_cluster,E_surfxml_cluster,AL_surfxml_peer,E_surfxml_peer,AL_surfxml_router,E_surfxml_router,AL_surfxml_link,S_surfxml_link,S_surfxml_link_1,S_surfxml_link_2,E_surfxml_link,AL_surfxml_route,S_surfxml_route,S_surfxml_route_1,S_surfxml_route_2,E_surfxml_route,AL_surfxml_ASroute,S_surfxml_ASroute,S_surfxml_ASroute_1,S_surfxml_ASroute_2,E_surfxml_ASroute,AL_surfxml_link_ctn,E_surfxml_link_ctn,AL_surfxml_bypassRoute,S_surfxml_bypassRoute,S_surfxml_bypassRoute_1,S_surfxml_bypassRoute_2,E_surfxml_bypassRoute,AL_surfxml_process,S_surfxml_process,S_surfxml_process_1,S_surfxml_process_2,E_surfxml_process,AL_surfxml_argument,E_surfxml_argument,AL_surfxml_config,S_surfxml_config,S_surfxml_config_1,S_surfxml_config_2,E_surfxml_config,AL_surfxml_prop,E_surfxml_prop,PROLOG,DOCTYPE,EPILOG>{S} SKIP;
/* PROLOG: determine root element and process it. */
}
<PROLOG,DOCTYPE>{
- "<!DOCTYPE"{S}"platform"{S}SYSTEM{S}("'simgrid.dtd'"|"\"simgrid.dtd\""){s}">" SET(ROOT_surfxml_platform);
+ "<!DOCTYPE"{S}"platform"{S}SYSTEM{S}("'http://simgrid.gforge.inria.fr/simgrid.dtd'"|"\"http://simgrid.gforge.inria.fr/simgrid.dtd\""){s}">" SET(ROOT_surfxml_platform);
"<!"[^>-][^>]*">" FAIL("Bad declaration %s.",yytext);
. FAIL("Unexpected character `%c' in prolog.", yytext[0]);
<<EOF>> FAIL("EOF in prolog.");
/* <!-- Small DTD for SURF based tools. --> */
-<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_AS_6,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<platform"{s} FAIL("Starting tag <platform> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_AS_6,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<platform"{s} FAIL("Starting tag <platform> is not allowed here.");
<ROOT_surfxml_platform>"<platform"{s} {
AX_surfxml_platform_version = 1;
<<EOF>> FAIL("EOF in attribute list of `platform' element.");
}
-<S_surfxml_platform_2,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_platform_4,S_surfxml_platform_6,E_surfxml_platform>{
+<S_surfxml_platform_8,S_surfxml_platform_1,S_surfxml_platform_3,S_surfxml_platform,S_surfxml_platform_4,S_surfxml_platform_6,E_surfxml_platform>{
"</platform"{s}">" {
LEAVE;
ETag_surfxml_platform();
<<EOF>> FAIL("Premature EOF: `</platform>' expected.");
}
-<ROOT_surfxml_trace,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_config_1,S_surfxml_route,E_surfxml_bypassRoute>"<trace"{s} FAIL("Starting tag <trace> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,ROOT_surfxml_include,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<include"{s} FAIL("Starting tag <include> is not allowed here.");
-<S_surfxml_AS_12,S_surfxml_AS_1,S_surfxml_AS_9,S_surfxml_AS_11,S_surfxml_AS_2,S_surfxml_AS_5,S_surfxml_AS_10,S_surfxml_AS_13,S_surfxml_AS,S_surfxml_AS_8,S_surfxml_platform_4,S_surfxml_AS_4,S_surfxml_AS_7,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_AS_6,S_surfxml_AS_3,S_surfxml_platform_3>"<trace"{s} {
+<S_surfxml_platform_5,S_surfxml_AS_2,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_platform_6,S_surfxml_platform_8,S_surfxml_AS_3,S_surfxml_platform_7,S_surfxml_AS,S_surfxml_platform_3,S_surfxml_platform_4>"<include"{s} {
+ AX_surfxml_include_file = 0;
+ ENTER(AL_surfxml_include); pushbuffer(0);
+ }
+
+<AL_surfxml_include>{
+ "file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
+ "file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
+
+ ">" {
+ if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
+ LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
+ }
+ "/>" {
+ if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
+ LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
+ switch (YY_START) {
+ case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
+ case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
+ case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
+ }
+ }
+ . FAIL("Unexpected character `%c' in attribute list of include element.", yytext[0]);
+ {Name} FAIL("Bad attribute `%s' in `include' element start tag.",yytext);
+ <<EOF>> FAIL("EOF in attribute list of `include' element.");
+}
+
+<E_surfxml_include>{
+ "</include"{s}">" {
+ LEAVE;
+ ETag_surfxml_include();
+ popbuffer(); /* attribute */
+ switch (YY_START) {
+ case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
+ case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
+ case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
+ }
+ }
+ "</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</include>' expected.",yytext);
+ . FAIL("Unexpected character `%c': `</include>' expected.",yytext[0]);
+ <<EOF>> FAIL("Premature EOF: `</include>' expected.");
+}
+
+<ROOT_surfxml_trace,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_ASroute,S_surfxml_config_1,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<trace"{s} FAIL("Starting tag <trace> is not allowed here.");
+
+<S_surfxml_AS_12,S_surfxml_AS_1,S_surfxml_AS_9,S_surfxml_AS_11,S_surfxml_AS_2,S_surfxml_platform_6,S_surfxml_AS_5,S_surfxml_AS_10,S_surfxml_AS_13,S_surfxml_AS,S_surfxml_AS_8,S_surfxml_AS_4,S_surfxml_platform_5,S_surfxml_AS_7,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_AS_6,S_surfxml_AS_3,S_surfxml_platform_3>"<trace"{s} {
AX_surfxml_trace_id = 0;
AX_surfxml_trace_file = 0;
AX_surfxml_trace_periodicity = 0;
case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
}
}
case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
}
}
<<EOF>> FAIL("Premature EOF: `</trace>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,ROOT_surfxml_random,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<random"{s} FAIL("Starting tag <random> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,ROOT_surfxml_random,E_surfxml_route,S_surfxml_AS_9,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<random"{s} FAIL("Starting tag <random> is not allowed here.");
-<S_surfxml_config>"<random"{s} {
+<S_surfxml_platform_2,S_surfxml_platform,S_surfxml_platform_3>"<random"{s} {
AX_surfxml_random_id = 0;
AX_surfxml_random_min = 0;
AX_surfxml_random_max = 0;
AX_surfxml_random_mean = 0;
AX_surfxml_random_std_deviation = 0;
+ AX_surfxml_random_seed = 5;
+ AX_surfxml_random_radical = 0;
AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
ENTER(AL_surfxml_random); pushbuffer(0);
}
"std_deviation"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
"std_deviation"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
+ "seed"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
+ "seed"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
+
+ "radical"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
+ "radical"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
+
"generator"{Eq}"'DRAND48'" |
"generator"{Eq}"\"DRAND48\"" A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
"generator"{Eq}"'RAND'" |
"generator"{Eq}"\"RAND\"" A_surfxml_random_generator = A_surfxml_random_generator_RAND;
+ "generator"{Eq}"'RNGSTREAM'" |
+ "generator"{Eq}"\"RNGSTREAM\"" A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
+ "generator"{Eq}"'NONE'" |
+ "generator"{Eq}"\"NONE\"" A_surfxml_random_generator = A_surfxml_random_generator_NONE;
">" {
if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_config: SET(E_surfxml_config); break;
+ case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
}
}
. FAIL("Unexpected character `%c' in attribute list of random element.", yytext[0]);
ETag_surfxml_random();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_config: SET(E_surfxml_config); break;
+ case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
}
}
"</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</random>' expected.",yytext);
<<EOF>> FAIL("Premature EOF: `</random>' expected.");
}
-<S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,ROOT_surfxml_trace_connect,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_config_1,S_surfxml_route,E_surfxml_bypassRoute>"<trace_connect"{s} FAIL("Starting tag <trace_connect> is not allowed here.");
+<S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,ROOT_surfxml_trace_connect,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_ASroute,S_surfxml_config_1,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<trace_connect"{s} FAIL("Starting tag <trace_connect> is not allowed here.");
-<S_surfxml_AS_12,S_surfxml_AS_1,S_surfxml_AS_9,S_surfxml_AS_11,S_surfxml_AS_2,S_surfxml_AS_5,S_surfxml_AS_10,S_surfxml_AS_13,S_surfxml_AS,S_surfxml_AS_8,S_surfxml_platform_4,S_surfxml_AS_4,S_surfxml_AS_7,S_surfxml_platform_1,S_surfxml_AS_6,S_surfxml_platform,S_surfxml_AS_3,S_surfxml_platform_3>"<trace_connect"{s} {
+<S_surfxml_AS_12,S_surfxml_AS_1,S_surfxml_AS_9,S_surfxml_AS_11,S_surfxml_AS_2,S_surfxml_platform_6,S_surfxml_AS_5,S_surfxml_AS_10,S_surfxml_AS_13,S_surfxml_AS,S_surfxml_AS_8,S_surfxml_AS_4,S_surfxml_platform_5,S_surfxml_AS_7,S_surfxml_platform_1,S_surfxml_AS_6,S_surfxml_platform,S_surfxml_AS_3,S_surfxml_platform_3>"<trace_connect"{s} {
AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
AX_surfxml_trace_connect_trace = 0;
AX_surfxml_trace_connect_element = 0;
case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
}
}
case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
}
}
<<EOF>> FAIL("Premature EOF: `</trace_connect>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,ROOT_surfxml_AS,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<AS"{s} FAIL("Starting tag <AS> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,ROOT_surfxml_AS,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<AS"{s} FAIL("Starting tag <AS> is not allowed here.");
-<S_surfxml_AS_2,S_surfxml_AS,S_surfxml_platform_4,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_AS_3,S_surfxml_platform_3>"<AS"{s} {
+<S_surfxml_AS_2,S_surfxml_platform_6,S_surfxml_AS,S_surfxml_platform_5,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_AS_3,S_surfxml_platform_3>"<AS"{s} {
AX_surfxml_AS_id = 0;
AX_surfxml_AS_routing = 0;
ENTER(AL_surfxml_AS); pushbuffer(0);
LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
}
}
. FAIL("Unexpected character `%c' in attribute list of AS element.", yytext[0]);
popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
}
}
"</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</AS>' expected.",yytext);
<<EOF>> FAIL("Premature EOF: `</AS>' expected.");
}
-<S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,ROOT_surfxml_host,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<host"{s} FAIL("Starting tag <host> is not allowed here.");
+<S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,ROOT_surfxml_host,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<host"{s} FAIL("Starting tag <host> is not allowed here.");
<S_surfxml_AS_11,S_surfxml_AS_10,S_surfxml_AS>"<host"{s} {
AX_surfxml_host_id = 0;
AX_surfxml_host_power = 0;
- AX_surfxml_host_core = 5;
- AX_surfxml_host_availability = 7;
+ AX_surfxml_host_core = 16;
+ AX_surfxml_host_availability = 18;
AX_surfxml_host_availability_file = 0;
AX_surfxml_host_state = A_surfxml_host_state_ON;
AX_surfxml_host_state_file = 0;
<<EOF>> FAIL("Premature EOF: `</host>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,ROOT_surfxml_cluster,S_surfxml_random_1,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<cluster"{s} FAIL("Starting tag <cluster> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,ROOT_surfxml_cluster,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<cluster"{s} FAIL("Starting tag <cluster> is not allowed here.");
-<S_surfxml_AS_2,S_surfxml_AS,S_surfxml_platform_4,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_AS_3,S_surfxml_platform_3>"<cluster"{s} {
+<S_surfxml_AS_2,S_surfxml_platform_6,S_surfxml_AS,S_surfxml_platform_5,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_AS_3,S_surfxml_platform_3>"<cluster"{s} {
AX_surfxml_cluster_id = 0;
AX_surfxml_cluster_prefix = 0;
AX_surfxml_cluster_suffix = 0;
AX_surfxml_cluster_radical = 0;
AX_surfxml_cluster_power = 0;
- AX_surfxml_cluster_core = 11;
+ AX_surfxml_cluster_core = 22;
AX_surfxml_cluster_bw = 0;
AX_surfxml_cluster_lat = 0;
AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
AX_surfxml_cluster_bb_bw = 0;
AX_surfxml_cluster_bb_lat = 0;
AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
+ AX_surfxml_cluster_availability_file = 0;
+ AX_surfxml_cluster_state_file = 0;
ENTER(AL_surfxml_cluster); pushbuffer(0);
}
"bb_sharing_policy"{Eq}"'FATPIPE'" |
"bb_sharing_policy"{Eq}"\"FATPIPE\"" A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
+ "availability_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
+ "availability_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
+
+ "state_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
+ "state_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
+
">" {
if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
}
}
. FAIL("Unexpected character `%c' in attribute list of cluster element.", yytext[0]);
popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
}
}
"</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</cluster>' expected.",yytext);
<<EOF>> FAIL("Premature EOF: `</cluster>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,ROOT_surfxml_peer,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<peer"{s} FAIL("Starting tag <peer> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_AS_5,ROOT_surfxml_peer,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<peer"{s} FAIL("Starting tag <peer> is not allowed here.");
-<S_surfxml_AS_2,S_surfxml_AS,S_surfxml_platform_4,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_AS_3,S_surfxml_platform_3>"<peer"{s} {
+<S_surfxml_AS_2,S_surfxml_platform_6,S_surfxml_AS,S_surfxml_platform_5,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_AS_3,S_surfxml_platform_3>"<peer"{s} {
AX_surfxml_peer_id = 0;
AX_surfxml_peer_power = 0;
AX_surfxml_peer_bw_in = 0;
AX_surfxml_peer_bw_out = 0;
AX_surfxml_peer_lat = 0;
AX_surfxml_peer_coordinates = 0;
- AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
+ AX_surfxml_peer_availability_file = 0;
+ AX_surfxml_peer_state_file = 0;
ENTER(AL_surfxml_peer); pushbuffer(0);
}
"coordinates"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
"coordinates"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
- "sharing_policy"{Eq}"'SHARED'" |
- "sharing_policy"{Eq}"\"SHARED\"" A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
- "sharing_policy"{Eq}"'FULLDUPLEX'" |
- "sharing_policy"{Eq}"\"FULLDUPLEX\"" A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
+ "availability_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
+ "availability_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
+
+ "state_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
+ "state_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
">" {
if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
}
}
. FAIL("Unexpected character `%c' in attribute list of peer element.", yytext[0]);
popbuffer(); /* attribute */
switch (YY_START) {
case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
- case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
}
}
"</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</peer>' expected.",yytext);
<<EOF>> FAIL("Premature EOF: `</peer>' expected.");
}
-<S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,ROOT_surfxml_router,E_surfxml_bypassRoute>"<router"{s} FAIL("Starting tag <router> is not allowed here.");
+<S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,ROOT_surfxml_router,S_surfxml_platform_7,E_surfxml_bypassRoute>"<router"{s} FAIL("Starting tag <router> is not allowed here.");
<S_surfxml_AS_11,S_surfxml_AS_10,S_surfxml_AS>"<router"{s} {
AX_surfxml_router_id = 0;
<<EOF>> FAIL("Premature EOF: `</router>' expected.");
}
-<S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,ROOT_surfxml_link,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<link"{s} FAIL("Starting tag <link> is not allowed here.");
+<S_surfxml_random,S_surfxml_ASroute_1,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,ROOT_surfxml_link,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<link"{s} FAIL("Starting tag <link> is not allowed here.");
<S_surfxml_AS_11,S_surfxml_AS_2,S_surfxml_AS_10,S_surfxml_AS,S_surfxml_AS_3>"<link"{s} {
AX_surfxml_link_id = 0;
AX_surfxml_link_bandwidth = 0;
AX_surfxml_link_bandwidth_file = 0;
- AX_surfxml_link_latency = 13;
+ AX_surfxml_link_latency = 24;
AX_surfxml_link_latency_file = 0;
AX_surfxml_link_state = A_surfxml_link_state_ON;
AX_surfxml_link_state_file = 0;
<<EOF>> FAIL("Premature EOF: `</link>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_link_1,ROOT_surfxml_route,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<route"{s} FAIL("Starting tag <route> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_link_1,ROOT_surfxml_route,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<route"{s} FAIL("Starting tag <route> is not allowed here.");
<S_surfxml_AS_12,S_surfxml_AS_9,S_surfxml_AS_11,S_surfxml_AS_13,S_surfxml_AS>"<route"{s} {
AX_surfxml_route_src = 0;
<<EOF>> FAIL("Premature EOF: `</route>' expected.");
}
-<S_surfxml_AS_10,ROOT_surfxml_ASroute,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<ASroute"{s} FAIL("Starting tag <ASroute> is not allowed here.");
+<S_surfxml_AS_10,ROOT_surfxml_ASroute,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<ASroute"{s} FAIL("Starting tag <ASroute> is not allowed here.");
<S_surfxml_AS_1,S_surfxml_AS_5,S_surfxml_AS,S_surfxml_AS_6,S_surfxml_AS_3>"<ASroute"{s} {
AX_surfxml_ASroute_src = 0;
<<EOF>> FAIL("Premature EOF: `</ASroute>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_link,E_surfxml_host,S_surfxml_config,ROOT_surfxml_link_ctn,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,E_surfxml_config,S_surfxml_host_1,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,E_surfxml_bypassRoute>"<link_ctn"{s} FAIL("Starting tag <link_ctn> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_link,E_surfxml_host,S_surfxml_config,ROOT_surfxml_link_ctn,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,E_surfxml_config,S_surfxml_host_1,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_platform_7,E_surfxml_bypassRoute>"<link_ctn"{s} FAIL("Starting tag <link_ctn> is not allowed here.");
<S_surfxml_route_1,S_surfxml_bypassRoute,S_surfxml_route,S_surfxml_bypassRoute_2,S_surfxml_bypassRoute_1,S_surfxml_route_2,S_surfxml_ASroute,S_surfxml_ASroute_1,S_surfxml_ASroute_2>"<link_ctn"{s} {
AX_surfxml_link_ctn_id = 0;
<<EOF>> FAIL("Premature EOF: `</link_ctn>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,ROOT_surfxml_bypassRoute,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_route,E_surfxml_bypassRoute>"<bypassRoute"{s} FAIL("Starting tag <bypassRoute> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,ROOT_surfxml_bypassRoute,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<bypassRoute"{s} FAIL("Starting tag <bypassRoute> is not allowed here.");
<S_surfxml_AS_1,S_surfxml_AS,S_surfxml_AS_8,S_surfxml_AS_4,S_surfxml_AS_7,S_surfxml_AS_6,S_surfxml_AS_3>"<bypassRoute"{s} {
AX_surfxml_bypassRoute_src = 0;
<<EOF>> FAIL("Premature EOF: `</bypassRoute>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_process_2,E_surfxml_ASroute,ROOT_surfxml_process,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_AS_1,S_surfxml_host,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<process"{s} FAIL("Starting tag <process> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_process_2,E_surfxml_ASroute,ROOT_surfxml_process,S_surfxml_AS_6,E_surfxml_link,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<process"{s} FAIL("Starting tag <process> is not allowed here.");
-<S_surfxml_platform_6,S_surfxml_platform_4,S_surfxml_platform_5,S_surfxml_platform_2,S_surfxml_platform_1,S_surfxml_platform>"<process"{s} {
+<S_surfxml_platform_6,S_surfxml_platform_4,S_surfxml_platform_1,S_surfxml_platform,S_surfxml_platform_8,S_surfxml_platform_7,S_surfxml_platform_3>"<process"{s} {
AX_surfxml_process_host = 0;
AX_surfxml_process_function = 0;
- AX_surfxml_process_start_time = 17;
- AX_surfxml_process_kill_time = 22;
+ AX_surfxml_process_start_time = 28;
+ AX_surfxml_process_kill_time = 33;
ENTER(AL_surfxml_process); pushbuffer(0);
}
if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
}
}
. FAIL("Unexpected character `%c' in attribute list of process element.", yytext[0]);
ETag_surfxml_process();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
}
}
"</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</process>' expected.",yytext);
<<EOF>> FAIL("Premature EOF: `</process>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,ROOT_surfxml_argument,E_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<argument"{s} FAIL("Starting tag <argument> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,ROOT_surfxml_argument,E_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<argument"{s} FAIL("Starting tag <argument> is not allowed here.");
<S_surfxml_process_1,S_surfxml_process,S_surfxml_process_2>"<argument"{s} {
AX_surfxml_argument_value = 0;
<<EOF>> FAIL("Premature EOF: `</argument>' expected.");
}
-<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,ROOT_surfxml_config,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_platform_2,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<config"{s} FAIL("Starting tag <config> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_random,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,S_surfxml_process,S_surfxml_link_2,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,S_surfxml_AS_9,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_link_1,S_surfxml_AS,S_surfxml_bypassRoute,S_surfxml_link,E_surfxml_host,S_surfxml_config,S_surfxml_ASroute_2,S_surfxml_random_2,S_surfxml_platform_6,S_surfxml_process_2,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_host_1,ROOT_surfxml_config,S_surfxml_route_2,E_surfxml_platform,S_surfxml_config_2,S_surfxml_random_1,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_host,S_surfxml_process_1,S_surfxml_host_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_config_1,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<config"{s} FAIL("Starting tag <config> is not allowed here.");
-<S_surfxml_platform>"<config"{s} {
+<S_surfxml_platform_2,S_surfxml_platform,S_surfxml_platform_3>"<config"{s} {
AX_surfxml_config_id = 0;
ENTER(AL_surfxml_config); pushbuffer(0);
}
"/>" {
LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform: SET(S_surfxml_platform_1); break;
+ case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
}
}
. FAIL("Unexpected character `%c' in attribute list of config element.", yytext[0]);
ETag_surfxml_config();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform: SET(S_surfxml_platform_1); break;
+ case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
}
}
"</"{Name}{s}">" FAIL("Unexpected end-tag `%s': `</config>' expected.",yytext);
/* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
* <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
-<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,ROOT_surfxml_prop,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_AS,S_surfxml_bypassRoute,E_surfxml_host,S_surfxml_ASroute_2,S_surfxml_platform_6,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_route_2,E_surfxml_platform,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_platform_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_AS_4,S_surfxml_route,E_surfxml_bypassRoute>"<prop"{s} FAIL("Starting tag <prop> is not allowed here.");
+<S_surfxml_AS_10,S_surfxml_AS_3,S_surfxml_ASroute_1,S_surfxml_AS_2,E_surfxml_AS,S_surfxml_AS_12,E_surfxml_process,E_surfxml_random,S_surfxml_AS_8,S_surfxml_bypassRoute_2,E_surfxml_route,ROOT_surfxml_prop,S_surfxml_AS_9,S_surfxml_platform_3,S_surfxml_route_1,S_surfxml_AS_11,S_surfxml_AS,S_surfxml_bypassRoute,E_surfxml_host,S_surfxml_ASroute_2,S_surfxml_platform_6,E_surfxml_ASroute,S_surfxml_AS_6,E_surfxml_link,S_surfxml_platform,S_surfxml_platform_1,S_surfxml_bypassRoute_1,E_surfxml_config,S_surfxml_route_2,E_surfxml_platform,S_surfxml_platform_8,S_surfxml_platform_4,S_surfxml_AS_1,S_surfxml_platform_2,S_surfxml_AS_7,S_surfxml_AS_13,S_surfxml_ASroute,S_surfxml_platform_5,S_surfxml_AS_5,S_surfxml_AS_4,S_surfxml_route,S_surfxml_platform_7,E_surfxml_bypassRoute>"<prop"{s} FAIL("Starting tag <prop> is not allowed here.");
<S_surfxml_config_1,S_surfxml_config,S_surfxml_random,S_surfxml_host_1,S_surfxml_host_2,S_surfxml_host,S_surfxml_link_1,S_surfxml_link_2,S_surfxml_config_2,S_surfxml_random_2,S_surfxml_link,S_surfxml_random_1,S_surfxml_process_1,S_surfxml_process,S_surfxml_process_2>"<prop"{s} {
AX_surfxml_prop_id = 0;
#define YY_RESTORE_YY_MORE_OFFSET
char *xbt_graph_parse_text;
/* Validating XML processor for src/xbt/graphxml.dtd.
- * Generated 2010/12/01 17:15:43.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
/* Validating XML processor for src/xbt/graphxml.dtd.
- * Generated 2010/12/01 17:15:43.
*
* This program was generated with the FleXML XML processor generator.
* FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
//creating the graph structure
xbt_graph_t graph = TRACE_platform_graph();
if (graph == NULL){
- XBT_INFO ("%s expects --cfg=tracing:1", argv[0]);
+ XBT_INFO ("%s expects --cfg=tracing:1 --cfg=tracing/platform:1", argv[0]);
}else{
TRACE_platform_graph_export_graphviz (graph, graphvizFile);
XBT_INFO ("Output is in file %s", graphvizFile);
}
MSG_clean();
#else
- XBT_INFO ("works only if simgrid has tracing enabled.");
+ XBT_INFO ("works only if simgrid was compiled with tracing enabled.");
#endif
return 0;
}
#! ./tesh
-$ ${bindir:=.}/graphicator ${srcdir:=.}/teshsuite/simdag/platforms/one_cluster.xml --cfg=tracing:1 test.dot
+$ ${bindir:=.}/graphicator ${srcdir:=.}/teshsuite/simdag/platforms/one_cluster.xml --cfg=tracing:1 --cfg=tracing/platform:1 test.dot
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to '1'
> [0.000000] [graphicator/INFO] Output is in file test.dot