Go to the documentation of this file.
30 #ifndef __SIM_GLOBAL_EVENT_HH__
31 #define __SIM_GLOBAL_EVENT_HH__
152 template <
class Derived>
237 #endif // __SIM_GLOBAL_EVENT_HH__
BarrierEvent(Base *global_event, Priority p, Flags f)
virtual const char * description() const =0
virtual ~BaseGlobalEvent()
BaseGlobalEvent * _globalEvent
Funky intermediate class to support CRTP so that we can have a common constructor to create the local...
BaseGlobalEventTemplate(Priority p, Flags f)
uint64_t Tick
Tick count type.
std::vector< BarrierEvent * > barrierEvent
The individual local event instances (one per thread/event queue).
virtual BaseGlobalEvent * globalEvent()
If this is part of a GlobalEvent, return the pointer to the Global Event.
A special global event that synchronizes all threads and forces them to process asynchronously enqueu...
GlobalSyncEvent(Priority p, Flags f)
BarrierEvent(Base *global_event, Priority p, Flags f)
void reschedule(Tick when)
GlobalEvent(Priority p, Flags f)
GlobalEvent(Tick when, Priority p, Flags f)
BaseGlobalEventTemplate< GlobalEvent > Base
Barrier barrier
The barrier that all threads wait on before performing the global event.
EventQueue * curEventQueue()
The base class for the local events that will synchronize threads to perform the global event.
const char * description() const
BaseGlobalEvent(Priority p, Flags f)
void release()
Managed event removed from the event queue.
GlobalSyncEvent(Tick when, Tick _repeat, Priority p, Flags f)
BarrierEvent(BaseGlobalEvent *global_event, Priority p, Flags f)
Common base class for Event and GlobalEvent, so they can share flag and priority definitions and acce...
BaseGlobalEventTemplate< GlobalSyncEvent > Base
uint32_t numMainEventQueues
Current number of allocated main event queues.
The main global event class.
Common base class for GlobalEvent and GlobalSyncEvent.
static std::mutex globalQMutex
Mutex variable for providing exculsive right to schedule global events.
Generated on Wed Sep 30 2020 14:02:14 for gem5 by doxygen 1.8.17