1 #ifndef INC_tw_eventq_h
2 #define INC_tw_eventq_h
28 if(next->
prev != last)
191 #ifdef ROSS_ALLOC_DEBUG
209 align =
ROSS_MAX(
sizeof(
double),
sizeof(
void*));
211 if (event_len & (align - 1))
213 event_len += align - (event_len & (align - 1));
226 #ifdef ROSS_ALLOC_DEBUG
230 event->prev = event_prev;
235 event->prev = event_prev;
241 event->prev = (
tw_event *) (((
char *)event) - event_len);
242 event->next = (
tw_event *) (((
char *)event) + event_len);
245 event->prev = (
tw_event *) (((
char *)event) - event_len);
void * delta_buddy
Delta memory from buddy allocator.
unsigned long long g_tw_clock_rate
tw_lp * dest_lp
Destination LP ID.
tw_eventid event_id
Unique id assigned by src_lp->pe if remote.
void tw_error(const char *file, int line, const char *fmt,...) NORETURN
tw_lptype * type
Type of this LP, including service callbacks.
tw_statistics stats
per PE counters
static tw_event * tw_eventq_peek(tw_eventq *q)
unsigned int g_tw_gvt_threshold
tw_stime recv_ts
Actual time to be received.
static void tw_eventq_alloc(tw_eventq *q, unsigned int cnt)
static void tw_eventq_delete_any(tw_eventq *q, tw_event *e)
static tw_clock tw_clock_read(void)
static void tw_event_free(tw_pe *, tw_event *)
void st_collect_event_data(tw_event *cev, double recv_rt)
Holds the entire PE state.
static tw_event * tw_eventq_shift(tw_eventq *q)
tw_bf cv
Used by app during reverse computation.
tw_eventq free_q
Linked list of free tw_events.
static void tw_eventq_push_list(tw_eventq *q, tw_event *h, tw_event *t, long cnt)
unsigned int g_tw_net_device_size
#define TW_STIME_CMP(x, y)
static tw_event * tw_eventq_pop_list(tw_eventq *q)
void * hash_t
Array of incoming events from remote pes, Note: only necessary for distributed DSR.
static void * tw_event_data(tw_event *event)
tw_event * cause_next
Next in parent's caused_by_me chain.
static tw_event * tw_eventq_peek_head(tw_eventq *q)
static void tw_eventq_fossil_collect(tw_eventq *q, tw_pe *pe)
tw_event * caused_by_me
Start of event list caused by this event.
static tw_event * tw_eventq_pop(tw_eventq *q)
commit_f commit
LP Commit event routine.
static void tw_eventq_push(tw_eventq *q, tw_event *e)
void buddy_free(void *ptr)
static void tw_free_output_messages(tw_event *e, int print_message)
struct tw_event::@0 state
static void tw_eventq_unshift(tw_eventq *q, tw_event *e)
unsigned char remote
Indicates union addr is in 'remote' storage.
tw_stime GVT
Global Virtual Time.
tw_lp * src_lp
Sending LP ID.
void * cur_state
Current application LP data.
tw_event * tw_hash_remove(void *h, tw_event *event, long pe)
static void tw_eventq_debug(tw_eventq *q)
void * tw_calloc(const char *file, int line, const char *for_who, size_t e_sz, size_t n)
unsigned int g_tw_events_per_pe
static void tw_eventq_splice(tw_eventq *q, tw_event *h, tw_event *t, int cnt)
unsigned char owner
Owner of the next/prev pointers; see tw_event_owner.