指定了dmamonitor这个程序固定在cpu0上执行, 可以用top命令看到效果,按下Q退出top命令
#define _GNU_SOURCE #include <sched.h> void install_sigs(); // 初始化信号量 void sigusr(int sig); // 信号量回调函数 int dma_proc_init(); // 初始化DMA配置 int dma_proc_exit(); // 退出DMA配置 int main(int argc, char *argv[]) { pid_t pid = -1; FILE *fptr; cpu_set_t mask; printf("%s : main enter.\n", SELFNAME); // 配置信号量 install_sigs(); pid = getpid(); CPU_ZERO(&mask); CPU_SET(0, &mask); if (sched_setaffinity(0, sizeof(mask), &mask) == -1) { printf("warning: could not set CPU affinity, continuing...\n"); } /*chrisine 20160809 begin int num_cpus; num_cpus = sysconf(_SC_NPROCESSORS_CONF);//get the cpu nums//2 assert(num_cpus > 0); printf("cpu num:%d\n", num_cpus); chrisine 20160809 end*/
