#include <ross.h>
Go to the source code of this file.
Macros | |
#define | ROSS_DEBUG 0 |
Functions | |
static void | tw_eventq_debug (tw_eventq *q) |
static void | tw_eventq_push_list (tw_eventq *q, tw_event *h, tw_event *t, long cnt) |
static void | tw_eventq_fossil_collect (tw_eventq *q, tw_pe *pe) |
static void | tw_eventq_alloc (tw_eventq *q, unsigned int cnt) |
static void | tw_eventq_push (tw_eventq *q, tw_event *e) |
static tw_event * | tw_eventq_peek (tw_eventq *q) |
static tw_event * | tw_eventq_pop (tw_eventq *q) |
static void | tw_eventq_unshift (tw_eventq *q, tw_event *e) |
static tw_event * | tw_eventq_peek_head (tw_eventq *q) |
static tw_event * | tw_eventq_shift (tw_eventq *q) |
static void | tw_eventq_delete_any (tw_eventq *q, tw_event *e) |
static tw_event * | tw_eventq_pop_list (tw_eventq *q) |
static void | tw_eventq_splice (tw_eventq *q, tw_event *h, tw_event *t, int cnt) |
#define ROSS_DEBUG 0 |
Definition at line 4 of file tw-eventq.h.
|
inlinestatic |
allocate a events into a given tw_eventq
Definition at line 186 of file tw-eventq.h.
References g_tw_event_msg_sz, g_tw_events_per_pe, g_tw_gvt_threshold, g_tw_msg_sz, g_tw_net_device_size, tw_eventq::head, tw_event::next, tw_event::prev, ROSS_MAX, tw_eventq::size, tw_eventq::tail, tw_calloc(), TW_LOC, and TW_pe_free_q.
Referenced by setup_pes().
|
inlinestatic |
debug assitant fuction
Definition at line 12 of file tw-eventq.h.
References tw_eventq::head, tw_event::next, tw_event::prev, tw_eventq::size, tw_eventq::tail, tw_error(), and TW_LOC.
Referenced by tw_eventq_delete_any(), tw_eventq_pop(), tw_eventq_push(), tw_eventq_push_list(), tw_eventq_shift(), tw_eventq_splice(), and tw_eventq_unshift().
delete an event from anywhere in the list
Definition at line 384 of file tw-eventq.h.
References tw_eventq::head, tw_event::next, tw_event::prev, tw_eventq::size, tw_eventq::tail, and tw_eventq_debug().
Referenced by io_event_cancel(), tw_net_cancel(), and tw_sched_cancel_q().
Given a list, move the portion of its contents that is older than GVT to the free list.
Assumptions:
Definition at line 134 of file tw-eventq.h.
References tw_pe::free_q, tw_pe::GVT, tw_eventq::head, tw_event::next, tw_event::prev, tw_event::recv_ts, tw_eventq::size, tw_eventq::tail, tw_eventq_push_list(), and TW_STIME_CMP.
Referenced by tw_pe_fossil_collect().
peek to tail of list
Definition at line 280 of file tw-eventq.h.
References tw_eventq::tail.
Referenced by send_begin(), tw_sched_batch(), and tw_sched_batch_realtime().
pop to tail of list
Definition at line 289 of file tw-eventq.h.
References tw_eventq::head, tw_event::next, tw_event::prev, tw_eventq::size, tw_eventq::tail, and tw_eventq_debug().
Referenced by io_event_grab(), io_load_events(), io_read_checkpoint(), io_store_checkpoint(), send_begin(), setup_pes(), and tw_event_grab().
pop the entire list. After this operation, the size of the provided q is 0.
Definition at line 412 of file tw-eventq.h.
References tw_eventq::head, tw_eventq::size, and tw_eventq::tail.
Referenced by tw_sched_event_q().
push to tail of list
Definition at line 257 of file tw-eventq.h.
References tw_eventq::head, tw_event::next, tw_event::prev, tw_eventq::size, tw_eventq::tail, and tw_eventq_debug().
Referenced by io_event_cancel(), io_event_grab(), io_load_events(), io_read_checkpoint(), io_store_checkpoint(), recv_finish(), send_finish(), setup_pes(), and tw_event_send().
|
inlinestatic |
push the contents of one list onto another??
Definition at line 49 of file tw-eventq.h.
References buddy_free(), tw_event::cause_next, tw_event::caused_by_me, tw_lptype::commit, COMMIT_TRACE, tw_lp::cur_state, tw_event::cv, tw_event::delta_buddy, tw_event::dest_lp, tw_event::event_id, g_st_ev_trace, g_tw_clock_rate, g_tw_pe, tw_pe::hash_t, tw_eventq::head, tw_event::next, tw_event::owner, pe, tw_lp::pe, tw_event::prev, tw_event::remote, tw_statistics::s_buddy, tw_event::send_pe, tw_eventq::size, tw_event::src_lp, st_collect_event_data(), tw_event::state, tw_pe::stats, tw_eventq::tail, tw_clock_read(), tw_event_data(), tw_event_free(), tw_eventq_debug(), tw_free_output_messages(), tw_hash_remove(), TW_pe_free_q, TW_pe_sevent_q, and tw_lp::type.
Referenced by tw_eventq_fossil_collect().
pop from head of list
Definition at line 353 of file tw-eventq.h.
References tw_eventq::head, tw_event::next, tw_event::prev, tw_eventq::size, tw_eventq::tail, and tw_eventq_debug().
Referenced by setup_pes(), tw_kp_rollback_event(), and tw_kp_rollback_to().
The purpose of this function is to be able to remove some part of a list.. could be all of list, from head to some inner buffer, or from some inner buffer to tail. I only care about the last case..
Definition at line 429 of file tw-eventq.h.
References tw_eventq::head, tw_event::next, tw_event::prev, tw_eventq::size, tw_eventq::tail, and tw_eventq_debug().
push to head of list
Definition at line 320 of file tw-eventq.h.
References tw_eventq::head, tw_event::next, tw_event::prev, tw_eventq::size, tw_eventq::tail, and tw_eventq_debug().
Referenced by tw_event_free(), tw_net_cancel(), tw_net_send(), tw_sched_batch(), tw_sched_batch_realtime(), and tw_scheduler_optimistic_debug().