5

我正在寻找一个在 Mac OS 和 BSD 上等效于 Linuxsched_getcpu()和 Windows 的功能GetCurrentProcessorNumberEx(),以便实现一个用于 cpu-local 存储的库。显然可以使用 cpuid 或 rdtscp 指令来模拟这一点,但可以通过内核合作做得更好:https ://lkml.org/lkml/2007/1/6/190 。

我已经知道线程的当前 CPU 可能会在我使用这些信息时发生变化。

4

1 回答 1

2

一个两个问题涵盖了 OSX 的队列跟踪,以及一个dispatch_get_global_queue wiki 页面,它涵盖了 BSD 的等价物。我不知道您是否可以将队列映射到 CPU,但如果可以,那似乎是最接近的等价物。

于 2012-09-08T06:51:55.497 回答