ARGOBOTS  1059a7c2eb7e3f99f736a9c3a4f6ea476ac1b804
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
abti.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <inttypes.h>
#include <string.h>
#include <limits.h>
#include "abt_config.h"
#include "abt.h"
#include "abtu.h"
#include "abti_error.h"
#include "abti_valgrind.h"
#include "abtd.h"
#include "abti_spinlock.h"
#include "abti_sync_lifo.h"
#include "abti_mem_pool.h"
#include "abti_log.h"
#include "abti_local.h"
#include "abti_self.h"
#include "abti_pool.h"
#include "abti_sched.h"
#include "abti_config.h"
#include "abti_stream.h"
#include "abti_thread.h"
#include "abti_tool.h"
#include "abti_ythread.h"
#include "abti_thread_attr.h"
#include "abti_mutex.h"
#include "abti_mutex_attr.h"
#include "abti_cond.h"
#include "abti_rwlock.h"
#include "abti_eventual.h"
#include "abti_future.h"
#include "abti_barrier.h"
#include "abti_stream_barrier.h"
#include "abti_timer.h"
#include "abti_mem.h"
#include "abti_key.h"
Include dependency graph for abti.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ABTI_mutex_attr
 
struct  ABTI_mutex
 
struct  ABTI_global
 
struct  ABTI_local_func
 
struct  ABTI_xstream
 
struct  ABTI_sched
 
struct  ABTI_pool
 
struct  ABTI_thread
 
struct  ABTI_thread_attr
 
struct  ABTI_thread_mig_data
 
struct  ABTI_ythread
 
struct  ABTI_key
 
struct  ABTI_ktelem
 
struct  ABTI_ktable
 
struct  ABTI_cond
 
struct  ABTI_rwlock
 
struct  ABTI_eventual
 
struct  ABTI_future
 
struct  ABTI_barrier
 
struct  ABTI_xstream_barrier
 
struct  ABTI_timer
 

Macros

#define ABTI_IS_ERROR_CHECK_ENABLED   1
 
#define ABTI_IS_EXT_THREAD_ENABLED   1
 
#define ABTI_SCHED_NUM_PRIO   3
 
#define ABTI_SCHED_REQ_FINISH   (1 << 0)
 
#define ABTI_SCHED_REQ_EXIT   (1 << 1)
 
#define ABTI_THREAD_REQ_JOIN   (1 << 0)
 
#define ABTI_THREAD_REQ_TERMINATE   (1 << 1)
 
#define ABTI_THREAD_REQ_CANCEL   (1 << 2)
 
#define ABTI_THREAD_REQ_MIGRATE   (1 << 3)
 
#define ABTI_THREAD_REQ_BLOCK   (1 << 4)
 
#define ABTI_THREAD_REQ_ORPHAN   (1 << 5)
 
#define ABTI_THREAD_REQ_NOPUSH   (1 << 6)
 
#define ABTI_THREAD_REQ_NON_YIELD
 
#define ABTI_THREAD_INIT_ID   0xFFFFFFFFFFFFFFFF
 
#define ABTI_TASK_INIT_ID   0xFFFFFFFFFFFFFFFF
 
#define ABTI_INDENT   4
 
#define ABT_THREAD_TYPE_FULLY_FLEDGED   0
 
#define ABT_THREAD_TYPE_DYNAMIC_PROMOTION   1
 
#define ABTI_THREAD_TYPE_EXT   ((ABTI_thread_type)0)
 
#define ABTI_THREAD_TYPE_THREAD   ((ABTI_thread_type)(0x1 << 0))
 
#define ABTI_THREAD_TYPE_ROOT   ((ABTI_thread_type)(0x1 << 1))
 
#define ABTI_THREAD_TYPE_MAIN   ((ABTI_thread_type)(0x1 << 2))
 
#define ABTI_THREAD_TYPE_MAIN_SCHED   ((ABTI_thread_type)(0x1 << 3))
 
#define ABTI_THREAD_TYPE_YIELDABLE   ((ABTI_thread_type)(0x1 << 4))
 
#define ABTI_THREAD_TYPE_NAMED   ((ABTI_thread_type)(0x1 << 5))
 
#define ABTI_THREAD_TYPE_MIGRATABLE   ((ABTI_thread_type)(0x1 << 6))
 
#define ABTI_THREAD_TYPE_MEM_MEMPOOL_DESC   ((ABTI_thread_type)(0x1 << 7))
 
#define ABTI_THREAD_TYPE_MEM_MALLOC_DESC   ((ABTI_thread_type)(0x1 << 8))
 
