将功能分配给CPU

时间:2014-02-26 09:18:42

标签: c linux linux-kernel cpu

在Linux内核中,long work_on_cpu(unsigned int cpu, long (*fn)(void *), void *arg)用于分配在特定CPU内核上运行的函数。是否有任何等效的用户空间功能?

1 个答案:

答案 0 :(得分:5)

不,没有,内核提供的执行上下文与用户空间的执行上下文完全不同。

你能做的是。

  1. pthread_create()一个新主题。

  2. 使用pthread_setaffinity_np()

  3. 将该线程固定到特定的CPU

    如果你需要一个与内核相似的API,你需要使用上面的方法创建一个小的工作线程池,每个CPU一个,并创建必要的管道代码,以便能够请求调用函数在其中一个工作线程上。