33 if(next->
prev != last)
91 g_tw_pe->stats.s_event_process += process_time;
144#ifdef USE_RAND_TIEBREAKER
145#define CMP_EVENT_TO_GVT(e, pe) tw_event_sig_compare_ptr(&e->sig, &pe->GVT_sig)
147#define CMP_EVENT_TO_GVT(e, pe) TW_STIME_CMP(e->recv_ts, pe->GVT)
215#ifdef ROSS_ALLOC_DEBUG
233 align =
ROSS_MAX(
sizeof(
double),
sizeof(
void*));
235 if (event_len & (align - 1))
237 event_len += align - (event_len & (align - 1));
250#ifdef ROSS_ALLOC_DEBUG
254 event->prev = event_prev;
259 event->
prev = event_prev;
265 event->prev = (
tw_event *) (((
char *)event) - event_len);
266 event->next = (
tw_event *) (((
char *)event) + event_len);
269 event->
prev = (
tw_event *) (((
char *)event) - event_len);
Buddy-system memory allocator.
void buddy_free(void *ptr)
static tw_clock tw_clock_read(void)
tw_event * tw_hash_remove(void *h, tw_event *event, long pe)
void st_collect_event_data(tw_event *cev, double recv_rt)
void * tw_calloc(const char *file, int line, const char *for_who, size_t e_sz, size_t n)
unsigned int g_tw_gvt_threshold
static void * tw_event_data(tw_event *event)
static void tw_free_output_messages(tw_event *e, int print_message)
unsigned long long g_tw_clock_rate
static void tw_event_free(tw_pe *, tw_event *)
unsigned int g_tw_events_per_pe
void tw_error(const char *file, int line, const char *fmt,...)
unsigned int g_tw_net_device_size
Definition of ROSS basic types.
@ TW_pe_free_q
In tw_pe.free_q.
@ TW_pe_sevent_q
In tw_pe.sevent_q.
static tw_event * tw_eventq_peek(tw_eventq *q)
static void tw_eventq_debug(tw_eventq *q)
static tw_event * tw_eventq_pop_list(tw_eventq *q)
static void tw_eventq_delete_any(tw_eventq *q, tw_event *e)
static void tw_eventq_push(tw_eventq *q, tw_event *e)
static tw_event * tw_eventq_peek_head(tw_eventq *q)
static void tw_eventq_unshift(tw_eventq *q, tw_event *e)
static void tw_eventq_splice(tw_eventq *q, tw_event *h, tw_event *t, int cnt)
static void tw_eventq_fossil_collect(tw_eventq *q, tw_pe *pe)
#define CMP_EVENT_TO_GVT(e, pe)
static void tw_eventq_push_list(tw_eventq *q, tw_event *h, tw_event *t, long cnt)
static void tw_eventq_alloc(tw_eventq *q, unsigned int cnt)
static tw_event * tw_eventq_shift(tw_eventq *q)
static tw_event * tw_eventq_pop(tw_eventq *q)
struct tw_event::@130070134144252114152124341363102114315067064025 state
tw_event * cause_next
Next in parent's caused_by_me chain.
tw_lp * src_lp
Sending LP ID.
unsigned char remote
Indicates union addr is in 'remote' storage.
unsigned char owner
Owner of the next/prev pointers; see tw_event_owner.
void * delta_buddy
Delta memory from buddy allocator.
tw_event * caused_by_me
Start of event list caused by this event.
tw_bf cv
Used by app during reverse computation.
tw_lp * dest_lp
Destination LP ID.
tw_eventid event_id
Unique id assigned by src_lp->pe if remote.
tw_lptype * type
Type of this LP, including service callbacks.
struct st_lp_stats * lp_stats
void * cur_state
Current application LP data.
commit_f commit
LP Commit event routine.
Holds the entire PE state.