我正在寻找Mac OS和BSD上的一个功能,它相当于Linux的sched_getcpu()
和Windows GetCurrentProcessorNumberEx()
,以便为cpu本地存储实现一个库。显然可以使用cpuid或rdtscp指令来模拟它,但是可以通过内核协作做得更好:https://lkml.org/lkml/2007/1/6/190。
我已经知道线程的当前CPU可能会在我使用该信息时发生变化。
答案 0 :(得分:2)
有one或two个问题,涵盖OSX的队列跟踪,以及dispatch_get_global_queue wiki页面,其中包含BSD的等效内容。我不知道你是否可以将队列映射到CPU,但如果是这样,那似乎是最接近的等价物。