|
SimGrid
3.14.159
Versatile Simulation of Distributed Systems
|
#include <xbt/base.h>#include <simgrid/simix.h>#include "popping_enum.h"#include "popping_accessors.h"Classes | |
| union | u_smx_scalar |
| struct | s_smx_simcall |
| Represents a simcall to the kernel. More... | |
Macros | |
| #define | SIMCALL_SET_MC_VALUE(simcall, value) ((simcall)->mc_value = (value)) |
| #define | SIMCALL_GET_MC_VALUE(simcall) ((simcall)->mc_value) |
Typedefs | |
| typedef int(* | simix_match_func_t) (void *, void *, smx_activity_t) |
| typedef void(* | simix_copy_data_func_t) (smx_activity_t, void *, size_t) |
| typedef void(* | simix_clean_func_t) (void *) |
| typedef void(* | FPtr) (void) |
Functions | |
| void | SIMIX_simcall_answer (smx_simcall_t simcall) |
| void | SIMIX_simcall_handle (smx_simcall_t simcall, int value) |
| (in kernel mode) unpack the simcall and activate the handler More... | |
| void | SIMIX_simcall_exit (smx_activity_t synchro) |
| const char * | SIMIX_simcall_name (e_smx_simcall_t kind) |
| returns a printable string representing a simcall More... | |
| void | SIMIX_run_kernel (std::function< void()> const *code) |
| void | SIMIX_run_blocking (std::function< void()> const *code) |
| Kernel code for run_blocking. More... | |
Variables | |
| const char * | simcall_names [] |
| Simcalls' names (generated from src/simix/simcalls.in) More... | |
| #define SIMCALL_SET_MC_VALUE | ( | simcall, | |
| value | |||
| ) | ((simcall)->mc_value = (value)) |
| #define SIMCALL_GET_MC_VALUE | ( | simcall | ) | ((simcall)->mc_value) |
| typedef int(* simix_match_func_t) (void *, void *, smx_activity_t) |
| typedef void(* simix_copy_data_func_t) (smx_activity_t, void *, size_t) |
| void SIMIX_simcall_answer | ( | smx_simcall_t | simcall | ) |
| void SIMIX_simcall_handle | ( | smx_simcall_t | simcall, |
| int | value | ||
| ) |
(in kernel mode) unpack the simcall and activate the handler
This function is generated from src/simix/simcalls.in
| void SIMIX_simcall_exit | ( | smx_activity_t | synchro | ) |
| const char* SIMIX_simcall_name | ( | e_smx_simcall_t | kind | ) |
returns a printable string representing a simcall
| void SIMIX_run_kernel | ( | std::function< void()> const * | code | ) |
| void SIMIX_run_blocking | ( | std::function< void()> const * | code | ) |
Kernel code for run_blocking.
The implementtion looks a lot like SIMIX_run_kernel ^^
However, this run_blocking is blocking so the process will not be woken up until SIMIX_simcall_answer(simcall)is called by the kernel. This means thatcode` is responsible for doing this.
| const char* simcall_names[] |
Simcalls' names (generated from src/simix/simcalls.in)