2016-11-12 71 views
0

以前,感謝您收看我的問題並回答。結構中的Linux內核NUMA相關變量task_struct

我看linux內核的代碼而言,Linux的/內核/ kthread.c

在該文件中,有一個功能tsk_fork_get_node如下

/* called from do_fork() to get node information for about to be created task */ 
int tsk_fork_get_node(struct task_struct *tsk) 
{ 
#ifdef CONFIG_NUMA 
    if (tsk == kthreadd_task) 
     return tsk->pref_node_fork; 
#endif 
    return NUMA_NO_NODE; 
} 

我無法找到確切的pref_node_fork變量的含義。我想知道它的全名。

我還發現了補丁(提交ID 207205a2ba,以「混帳顯示207205a2ba」)

,但有在task_struct中的pref_node_fork變量沒有解釋。

摘要:

  1. 我想知道pref_node_fork變量的確切含義。

  2. 我想知道pref_node_fork變量的全名。

回答

0

我不關注這裏有什麼問題。提交消息清楚地表明它擴展了API,以便在產生新的內核線程時可以告訴應該使用哪個numa域。然後通過perf_node_fork字段走私節點參數並在tsk_fork_get_node的fork上使用它,可以看到它已完成。我不得不問,你爲什麼要看這段代碼。

+0

我不需要任何修復的東西。我只是質疑tsk_fork_get_node變量的含義。我只是逐行閱讀linux內核源代碼。並且該路徑的作者僅清楚地解釋了除'tsk_fork_get_node'之外的其他內容' –

+0

逐行閱讀是錯誤的。相反,您應該瞭解內核中使用的一般習慣用法,爲此您應該堅持一個簡單的子系統。 –

+0

我正在和其他guyz一起學習。不孤單。我們正在逐行觀看代碼,並就該行的含義相互溝通。 我明白你在說什麼,但它對理解內核的全部含義也很有幫助。我的意思是整體概念不是子系統的常規 –