ARGOBOTS
dce6e727ffc4ca5b3ffc04cb9517c6689be51ec5
|
Go to the documentation of this file.
18 .get_migr_pool = NULL,
25 #ifdef ABT_CONFIG_USE_SCHED_SLEEP
26 struct timespec sleep_time;
55 #ifdef ABT_CONFIG_USE_SCHED_SLEEP
56 p_data->sleep_time.tv_sec = 0;
68 p_data->event_freq = event_freq;
74 p_data->num_pools = num_pools;
81 memcpy(p_data->pools, p_sched->
pools,
sizeof(
ABT_pool) * num_pools);
89 p_sched->
data = p_data;
99 uint32_t pop_count = 0;
112 pools = p_data->
pools;
115 for (i = 0; i < num_pools; i++) {
126 if (pop_count >= event_freq) {
175 int p1_access, p2_access;
180 if (p1_access > p2_access) {
182 }
else if (p1_access < p2_access) {
#define ABTI_CHECK_NULL_SCHED_PTR(p)
static ABTI_sched * ABTI_sched_get_ptr(ABT_sched sched)
uint64_t sched_sleep_nsec
ABT_bool ABTI_sched_has_to_stop(ABTI_sched *p_sched)
ABT_sched_type type
Unused value.
struct ABT_thread_opaque * ABT_thread
Work unit handle type.
#define ABT_POOL_CONTEXT_OP_POOL_OTHER
A flag that hints an unspecified pool operation.
static ABTI_global * ABTI_global_get_global(void)
#define ABTI_CHECK_ERROR(abt_errno)
struct ABT_sched_config_opaque * ABT_sched_config
Scheduler configuration handle type.
static int sched_init(ABT_sched sched, ABT_sched_config config)
#define ABTI_IS_ERROR_CHECK_ENABLED
static void sched_sort_pools(int num_pools, ABT_pool *pools)
struct ABT_pool_opaque * ABT_pool
Pool handle type.
static ABT_thread ABTI_pool_pop(ABTI_pool *p_pool, ABT_pool_context context)
#define ABTU_unreachable()
struct ABT_sched_opaque * ABT_sched
Scheduler handle type.
static ABT_sched_def sched_basic_def
static ABTU_ret_err int ABTU_malloc(size_t size, void **p_ptr)
ABT_sched_def * ABTI_sched_get_basic_def(void)
uint32_t sched_event_freq
ABTU_ret_err int ABTI_sched_config_read(const ABTI_sched_config *p_config, int idx, void *p_val)
static sched_data * sched_data_get_ptr(void *data)
#define ABTI_ASSERT(cond)
static ABTI_local * ABTI_local_get_local(void)
static int sched_free(ABT_sched)
#define ABT_SUCCESS
Error code: the routine returns successfully.
static int pool_get_access_num(ABT_pool *p_pool)
void ABTI_xstream_check_events(ABTI_xstream *p_xstream, ABTI_sched *p_sched)
static void ABTI_ythread_schedule(ABTI_global *p_global, ABTI_xstream **pp_local_xstream, ABTI_thread *p_thread)
#define ABT_TRUE
True constant for ABT_bool.
static ABTI_pool * ABTI_pool_get_ptr(ABT_pool pool)
static void sched_run(ABT_sched sched)
static void ABTU_free(void *ptr)
A struct that defines a scheduler.
#define SCHED_SLEEP(c, t)
ABT_sched_config_var ABT_sched_basic_freq
Predefined ABT_sched_config_var to configure the frequency for checking events of the basic scheduler...
static ABTI_xstream * ABTI_local_get_xstream(ABTI_local *p_local)
static int sched_cmp_pools(const void *p1, const void *p2)
static ABTI_thread * ABTI_thread_get_ptr(ABT_thread thread)
static ABTI_sched_config * ABTI_sched_config_get_ptr(ABT_sched_config config)
ABT_pool_access
Pool access type.