Added affinity example in chapter 6
This commit is contained in:
25
chp6/affinity.c
Normal file
25
chp6/affinity.c
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#define _GNU_SOURCE
|
||||||
|
#include <sched.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
cpu_set_t set;
|
||||||
|
CPU_ZERO(&set);
|
||||||
|
CPU_SET(0, &set);
|
||||||
|
CPU_CLR(1, &set);
|
||||||
|
|
||||||
|
int ret = sched_setaffinity(0, sizeof(cpu_set_t), &set);
|
||||||
|
if (ret == -1) {
|
||||||
|
perror("sched_setaffinity");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < CPU_SETSIZE; i++) {
|
||||||
|
int cpu = CPU_ISSET(i, &set);
|
||||||
|
if (cpu) {
|
||||||
|
printf("cpu=%d is set\n", i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user