17 #ifdef ROSS_QUEUE_kp_splay
18 g_tw_kp[id]->pq = tw_eventpq_create();
33 printf(
"%d %d: rb_to %f, now = %f \n",
74 kp =
event->dest_lp->kp;
84 printf(
"%d %d: rb_event: %f \n", pe->
id, kp->
id, event->
recv_ts);
111 #define NUM_OUT_MESG 2000
121 ret[i].
next = &ret[i + 1];
156 for (j = 0; j < 3; j++)
tw_synch g_tw_synchronization_protocol
tw_out * tw_kp_grab_output_buffer(tw_kp *kp)
void tw_error(const char *file, int line, const char *fmt,...) NORETURN
struct st_kp_stats * kp_stats
tw_statistics stats
per PE counters
struct st_kp_stats * last_stats[3]
tw_stime recv_ts
Actual time to be received.
tw_pe * pe
PE that services this KP.
long s_rb_secondary
Number of secondary rollbacks by this LP.
static tw_clock tw_clock_read(void)
Holds the entire PE state.
static tw_event * tw_eventq_shift(tw_eventq *q)
tw_eventq pevent_q
Events processed by LPs bound to this KP.
static tw_kp * tw_getkp(tw_kpid id)
#define TW_STIME_CMP(x, y)
tw_out * output
Output messages.
void tw_init_kps(tw_pe *me)
unsigned int s_rb_secondary
void tw_pq_enqueue(splay_tree *st, tw_event *e)
void tw_kp_rollback_to(tw_kp *kp, tw_stime to)
long s_e_rbs
Number of events rolled back by this LP.
tw_pq * pq
Priority queue used to sort events.
long s_rb_total
Number of total rollbacks by this LP.
void tw_kp_onpe(tw_kpid id, tw_pe *pe)
tw_stime GVT
Global Virtual Time.
void tw_kp_rollback_event(tw_event *event)
tw_kpid id
ID number, otherwise its not available to the app.
Rollback-aware output mechanism.
static tw_out * init_output_messages(tw_kp *kp)
void tw_event_rollback(tw_event *event)
void * tw_calloc(const char *file, int line, const char *for_who, size_t e_sz, size_t n)
void tw_kp_put_back_output_buffer(tw_out *out)
tw_stime last_time
Time of the current event being processed.
tw_stat s_nevent_processed
Number of events processed.