首页
社区
课程
招聘
[求助]如何让程序只使用多核CPU的一个核
发表于: 2010-5-25 04:39 8234

[求助]如何让程序只使用多核CPU的一个核

2010-5-25 04:39
8234
要对一个程序做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直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 237
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
man sched_setaffinity
说得很详细啊。
2010-5-28 06:28
0
雪    币: 237
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
再给个网上手册的传送门
0fcK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3I4A6L8Y4g2^5i4K6u0W2k6r3W2W2i4K6u0W2L8X3g2@1i4K6u0r3L8h3q4F1i4K6u0r3x3W2)9J5c8Y4y4U0K9r3g2V1i4K6g2X3M7$3g2@1j5h3k6X3K9h3&6A6N6s2V1`.
2010-5-28 06:29
0
游客
登录 | 注册 方可回帖
返回