2014-02-26 70 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有一個,使用上述方法,並創建必要的管道代碼,以便能夠請求在其中一個工作線程上調用的函數。