|
| runqueue (void *, location_md &) |
|
| runqueue (runqueue const &)=delete |
|
runqueue & | operator= (runqueue const &)=delete |
|
impl & | get_impl (void) noexcept |
|
unsigned int | yield_intensity (void) const noexcept |
| Returns a positive integer with how intense yielding will be, or 0 if yielding should be avoided.
|
|
void | fence_enter (void) |
| Notifies that the location entered a fence.
|
|
void | fence_exit (const epoch_type) |
| Notifies that the location exited a fence.
|
|
void | advance_epoch (const epoch_type) |
| Make runnable anything that was blocked because of future epoch.
|
|
void | undefer_requests (void) |
|
void | defer_requests (void) |
|
bool | try_defer_requests (void) |
|
|
static void | initialize (option const &opts) |
| Sets up the process. More...
|
|
static void | finalize (void) |
| Tears-down the process.
|
|
static process_id | get_process_id (void) noexcept |
| Returns the current process id.
|
|
static size_type | get_num_processes (void) noexcept |
| Returns the number of processes.
|
|
static void | exit (int exit_code) |
| Exits with exit code exit_code . More...
|
|
static void | set_overloaded (const bool) noexcept |
| Receives notification that the process is overloaded.
|
|
static void | add (const process_id pid, message_ptr m) |
| Schedules the requests in m to execute in process pid . More...
|
|
static void | add_all (process_id_range r, message_ptr m) |
| Schedules the requests in m to execute in the processes in range r . More...
|
|
static void | add (gang_md &g, const location_id lid, const bool on_shmem, message_ptr m) |
| Schedules the requests in m to execute in the location lid of gang g . More...
|
|
static void | add_managed (gang_md &g, location_id_range r, const bool ordered, message_ptr m) |
| Schedules the requests in m to execute in the range r of locally managed locations of gang g . More...
|
|
static void | add_all (gang_md &g, const bool ordered, message_ptr m) |
| Schedules the requests in m to execute in all locations of the gang g . More...
|
|
static void | forward (const gang_id gid, message_ptr m) |
| Forwards the requests to the owner of the gang with id gid . More...
|
|
static void | yield (const unsigned int intensity=2) |
| Yields to the runqueue and executes all requests that are pending. More...
|
|
static void | wait (std::function< bool(void)> const &pred) |
| Yields to the runqueue, informing it that the caller is blocked until pred returns true . More...
|
|
static std::size_t | required_size (void) noexcept |
|
static std::size_t | required_alignment (void) noexcept |
|
Queue for scheduling requests.
The static functions are the entry point for all remote calls. They are well-known function pointers that they can be used to schedule requests in any process.