#define ABTI_THREAD_TYPE_MEM_MEMPOOL_DESC_STACK   ((ABTI_thread_type)(0x1 << 9))
 
#define ABTI_THREAD_TYPE_MEM_MALLOC_DESC_STACK   ((ABTI_thread_type)(0x1 << 10))
 
#define ABTI_THREAD_TYPES_MEM
 
#define ABTI_UNUSED(a)   (void)(a)
 

Typedefs

typedef struct ABTI_global ABTI_global
 
typedef struct ABTI_local ABTI_local
 
typedef struct ABTI_local_func ABTI_local_func
 
typedef struct ABTI_xstream ABTI_xstream
 
typedef enum ABTI_xstream_type ABTI_xstream_type
 
typedef struct ABTI_sched ABTI_sched
 
typedef char * ABTI_sched_config
 
typedef enum ABTI_sched_used ABTI_sched_used
 
typedef void * ABTI_sched_id
 
typedef uintptr_t ABTI_sched_kind
 
typedef struct ABTI_pool ABTI_pool
 
typedef struct ABTI_thread ABTI_thread
 
typedef struct ABTI_thread_attr ABTI_thread_attr
 
typedef struct ABTI_ythread ABTI_ythread
 
typedef struct ABTI_thread_mig_data ABTI_thread_mig_data
 
typedef uint32_t ABTI_thread_type
 
typedef struct ABTI_ythread_htable ABTI_ythread_htable
 
typedef struct ABTI_ythread_queue ABTI_ythread_queue
 
typedef struct ABTI_key ABTI_key
 
typedef struct ABTI_ktelem ABTI_ktelem
 
typedef struct ABTI_ktable ABTI_ktable
 
typedef struct ABTI_mutex_attr ABTI_mutex_attr
 
typedef struct ABTI_mutex ABTI_mutex
 
typedef struct ABTI_cond ABTI_cond
 
typedef struct ABTI_rwlock ABTI_rwlock
 
typedef struct ABTI_eventual ABTI_eventual
 
typedef struct ABTI_future ABTI_future
 
typedef struct ABTI_barrier ABTI_barrier
 
typedef struct ABTI_xstream_barrier ABTI_xstream_barrier
 
typedef struct ABTI_timer ABTI_timer
 
typedef struct
ABTI_native_thread_id_opaque * 
ABTI_native_thread_id
 
typedef struct
ABTI_thread_id_opaque * 
ABTI_thread_id
 
typedef struct ABTI_spinlock ABTI_spinlock
 

Enumerations

enum  ABTI_xstream_type { ABTI_XSTREAM_TYPE_PRIMARY, ABTI_XSTREAM_TYPE_SECONDARY }
 
enum  ABTI_sched_used { ABTI_SCHED_NOT_USED, ABTI_SCHED_MAIN, ABTI_SCHED_IN_POOL }
 
enum  ABTI_mutex_attr_val { ABTI_MUTEX_ATTR_NONE = 0, ABTI_MUTEX_ATTR_RECURSIVE = 1 << 0 }
 

Functions

ABTU_ret_err int ABTI_xstream_create_primary (ABTI_xstream **pp_xstream)
 
void ABTI_xstream_start_primary (ABTI_xstream **pp_local_xstream, ABTI_xstream *p_xstream, ABTI_ythread *p_ythread)
 
void ABTI_xstream_free (ABTI_local *p_local, ABTI_xstream *p_xstream, ABT_bool force_free)
 
void ABTI_xstream_schedule (void *p_arg)
 
void ABTI_xstream_run_unit (ABTI_xstream **pp_local_xstream, ABT_unit unit, ABTI_pool *p_pool)
 
void ABTI_xstream_check_events (ABTI_xstream *p_xstream, ABTI_sched *p_sched)
 
void ABTI_xstream_print (ABTI_xstream *p_xstream, FILE *p_os, int indent, ABT_bool print_sub)
 
ABT_sched_defABTI_sched_get_basic_def (void)
 
ABT_sched_defABTI_sched_get_basic_wait_def (void)
 
ABT_sched_defABTI_sched_get_prio_def (void)
 
ABT_sched_defABTI_sched_get_randws_def (void)
 
void ABTI_sched_finish (ABTI_sched *p_sched)
 
void ABTI_sched_exit (ABTI_sched *p_sched)
 
ABTU_ret_err int ABTI_sched_create_basic (ABT_sched_predef predef, int num_pools, ABT_pool *pools, ABT_sched_config config, ABTI_sched **pp_newsched)
 
void ABTI_sched_free (ABTI_local *p_local, ABTI_sched *p_sched, ABT_bool force_free)
 
