-
-
[求助]如何让程序只使用多核CPU的一个核
-
发表于:
2010-5-25 04:39
8001
-
要对一个程序做profile,用rdtscp指令。但是有点小问题,在多核cpu上,各个核之间的counter是不同步的,需要把程序设置成只使用一个核。
Windows下面很简单:
SetProcessAffinityMask(GetCurrentProcess(), 1);
就可以了。
Linux下面要如何实现呢?
google了一下,估计是使用, sched_setaffinity()这个API吧。可是不知道mask参数如何设置。
cpu_set_t mask;
/* 如何设置 mask ? (当前使用的CPU有8个核)*/
sched_setaffinity(0, sizeof(mask), &mask);
希望能给个详细些的说明。
谢谢!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课