20#ifndef SHMEM_CPUINFO_H
21#define SHMEM_CPUINFO_H
46 const char *shmem_key,
int shmem_color);
74 pid_t pid,
int *restrict requested_ncpus,
86 pid_t pid,
int *restrict requested_ncpus,
88 int max_parallelism, int64_t *restrict last_borrow,
dlb_drom_flags_t
Definition: dlb_types.h:34
dlb_printshmem_flags_t
Definition: dlb_types.h:45
int shmem_cpuinfo__reclaim_cpus(pid_t pid, int ncpus, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:939
struct array_cpuinfo_task_t array_cpuinfo_task_t
Definition: shmem_cpuinfo.h:42
int shmem_cpuinfo__get_number_of_non_owned_cpus(pid_t pid)
Definition: shmem_cpuinfo.c:2143
void shmem_cpuinfo__print_info(const char *shmem_key, int shmem_color, int columns, dlb_printshmem_flags_t print_flags)
Definition: shmem_cpuinfo.c:2231
int shmem_cpuinfo_testing__get_num_proc_requests(void)
Definition: shmem_cpuinfo.c:2420
int shmem_cpuinfo__check_cpu_availability(pid_t pid, int cpu)
Definition: shmem_cpuinfo.c:2156
const cpu_set_t * shmem_cpuinfo_testing__get_occupied_core_set(void)
Definition: shmem_cpuinfo.c:2434
int shmem_cpuinfo__acquire_from_cpu_subset(pid_t pid, const array_cpuid_t *restrict array_cpuid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1213
int shmem_cpuinfo_ext__finalize(void)
Definition: shmem_cpuinfo.c:581
cpuinfo_action_t
Definition: shmem_cpuinfo.h:33
int shmem_cpuinfo__reclaim_cpu(pid_t pid, int cpuid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:879
int shmem_cpuinfo_ext__preinit(pid_t pid, const cpu_set_t *mask, dlb_drom_flags_t flags)
Definition: shmem_cpuinfo.c:498
void shmem_cpuinfo__remove_requests(pid_t pid)
Definition: shmem_cpuinfo.c:2203
int shmem_cpuinfo__acquire_cpu(pid_t pid, int cpuid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1193
int shmem_cpuinfo__init(pid_t pid, pid_t preinit_pid, const cpu_set_t *process_mask, const char *shmem_key, int shmem_color)
Definition: shmem_cpuinfo.c:444
void shmem_cpuinfo__update_ownership(pid_t pid, const cpu_set_t *restrict process_mask, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1992
void shmem_cpuinfo__return_async_cpu_mask(pid_t pid, const cpu_set_t *mask)
Definition: shmem_cpuinfo.c:1825
int shmem_cpuinfo__return_cpu(pid_t pid, int cpuid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1752
void shmem_cpuinfo__enable_request_queues(void)
Definition: shmem_cpuinfo.c:2196
void shmem_cpuinfo__return_async_cpu(pid_t pid, cpuid_t cpuid)
Definition: shmem_cpuinfo.c:1813
int shmem_cpuinfo__version(void)
Definition: shmem_cpuinfo.c:2223
int shmem_cpuinfo__acquire_ncpus_from_cpu_subset(pid_t pid, int *restrict requested_ncpus, const array_cpuid_t *restrict cpus_priority_array, lewi_affinity_t lewi_affinity, int max_parallelism, int64_t *restrict last_borrow, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1231
int shmem_cpuinfo__reclaim_all(pid_t pid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:843
int shmem_cpuinfo_ext__postfinalize(pid_t pid)
Definition: shmem_cpuinfo.c:590
int shmem_cpuinfo__lend_cpu(pid_t pid, int cpuid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:682
int shmem_cpuinfo__finalize(pid_t pid, const char *shmem_key, int shmem_color)
Definition: shmem_cpuinfo.c:550
int shmem_cpuinfo__get_thread_binding(pid_t pid, int thread_num)
Definition: shmem_cpuinfo.c:2077
int shmem_cpuinfo__deregister(pid_t pid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1846
const cpu_set_t * shmem_cpuinfo_testing__get_free_cpu_set(void)
Definition: shmem_cpuinfo.c:2430
int shmem_cpuinfo_testing__get_num_cpu_requests(int cpuid)
Definition: shmem_cpuinfo.c:2425
int shmem_cpuinfo__lend_cpu_mask(pid_t pid, const cpu_set_t *restrict mask, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:721
bool shmem_cpuinfo__exists(void)
Definition: shmem_cpuinfo.c:2192
int shmem_cpuinfo__reclaim_cpu_mask(pid_t pid, const cpu_set_t *restrict mask, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:991
int shmem_cpuinfo__reset(pid_t pid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1898
int shmem_cpuinfo__borrow_cpu(pid_t pid, int cpuid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1579
int shmem_cpuinfo__get_nth_non_owned_cpu(pid_t pid, int nth_cpu)
Definition: shmem_cpuinfo.c:2114
int shmem_cpuinfo__is_cpu_enabled(int cpuid)
Definition: shmem_cpuinfo.c:2187
int shmem_cpuinfo__return_all(pid_t pid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1724
struct array_cpuid_t array_cpuid_t
Definition: shmem_cpuinfo.h:41
int shmem_cpuinfo__borrow_ncpus_from_cpu_subset(pid_t pid, int *restrict requested_ncpus, const array_cpuid_t *restrict cpus_priority_array, lewi_affinity_t lewi_affinity, int max_parallelism, int64_t *restrict last_borrow, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1612
int shmem_cpuinfo__return_cpu_mask(pid_t pid, const cpu_set_t *mask, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1769
int shmem_cpuinfo__update_max_parallelism(pid_t pid, unsigned int max, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1938
size_t shmem_cpuinfo__size(void)
Definition: shmem_cpuinfo.c:2227
int shmem_cpuinfo_ext__init(const char *shmem_key, int shmem_color)
Definition: shmem_cpuinfo.c:493
int shmem_cpuinfo__borrow_from_cpu_subset(pid_t pid, const array_cpuid_t *restrict array_cpuid, array_cpuinfo_task_t *restrict tasks)
Definition: shmem_cpuinfo.c:1598
enum __attribute__((__packed__))
Definition: shmem_cpuinfo.h:30
Definition: shmem_cpuinfo.h:35
cpuinfo_action_t action
Definition: shmem_cpuinfo.h:38
cpuid_t cpuid
Definition: shmem_cpuinfo.h:37
pid_t pid
Definition: shmem_cpuinfo.h:36
lewi_affinity_t
Definition: types.h:91
uint8_t cpuid_t
Definition: types.h:32