ABTU_ret_err int ABTI_sched_get_migration_pool (ABTI_sched *, ABTI_pool *, ABTI_pool **)
 
ABT_bool ABTI_sched_has_to_stop (ABTI_local **pp_local, ABTI_sched *p_sched)
 
size_t ABTI_sched_get_size (ABTI_sched *p_sched)
 
size_t ABTI_sched_get_total_size (ABTI_sched *p_sched)
 
size_t ABTI_sched_get_effective_size (ABTI_local *p_local, ABTI_sched *p_sched)
 
void ABTI_sched_print (ABTI_sched *p_sched, FILE *p_os, int indent, ABT_bool print_sub)
 
void ABTI_sched_reset_id (void)
 
ABTU_ret_err int ABTI_sched_config_read (ABT_sched_config config, int type, int num_vars, void **variables)
 
ABTU_ret_err int ABTI_sched_config_read_global (ABT_sched_config config, ABT_pool_access *access, ABT_bool *automatic)
 
ABTU_ret_err int ABTI_pool_create_basic (ABT_pool_kind kind, ABT_pool_access access, ABT_bool automatic, ABTI_pool **pp_newpool)
 
void ABTI_pool_free (ABTI_pool *p_pool)
 
ABTU_ret_err int ABTI_pool_get_fifo_def (ABT_pool_access access, ABT_pool_def *p_def)
 
ABTU_ret_err int ABTI_pool_get_fifo_wait_def (ABT_pool_access access, ABT_pool_def *p_def)
 
void ABTI_pool_print (ABTI_pool *p_pool, FILE *p_os, int indent)
 
void ABTI_pool_reset_id (void)
 
void ABTI_unit_set_associated_pool (ABT_unit unit, ABTI_pool *p_pool)
 
ABTU_ret_err int ABTI_thread_get_mig_data (ABTI_local *p_local, ABTI_thread *p_thread, ABTI_thread_mig_data **pp_mig_data)
 
void ABTI_thread_revive (ABTI_local *p_local, ABTI_pool *p_pool, void(*thread_func)(void *), void *arg, ABTI_thread *p_thread)
 
void ABTI_thread_join (ABTI_local **pp_local, ABTI_thread *p_thread)
 
void ABTI_thread_free (ABTI_local *p_local, ABTI_thread *p_thread)
 
void ABTI_thread_print (ABTI_thread *p_thread, FILE *p_os, int indent)
 
void ABTI_thread_reset_id (void)
 
ABT_unit_id ABTI_thread_get_id (ABTI_thread *p_thread)
 
ABTU_ret_err int ABTI_ythread_create_root (ABTI_local *p_local, ABTI_xstream *p_xstream, ABTI_ythread **pp_root_ythread)
 
ABTU_ret_err int ABTI_ythread_create_main (ABTI_local *p_local, ABTI_xstream *p_xstream, ABTI_ythread **p_ythread)
 
ABTU_ret_err int ABTI_ythread_create_main_sched (ABTI_local *p_local, ABTI_xstream *p_xstream, ABTI_sched *p_sched)
 
ABTU_ret_err int ABTI_ythread_create_sched (ABTI_local *p_local, ABTI_pool *p_pool, ABTI_sched *p_sched)
 
ABTU_noreturn void ABTI_ythread_exit (ABTI_xstream *p_local_xstream, ABTI_ythread *p_ythread)
 
void ABTI_ythread_free_main (ABTI_local *p_local, ABTI_ythread *p_ythread)
 
void ABTI_ythread_free_root (ABTI_local *p_local, ABTI_ythread *p_ythread)
 
void ABTI_ythread_set_blocked (ABTI_ythread *p_ythread)
 
