библиотека политик NUMA (NUMA policy library)
Синопсис (Synopsis)
#include <numa.h>
cc ... -lnuma
int numa_available(void);
int numa_max_possible_node(void);
int numa_num_possible_nodes();
int numa_max_node(void);
int numa_num_configured_nodes();
struct bitmask *numa_get_mems_allowed(void);
int numa_num_configured_cpus(void);
struct bitmask *numa_all_nodes_ptr;
struct bitmask *numa_no_nodes_ptr;
struct bitmask *numa_all_cpus_ptr;
int numa_num_task_cpus();
int numa_num_task_nodes();
int numa_parse_bitmap(char *line , struct bitmask *mask);
struct bitmask *numa_parse_nodestring(const char *string);
struct bitmask *numa_parse_nodestring_all(const char *string);
struct bitmask *numa_parse_cpustring(const char *string);
struct bitmask *numa_parse_cpustring_all(const char *string);
long long numa_node_size(int node, long long*freep);
long long numa_node_size64(int node, long long *freep);
int numa_preferred(void);
void numa_set_preferred(int node);
int numa_get_interleave_node(void);
struct bitmask *numa_get_interleave_mask(void);
void numa_set_interleave_mask(struct bitmask *nodemask);
void numa_interleave_memory(void *start, size_t size, struct
bitmask *nodemask);
void numa_bind(struct bitmask *nodemask);
void numa_set_localalloc(void);
void numa_set_membind(struct bitmask *nodemask);
void numa_set_membind_balancing(struct bitmask *nodemask);
struct bitmask *numa_get_membind(void);
void *numa_alloc_onnode(size_t size, int node);
void *numa_alloc_local(size_t size);
void *numa_alloc_interleaved(size_t size);
void *numa_alloc_interleaved_subset(size_t size, struct bitmask
*nodemask); void *numa_alloc(size_t size);
void *numa_realloc(void *old_addr, size_t old_size, size_t
new_size);
void numa_free(void *start, size_t size);
int numa_run_on_node(int node);
int numa_run_on_node_mask(struct bitmask *nodemask);
int numa_run_on_node_mask_all(struct bitmask *nodemask);
struct bitmask *numa_get_run_node_mask(void);
void numa_tonode_memory(void *start, size_t size, int node);
void numa_tonodemask_memory(void *start, size_t size, struct
bitmask *nodemask);
void numa_setlocal_memory(void *start, size_t size);
void numa_police_memory(void *start, size_t size);
void numa_set_bind_policy(int strict);
void numa_set_strict(int strict);
int numa_distance(int node1, int node2);
int numa_sched_getaffinity(pid_t pid, struct bitmask *mask);
int numa_sched_setaffinity(pid_t pid, struct bitmask *mask);
int numa_node_to_cpus(int node, struct bitmask *mask);
void numa_node_to_cpu_update();
int numa_node_of_cpu(int cpu);
struct bitmask *numa_allocate_cpumask();
void numa_free_cpumask();
struct bitmask *numa_allocate_nodemask();
void numa_free_nodemask();
struct bitmask *numa_bitmask_alloc(unsigned int n);
struct bitmask *numa_bitmask_clearall(struct bitmask *bmp);
struct bitmask *numa_bitmask_clearbit(struct bitmask *bmp,
unsigned int n);
int numa_bitmask_equal(const struct bitmask *bmp1, const struct
bitmask *bmp2);
void numa_bitmask_free(struct bitmask *bmp);
int numa_bitmask_isbitset(const struct bitmask *bmp, unsigned int
n);
unsigned int numa_bitmask_nbytes(struct bitmask *bmp);
struct bitmask *numa_bitmask_setall(struct bitmask *bmp);
struct bitmask *numa_bitmask_setbit(struct bitmask *bmp, unsigned
int n);
void copy_bitmask_to_nodemask(struct bitmask *bmp, nodemask_t
*nodemask)
void copy_nodemask_to_bitmask(nodemask_t *nodemask, struct
bitmask *bmp)
void copy_bitmask_to_bitmask(struct bitmask *bmpfrom, struct
bitmask *bmpto)
unsigned int numa_bitmask_weight(const struct bitmask *bmp )
int numa_move_pages(int pid, unsigned long count, void **pages,
const int *nodes, int *status, int flags);
int numa_migrate_pages(int pid, struct bitmask *fromnodes, struct
bitmask *tonodes);
void numa_error(char *where);
extern int numa_exit_on_error;
extern int numa_exit_on_warn;
void numa_warn(int number, char *where, ...);