blob: e9cd38573536e9e9a05d104b6fb8613c10b7744a [file] [log] [blame]
/* Internal interfaces of libnuma */
extern int numa_sched_setaffinity_v1(pid_t pid, unsigned len, const unsigned long *mask);
extern int numa_sched_getaffinity_v1(pid_t pid, unsigned len, const unsigned long *mask);
extern int numa_sched_setaffinity_v1_int(pid_t pid, unsigned len,const unsigned long *mask);
extern int numa_sched_getaffinity_v1_int(pid_t pid, unsigned len,const unsigned long *mask);
extern int numa_sched_setaffinity_v2(pid_t pid, struct bitmask *mask);
extern int numa_sched_getaffinity_v2(pid_t pid, struct bitmask *mask);
extern int numa_sched_setaffinity_v2_int(pid_t pid, struct bitmask *mask);
extern int numa_sched_getaffinity_v2_int(pid_t pid, struct bitmask *mask);
#define SHM_HUGETLB 04000 /* segment will use huge TLB pages */
#define BITS_PER_LONG (sizeof(unsigned long) * 8)
#define CPU_BYTES(x) (round_up(x, BITS_PER_LONG)/8)
#define CPU_LONGS(x) (CPU_BYTES(x) / sizeof(long))
#define make_internal_alias(x) extern __typeof (x) x##_int __attribute((alias(#x), visibility("hidden")))
#define hidden __attribute__((visibility("hidden")))
enum numa_warn {
W_nosysfs,
W_noproc,
W_badmeminfo,
W_nosysfs2,
W_cpumap,
W_numcpus,
W_noderunmask,
W_distance,
W_memory,
W_cpuparse,
W_nodeparse,
W_blockdev1,
W_blockdev2,
W_blockdev3,
W_blockdev4,
W_blockdev5,
W_netlink1,
W_netlink2,
W_netlink3,
W_net1,
W_net2,
W_class1,
W_class2,
W_pci1,
W_pci2,
W_node_parse1,
W_node_parse2,
W_nonode,
W_badchar,
};
#define howmany(x,y) (((x)+((y)-1))/(y))
#define bitsperlong (8 * sizeof(unsigned long))
#define bitsperint (8 * sizeof(unsigned int))
#define longsperbits(n) howmany(n, bitsperlong)
#define bytesperbits(x) ((x+7)/8)