void ABTI_ythread_suspend (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_ythread, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_set_ready (ABTI_local *p_local, ABTI_ythread *p_ythread)
 
void ABTI_ythread_print_stack (ABTI_ythread *p_ythread, FILE *p_os)
 
void ABTI_thread_attr_print (ABTI_thread_attr *p_attr, FILE *p_os, int indent)
 
ABTU_ret_err int ABTI_thread_attr_dup (const ABTI_thread_attr *p_attr, ABTI_thread_attr **pp_dup_attr) ABTU_ret_err
 
ABTU_ret_err int ABTI_ythread_htable_create (uint32_t num_rows, ABTI_ythread_htable **pp_htable)
 
void ABTI_ythread_htable_free (ABTI_ythread_htable *p_htable)
 
void ABTI_ythread_htable_push (ABTI_ythread_htable *p_htable, int idx, ABTI_ythread *p_ythread)
 
void ABTI_ythread_htable_push_low (ABTI_ythread_htable *p_htable, int idx, ABTI_ythread *p_ythread)
 
ABTI_ythreadABTI_ythread_htable_pop (ABTI_ythread_htable *p_htable, ABTI_ythread_queue *p_queue)
 
ABTI_ythreadABTI_ythread_htable_pop_low (ABTI_ythread_htable *p_htable, ABTI_ythread_queue *p_queue)
 
ABT_bool ABTI_ythread_htable_switch_low (ABTI_xstream **pp_local_xstream, ABTI_ythread_queue *p_queue, ABTI_ythread *p_ythread, ABTI_ythread_htable *p_htable, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ktable_free (ABTI_local *p_local, ABTI_ktable *p_ktable)
 
void ABTI_mutex_wait (ABTI_xstream **pp_local_xstream, ABTI_mutex *p_mutex, int val)
 
void ABTI_mutex_wait_low (ABTI_xstream **pp_local_xstream, ABTI_mutex *p_mutex, int val)
 
void ABTI_mutex_wake_de (ABTI_local *p_local, ABTI_mutex *p_mutex)
 
void ABTI_info_print_config (FILE *fp)
 
void ABTI_info_check_print_all_thread_stacks (void)
 

Variables

ABTI_globalgp_ABTI_global
 
ABTI_local_func gp_ABTI_local_func
 
ABTD_XSTREAM_LOCAL ABTI_locallp_ABTI_local
 

Macro Definition Documentation

#define ABT_THREAD_TYPE_DYNAMIC_PROMOTION   1

Definition at line 59 of file abti.h.

#define ABT_THREAD_TYPE_FULLY_FLEDGED   0

Definition at line 58 of file abti.h.

#define ABTI_INDENT   4

Definition at line 56 of file abti.h.

Referenced by ABTI_xstream_print().

#define ABTI_IS_ERROR_CHECK_ENABLED   1
#define ABTI_IS_EXT_THREAD_ENABLED   1
#define ABTI_SCHED_NUM_PRIO   3

Definition at line 36 of file abti.h.

Referenced by ABTI_sched_create_basic().

#define ABTI_SCHED_REQ_EXIT   (1 << 1)

Definition at line 39 of file abti.h.

Referenced by ABTI_sched_exit(), and ABTI_sched_has_to_stop().

#define ABTI_SCHED_REQ_FINISH   (1 << 0)
#define ABTI_TASK_INIT_ID   0xFFFFFFFFFFFFFFFF

Definition at line 54 of file abti.h.

Referenced by task_create().

#define ABTI_THREAD_INIT_ID   0xFFFFFFFFFFFFFFFF

Definition at line 53 of file abti.h.

Referenced by ABTI_thread_get_id(), and ythread_create().

#define ABTI_THREAD_REQ_BLOCK   (1 << 4)
#define ABTI_THREAD_REQ_CANCEL   (1 << 2)
#define ABTI_THREAD_REQ_JOIN   (1 << 0)
#define ABTI_THREAD_REQ_MIGRATE   (1 << 3)

Definition at line 44 of file abti.h.

Referenced by thread_migrate_to_pool(), xstream_migrate_thread(), and xstream_schedule_ythread().

#define ABTI_THREAD_REQ_NON_YIELD
Value:
#define ABTI_THREAD_REQ_CANCEL
Definition: abti.h:43
#define ABTI_THREAD_REQ_BLOCK
Definition: abti.h:45
#define ABTI_THREAD_REQ_TERMINATE
Definition: abti.h:42
#define ABTI_THREAD_REQ_NOPUSH
Definition: abti.h:47
#define ABTI_THREAD_REQ_ORPHAN
Definition: abti.h:46
#define ABTI_THREAD_REQ_MIGRATE
Definition: abti.h:44

Definition at line 48 of file abti.h.

Referenced by xstream_schedule_ythread().

#define ABTI_THREAD_REQ_NOPUSH   (1 << 6)

Definition at line 47 of file abti.h.

Referenced by xstream_schedule_ythread(), and xstream_update_main_sched().

#define ABTI_THREAD_REQ_ORPHAN   (1 << 5)

Definition at line 46 of file abti.h.

Referenced by finailze_library(), and xstream_schedule_ythread().

#define ABTI_THREAD_REQ_TERMINATE   (1 << 1)
#define ABTI_THREAD_TYPE_EXT   ((ABTI_thread_type)0)
#define ABTI_THREAD_TYPE_MAIN   ((ABTI_thread_type)(0x1 << 2))
#define ABTI_THREAD_TYPE_MAIN_SCHED   ((ABTI_thread_type)(0x1 << 3))
#define ABTI_THREAD_TYPE_MEM_MALLOC_DESC   ((ABTI_thread_type)(0x1 << 8))
#define ABTI_THREAD_TYPE_MEM_MALLOC_DESC_STACK   ((ABTI_thread_type)(0x1 << 10))
#define ABTI_THREAD_TYPE_MEM_MEMPOOL_DESC   ((ABTI_thread_type)(0x1 << 7))
#define ABTI_THREAD_TYPE_MEM_MEMPOOL_DESC_STACK   ((ABTI_thread_type)(0x1 << 9))
#define ABTI_THREAD_TYPE_MIGRATABLE   ((ABTI_thread_type)(0x1 << 6))
#define ABTI_THREAD_TYPE_NAMED   ((ABTI_thread_type)(0x1 << 5))
#define ABTI_THREAD_TYPE_ROOT   ((ABTI_thread_type)(0x1 << 1))
#define ABTI_THREAD_TYPE_THREAD   ((ABTI_thread_type)(0x1 << 0))

Definition at line 73 of file abti.h.

Referenced by task_create().

#define ABTI_THREAD_TYPE_YIELDABLE   ((ABTI_thread_type)(0x1 << 4))
#define ABTI_THREAD_TYPES_MEM
Value:
#define ABTI_THREAD_TYPE_MEM_MEMPOOL_DESC_STACK
Definition: abti.h:83
#define ABTI_THREAD_TYPE_MEM_MALLOC_DESC_STACK
Definition: abti.h:84
#define ABTI_THREAD_TYPE_MEM_MALLOC_DESC
Definition: abti.h:82
#define ABTI_THREAD_TYPE_MEM_MEMPOOL_DESC
Definition: abti.h:81

Definition at line 86 of file abti.h.

Referenced by ABT_thread_attr_set_stack(), and ABT_thread_attr_set_stacksize().

#define ABTI_UNUSED (   a)    (void)(a)

Definition at line 97 of file abti.h.

Referenced by ABT_init(), and pool_init().

Typedef Documentation

typedef struct ABTI_barrier ABTI_barrier

Definition at line 127 of file abti.h.

typedef struct ABTI_cond ABTI_cond

Definition at line 123 of file abti.h.

typedef struct ABTI_eventual ABTI_eventual

Definition at line 125 of file abti.h.

typedef struct ABTI_future ABTI_future

Definition at line 126 of file abti.h.

typedef struct ABTI_global ABTI_global

Definition at line 100 of file abti.h.

typedef struct ABTI_key ABTI_key

Definition at line 118 of file abti.h.

typedef struct ABTI_ktable ABTI_ktable

Definition at line 120 of file abti.h.

typedef struct ABTI_ktelem ABTI_ktelem

Definition at line 119 of file abti.h.

typedef struct ABTI_local ABTI_local

Definition at line 101 of file abti.h.

Definition at line 102 of file abti.h.

typedef struct ABTI_mutex ABTI_mutex

Definition at line 122 of file abti.h.

Definition at line 121 of file abti.h.

typedef struct ABTI_native_thread_id_opaque* ABTI_native_thread_id

Definition at line 136 of file abti.h.

typedef struct ABTI_pool ABTI_pool

Definition at line 110 of file abti.h.

typedef struct ABTI_rwlock ABTI_rwlock

Definition at line 124 of file abti.h.

typedef struct ABTI_sched ABTI_sched

Definition at line 105 of file abti.h.

typedef char* ABTI_sched_config

Definition at line 106 of file abti.h.

typedef void* ABTI_sched_id

Definition at line 108 of file abti.h.

typedef uintptr_t ABTI_sched_kind

Definition at line 109 of file abti.h.

Definition at line 107 of file abti.h.

typedef struct ABTI_spinlock ABTI_spinlock

Definition at line 145 of file abti.h.

typedef struct ABTI_thread ABTI_thread

Definition at line 111 of file abti.h.

Definition at line 112 of file abti.h.

typedef struct ABTI_thread_id_opaque* ABTI_thread_id

Definition at line 139 of file abti.h.

Definition at line 114 of file abti.h.

typedef uint32_t ABTI_thread_type

Definition at line 115 of file abti.h.

typedef struct ABTI_timer ABTI_timer

Definition at line 129 of file abti.h.

typedef struct ABTI_xstream ABTI_xstream

Definition at line 103 of file abti.h.

Definition at line 128 of file abti.h.

Definition at line 104 of file abti.h.

typedef struct ABTI_ythread ABTI_ythread

Definition at line 113 of file abti.h.

Definition at line 116 of file abti.h.

Definition at line 117 of file abti.h.

Enumeration Type Documentation

Enumerator
ABTI_MUTEX_ATTR_NONE 
ABTI_MUTEX_ATTR_RECURSIVE 

Definition at line 91 of file abti.h.

Enumerator
ABTI_SCHED_NOT_USED 
ABTI_SCHED_MAIN 
ABTI_SCHED_IN_POOL 

Definition at line 66 of file abti.h.

Enumerator
ABTI_XSTREAM_TYPE_PRIMARY 
ABTI_XSTREAM_TYPE_SECONDARY 

Definition at line 61 of file abti.h.

Function Documentation

void ABTI_info_check_print_all_thread_stacks ( void  )

Definition at line 520 of file info.c.

Referenced by ABTI_xstream_check_events().

void ABTI_info_print_config ( FILE *  fp)

Definition at line 589 of file info.c.

Referenced by ABT_info_print_config(), and init_library().

void ABTI_ktable_free ( ABTI_local p_local,
ABTI_ktable p_ktable 
)

Definition at line 139 of file key.c.

Referenced by thread_free(), and ythread_create().

void ABTI_mutex_wait ( ABTI_xstream **  pp_local_xstream,
ABTI_mutex p_mutex,
int  val 
)

Definition at line 430 of file mutex.c.

Referenced by ABTI_mutex_lock().

void ABTI_mutex_wait_low ( ABTI_xstream **  pp_local_xstream,
ABTI_mutex p_mutex,
int  val 
)

Definition at line 466 of file mutex.c.

Referenced by mutex_lock_low().

void ABTI_mutex_wake_de ( ABTI_local p_local,
ABTI_mutex p_mutex 
)

Definition at line 502 of file mutex.c.

Referenced by ABTI_mutex_unlock(), and mutex_unlock_se().

ABTU_ret_err int ABTI_pool_create_basic ( ABT_pool_kind  kind,
ABT_pool_access  access,
ABT_bool  automatic,
ABTI_pool **  pp_newpool 
)
void ABTI_pool_free ( ABTI_pool p_pool)

Definition at line 408 of file pool.c.

Referenced by ABT_pool_free(), ABTI_sched_free(), ABTI_xstream_free(), and sched_create().

ABTU_ret_err int ABTI_pool_get_fifo_def ( ABT_pool_access  access,
ABT_pool_def p_def 
)

Definition at line 47 of file fifo.c.

Referenced by ABTI_pool_create_basic().

ABTU_ret_err int ABTI_pool_get_fifo_wait_def ( ABT_pool_access  access,
ABT_pool_def p_def 
)

Definition at line 42 of file fifo_wait.c.

Referenced by ABTI_pool_create_basic().

void ABTI_pool_print ( ABTI_pool p_pool,
FILE *  p_os,
int  indent 
)

Definition at line 416 of file pool.c.

Referenced by ABT_info_print_pool(), and ABTI_sched_print().

void ABTI_pool_reset_id ( void  )

Definition at line 467 of file pool.c.

Referenced by init_library().

ABTU_ret_err int ABTI_sched_config_read ( ABT_sched_config  config,
int  type,
int  num_vars,
void **  variables 
)

Definition at line 239 of file config.c.

Referenced by ABT_sched_config_read(), ABTI_sched_config_read_global(), and sched_init().

ABTU_ret_err int ABTI_sched_config_read_global ( ABT_sched_config  config,
ABT_pool_access access,
ABT_bool automatic 
)

Definition at line 209 of file config.c.

Referenced by ABTI_sched_create_basic().

ABTU_ret_err int ABTI_sched_create_basic ( ABT_sched_predef  predef,
int  num_pools,
ABT_pool pools,
ABT_sched_config  config,
ABTI_sched **  pp_newsched 
)
void ABTI_sched_exit ( ABTI_sched p_sched)

Definition at line 349 of file sched.c.

Referenced by ABT_sched_exit(), and ABTI_xstream_check_events().

void ABTI_sched_finish ( ABTI_sched p_sched)
void ABTI_sched_free ( ABTI_local p_local,
ABTI_sched p_sched,
ABT_bool  force_free 
)
ABT_sched_def* ABTI_sched_get_basic_def ( void  )

Definition at line 37 of file basic.c.

Referenced by ABTI_sched_create_basic(), and ABTI_sched_print().

ABT_sched_def* ABTI_sched_get_basic_wait_def ( void  )

Definition at line 35 of file basic_wait.c.

Referenced by ABTI_sched_create_basic(), and ABTI_sched_print().

size_t ABTI_sched_get_effective_size ( ABTI_local p_local,
ABTI_sched p_sched 
)
ABTU_ret_err int ABTI_sched_get_migration_pool ( ABTI_sched ,
ABTI_pool ,
ABTI_pool **   
)

Definition at line 567 of file sched.c.

Referenced by ABT_thread_migrate_to_sched(), and thread_migrate_to_xstream().

ABT_sched_def* ABTI_sched_get_prio_def ( void  )

Definition at line 29 of file prio.c.

Referenced by ABTI_sched_create_basic(), and ABTI_sched_print().

ABT_sched_def* ABTI_sched_get_randws_def ( void  )

Definition at line 31 of file randws.c.

Referenced by ABTI_sched_create_basic().

size_t ABTI_sched_get_size ( ABTI_sched p_sched)

Definition at line 307 of file sched.c.

Referenced by ABT_sched_get_size(), and ABTI_sched_print().

size_t ABTI_sched_get_total_size ( ABTI_sched p_sched)

Definition at line 586 of file sched.c.

Referenced by ABT_sched_get_total_size(), and ABTI_sched_print().

ABT_bool ABTI_sched_has_to_stop ( ABTI_local **  pp_local,
ABTI_sched p_sched 
)

Definition at line 526 of file sched.c.

Referenced by ABT_sched_has_to_stop(), and sched_run().

void ABTI_sched_print ( ABTI_sched p_sched,
FILE *  p_os,
int  indent,
ABT_bool  print_sub 
)

Definition at line 636 of file sched.c.

Referenced by ABT_info_print_sched(), and ABTI_xstream_print().

void ABTI_sched_reset_id ( void  )

Definition at line 719 of file sched.c.

Referenced by init_library().

ABTU_ret_err int ABTI_thread_attr_dup ( const ABTI_thread_attr p_attr,
ABTI_thread_attr **  pp_dup_attr 
)

Definition at line 300 of file thread_attr.c.

Referenced by ABT_thread_get_attr().

void ABTI_thread_attr_print ( ABTI_thread_attr p_attr,
FILE *  p_os,
int  indent 
)

Definition at line 256 of file thread_attr.c.

Referenced by ABT_info_print_thread_attr().

void ABTI_thread_free ( ABTI_local p_local,
ABTI_thread p_thread 
)
ABT_unit_id ABTI_thread_get_id ( ABTI_thread p_thread)
ABTU_ret_err int ABTI_thread_get_mig_data ( ABTI_local p_local,
ABTI_thread p_thread,
ABTI_thread_mig_data **  pp_mig_data 
)
void ABTI_thread_join ( ABTI_local **  pp_local,
ABTI_thread p_thread 
)

Definition at line 1470 of file thread.c.

Referenced by xstream_join().

void ABTI_thread_print ( ABTI_thread p_thread,
FILE *  p_os,
int  indent 
)

Definition at line 1532 of file thread.c.

Referenced by ABT_info_print_thread().

void ABTI_thread_reset_id ( void  )

Definition at line 1595 of file thread.c.

Referenced by init_library().

void ABTI_thread_revive ( ABTI_local p_local,
ABTI_pool p_pool,
void(*)(void *)  thread_func,
void *  arg,
ABTI_thread p_thread 
)

Definition at line 1325 of file thread.c.

Referenced by ABT_thread_revive(), and ABT_xstream_revive().

void ABTI_unit_set_associated_pool ( ABT_unit  unit,
ABTI_pool p_pool 
)

Definition at line 40 of file unit.c.

Referenced by ABT_unit_set_associated_pool(), and sched_run().

void ABTI_xstream_check_events ( ABTI_xstream p_xstream,
ABTI_sched p_sched 
)

Definition at line 922 of file stream.c.

Referenced by ABT_xstream_check_events(), and sched_run().

ABTU_ret_err int ABTI_xstream_create_primary ( ABTI_xstream **  pp_xstream)

Definition at line 855 of file stream.c.

Referenced by init_library().

void ABTI_xstream_free ( ABTI_local p_local,
ABTI_xstream p_xstream,
ABT_bool  force_free 
)

Definition at line 938 of file stream.c.

Referenced by ABT_xstream_free(), and finailze_library().

void ABTI_xstream_print ( ABTI_xstream p_xstream,
FILE *  p_os,
int  indent,
ABT_bool  print_sub 
)

Definition at line 974 of file stream.c.

Referenced by ABT_info_print_all_xstreams(), and ABT_info_print_xstream().

void ABTI_xstream_run_unit ( ABTI_xstream **  pp_local_xstream,
ABT_unit  unit,
ABTI_pool p_pool 
)

Definition at line 903 of file stream.c.

Referenced by ABT_xstream_run_unit(), sched_run(), and thread_root_func().

void ABTI_xstream_schedule ( void *  p_arg)
void ABTI_xstream_start_primary ( ABTI_xstream **  pp_local_xstream,
ABTI_xstream p_xstream,
ABTI_ythread p_ythread 
)

Definition at line 875 of file stream.c.

Referenced by init_library().

ABTU_ret_err int ABTI_ythread_create_main ( ABTI_local p_local,
ABTI_xstream p_xstream,
ABTI_ythread **  p_ythread 
)

Definition at line 1378 of file thread.c.

Referenced by init_library().

ABTU_ret_err int ABTI_ythread_create_main_sched ( ABTI_local p_local,
ABTI_xstream p_xstream,
ABTI_sched p_sched 
)

Definition at line 1432 of file thread.c.

Referenced by xstream_create().

ABTU_ret_err int ABTI_ythread_create_root ( ABTI_local p_local,
ABTI_xstream p_xstream,
ABTI_ythread **  pp_root_ythread 
)

Definition at line 1406 of file thread.c.

Referenced by xstream_create().

ABTU_ret_err int ABTI_ythread_create_sched ( ABTI_local p_local,
ABTI_pool p_pool,
ABTI_sched p_sched 
)

Definition at line 1452 of file thread.c.

Referenced by ABT_pool_add_sched().

ABTU_noreturn void ABTI_ythread_exit ( ABTI_xstream p_local_xstream,
ABTI_ythread p_ythread 
)

Definition at line 1497 of file thread.c.

Referenced by ABT_thread_exit(), and ABT_xstream_exit().

void ABTI_ythread_free_main ( ABTI_local p_local,
ABTI_ythread p_ythread 
)

Definition at line 1484 of file thread.c.

Referenced by finailze_library().

void ABTI_ythread_free_root ( ABTI_local p_local,
ABTI_ythread p_ythread 
)

Definition at line 1492 of file thread.c.

Referenced by ABTI_xstream_free().

ABTU_ret_err int ABTI_ythread_htable_create ( uint32_t  num_rows,
ABTI_ythread_htable **  pp_htable 
)

Definition at line 9 of file ythread_htable.c.

Referenced by ABTI_mutex_init().

void ABTI_ythread_htable_free ( ABTI_ythread_htable p_htable)

Definition at line 50 of file ythread_htable.c.

Referenced by ABTI_mutex_fini().

ABTI_ythread* ABTI_ythread_htable_pop ( ABTI_ythread_htable p_htable,
ABTI_ythread_queue p_queue 
)

Definition at line 118 of file ythread_htable.c.

Referenced by ABTI_mutex_wake_de(), and mutex_unlock_se().

ABTI_ythread* ABTI_ythread_htable_pop_low ( ABTI_ythread_htable p_htable,
ABTI_ythread_queue p_queue 
)

Definition at line 141 of file ythread_htable.c.

Referenced by ABTI_mutex_wake_de(), and mutex_unlock_se().

void ABTI_ythread_htable_push ( ABTI_ythread_htable p_htable,
int  idx,
ABTI_ythread p_ythread 
)

Definition at line 68 of file ythread_htable.c.

Referenced by ABTI_mutex_wait().

void ABTI_ythread_htable_push_low ( ABTI_ythread_htable p_htable,
int  idx,
ABTI_ythread p_ythread 
)

Definition at line 93 of file ythread_htable.c.

Referenced by ABTI_mutex_wait_low().

ABT_bool ABTI_ythread_htable_switch_low ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread_queue p_queue,
ABTI_ythread p_ythread,
ABTI_ythread_htable p_htable,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)

Definition at line 165 of file ythread_htable.c.

Referenced by mutex_lock_low().

void ABTI_ythread_print_stack ( ABTI_ythread p_ythread,
FILE *  p_os 
)

Definition at line 85 of file ythread.c.

Referenced by ABT_info_print_thread_stack(), and info_print_unit().

void ABTI_ythread_set_blocked ( ABTI_ythread p_ythread)
void ABTI_ythread_set_ready ( ABTI_local p_local,
ABTI_ythread p_ythread 
)
void ABTI_ythread_suspend ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_ythread,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)

Variable Documentation

ABTI_global* gp_ABTI_global
ABTI_local_func gp_ABTI_local_func