now with a nice lispy interface, and an ASDF definition
[sb-cpu-affinity.git] / cpu-affinity-wrapper.c
blob5f7e488299fb5832c7ed8e9d3056b15d9458783f
1 #define _GNU_SOURCE
2 #include <sched.h>
4 int cpu_setsize = CPU_SETSIZE;
5 int cpu_mask_size = sizeof(cpu_set_t);
7 int get_cpu_affinity_mask(cpu_set_t *mask)
9 return sched_getaffinity(0, CPU_SETSIZE, mask);
12 int set_cpu_affinity_mask(cpu_set_t *mask)
14 return sched_setaffinity(0, CPU_SETSIZE, mask);
17 void zero_cpu_affinity_mask(cpu_set_t *mask)
19 CPU_ZERO(mask);
22 void set_cpu_affinity(int cpu, cpu_set_t *mask)
24 CPU_SET(cpu, mask);
27 int cpu_affinity_p(int cpu, cpu_set_t *mask)
29 return CPU_ISSET(cpu, mask);
32 void clear_cpu_affinity(int cpu, cpu_set_t *mask)
34 CPU_CLR(cpu, mask);