|  | Arax -8d09c51940345c86062e8ef2427c705ae66e5926
    A Runtime Framework for Decoupling Applications from Heterogeneous Accelerators | 
#include <arax_pipe.h>
 Collaboration diagram for arax_pipe:
 Collaboration diagram for arax_pipe:| Data Fields | |
| char | sha [ARAX_PIPE_SHA_SIZE+1] | 
| void * | self | 
| uint64_t | shm_size | 
| uint64_t | processes | 
| utils_spinlock | proc_lock | 
| uint64_t | proc_map [ARAX_PROC_MAP_SIZE] | 
| uint64_t | last_uid | 
| arax_object_repo_s | objs | 
| async_meta_s | async | 
| arax_throttle_s | throttle | 
| int | cntrl_ready | 
| async_condition_s | cntrl_ready_cond | 
| async_condition_s | orphan_cond | 
| utils_list_s | orphan_vacs | 
| utils_kv_s | ass_kv | 
| utils_kv_s | metrics_kv | 
| arch_alloc_s | allocator | 
Shared Memory segment layout
Definition at line 24 of file arax_pipe.h.
| arch_alloc_s allocator | 
Allocator for this shared memory
Definition at line 46 of file arax_pipe.h.
Referenced by arax_object_ref_dec(), arax_object_ref_dec_pre_locked(), arax_object_register(), arax_object_rename(), arax_pipe_exit(), and arax_pipe_init().
| utils_kv_s ass_kv | 
Assignees KV, <assigne_id,task_count>
Definition at line 43 of file arax_pipe.h.
Referenced by arax_pipe_init().
| async_meta_s async | 
Async related metadata
Definition at line 34 of file arax_pipe.h.
Referenced by arax_accel_init(), arax_pipe_exit(), and arax_pipe_init().
| int cntrl_ready | 
Flag if != 0 means, controller is fully initialized
Definition at line 37 of file arax_pipe.h.
| async_condition_s cntrl_ready_cond | 
Condition for cntrl_ready
Definition at line 38 of file arax_pipe.h.
Referenced by arax_pipe_init().
| uint64_t last_uid | 
Last instance UID
Definition at line 32 of file arax_pipe.h.
| utils_kv_s metrics_kv | 
| arax_object_repo_s objs | 
Arax object repository
Definition at line 33 of file arax_pipe.h.
Referenced by arax_accel_init(), arax_pipe_delete_accel(), arax_pipe_exit(), arax_pipe_find_accel(), arax_pipe_find_proc(), arax_pipe_init(), and arax_vaccel_init().
| async_condition_s orphan_cond | 
Notify orphan changes
Definition at line 40 of file arax_pipe.h.
Referenced by arax_pipe_add_orphan_vaccel(), arax_pipe_get_orphan_vaccel(), arax_pipe_init(), arax_pipe_orphan_stop(), and arax_pipe_remove_orphan_vaccel().
| utils_list_s orphan_vacs | 
Unassigned virtual accels
Definition at line 41 of file arax_pipe.h.
Referenced by arax_pipe_add_orphan_vaccel(), arax_pipe_get_orphan_vaccel(), arax_pipe_have_orphan_vaccels(), arax_pipe_init(), and arax_pipe_remove_orphan_vaccel().
| utils_spinlock proc_lock | 
Protect the proc_map
Definition at line 30 of file arax_pipe.h.
Referenced by arax_pipe_have_to_mmap(), and arax_pipe_mark_unmap().
| uint64_t proc_map[ARAX_PROC_MAP_SIZE] | 
Array contains PIDs of all mmaped processes
Definition at line 31 of file arax_pipe.h.
Referenced by arax_pipe_have_to_mmap(), and arax_pipe_mark_unmap().
| uint64_t processes | 
Process counter - Processes using this
Definition at line 29 of file arax_pipe.h.
Referenced by arax_pipe_add_process(), and arax_pipe_del_process().
| void* self | 
Pointer to myself
Definition at line 27 of file arax_pipe.h.
Referenced by arax_pipe_mmap_address().
| char sha[ARAX_PIPE_SHA_SIZE+1] | 
Git revision 48+1 for \0
Definition at line 26 of file arax_pipe.h.
Referenced by arax_pipe_get_revision(), and arax_pipe_init().
| uint64_t shm_size | 
Size in bytes of shared region
Definition at line 28 of file arax_pipe.h.
Referenced by arax_pipe_init(), and arax_ptr_valid().
| arax_throttle_s throttle | 
Definition at line 35 of file arax_pipe.h.
Referenced by arax_pipe_get_available_size(), arax_pipe_get_total_size(), and arax_pipe_init().