2014-02-26 71 views
2

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

回答

5

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

你可以做的是。

  1. pthread_create()一个新线程。

  2. 引脚线程特定的CPU,与pthread_setaffinity_np()

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