5
我正在寻找Mac OS和BSD上的功能,它相当于Linux的sched_getcpu()
和Windows',以实现用于cpu本地存储的库。用cpuid或rdtscp指令来模拟这种情况显然是可能的,但是通过内核合作可以做得更好:https://lkml.org/lkml/2007/1/6/190。如何找到当前线程运行的cpu,Mac和BSD?
我已经知道线程的当前CPU可能会随着我使用这些信息而改变。
我正在寻找Mac OS和BSD上的功能,它相当于Linux的sched_getcpu()
和Windows',以实现用于cpu本地存储的库。用cpuid或rdtscp指令来模拟这种情况显然是可能的,但是通过内核合作可以做得更好:https://lkml.org/lkml/2007/1/6/190。如何找到当前线程运行的cpu,Mac和BSD?
我已经知道线程的当前CPU可能会随着我使用这些信息而改变。
有one或two问题,其中涵盖了OSX的队列跟踪,以及涵盖BSD的等价物的dispatch_get_global_queue维基页面。我不知道你是否可以将一个队列映射到一个CPU,但如果是这样的话,那似乎是最接近的一个。