|
SimGrid
3.13
Versatile Simulation of Distributed Systems
|
Fast context switching inspired from SystemV ucontexts. More...
#include <math.h>#include <utility>#include <functional>#include "src/internal_config.h"#include "xbt/log.h"#include "xbt/parmap.h"#include "xbt/dynar.h"#include "smx_private.h"#include "smx_private.hpp"#include "mc/mc.h"Classes | |
| class | simgrid::simix::RawContext |
| class | simgrid::simix::RawContextFactory |
Namespaces | |
| simgrid | |
| simgrid::simix | |
Typedefs | |
| typedef void(* | rawctx_entry_point_t) (void *) |
| typedef void * | raw_stack_t |
Functions | |
| XBT_LOG_EXTERNAL_DEFAULT_CATEGORY (simix_context) | |
| ContextFactory * | simgrid::simix::raw_factory () |
| raw_stack_t | raw_makecontext (void *malloced_stack, int stack_size, rawctx_entry_point_t entry_point, void *arg) |
| void | raw_swapcontext (raw_stack_t *old, raw_stack_t new_context) |
Variables | |
| static unsigned long | raw_process_index = 0 |
| static simgrid::simix::RawContext * | raw_maestro_context |
| static bool | raw_context_parallel = false |
Fast context switching inspired from SystemV ucontexts.
In contrast to System V context, it does not touch the signal mask which avoids making a system call (at least on Linux).
| typedef void* raw_stack_t |
| XBT_LOG_EXTERNAL_DEFAULT_CATEGORY | ( | simix_context | ) |
| raw_stack_t raw_makecontext | ( | void * | malloced_stack, |
| int | stack_size, | ||
| rawctx_entry_point_t | entry_point, | ||
| void * | arg | ||
| ) |
| void raw_swapcontext | ( | raw_stack_t * | old, |
| raw_stack_t | new_context | ||
| ) |
|
static |
|
static |
|
static |