2016-11-12 13 views
0

以前は、私の質問を見ていただき、ありがとうございました。私はファイルでは、Linuxカーネルのコード具体的には、linuxの/カーネル/ kthread.cstruct task_structのLinuxカーネルNUMA関連変数

を見てる

私は正確に見つけることができません

/* 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; 
} 

以下のように、関数tsk_fork_get_nodeがありますpref_node_fork変数の意味です。私はそれの完全な名前を知りたい。

私はまた、パッチ( "Gitのショー207205a2ba" で、IDの207205a2baをコミット)

を見つけました。しかし何のtask_structでpref_node_fork変数の説明はありません。

概要:

  1. 私はpref_node_fork変数の正確な意味を知りたいです。

  2. 私は、pref_node_fork変数のフルネームを知りたいと思います。

答えて

0

ここでは何が問題なのですか。コミットメッセージにはAPIが拡張されていることが明示されているので、新しいカーネルスレッドを生成するときに、どのnumaドメインを使用すべきかを知ることができます。そして、それはperf_node_forkフィールドを通してnodeパラメータを密輸し、それをtsk_fork_get_nodeのforkで使用することによって行われることがわかります。

なぜこのコードを見ているのですか?

+0

私は何か修正する必要はありません。私はtsk_fork_get_node変数の意味を疑問視しています。そして、私はちょうどLinuxカーネルのソースコードを1行ずつ読み込んでいます。パスの作者は 'tsk_fork_get_node'以外の他のものだけを明確に説明しています –

+0

行ごとに行を読むのは間違っています。代わりに、カーネル全体で使われている一般的なイディオムについて学び、そのために単純なサブシステムに固執する必要があります。 –

+0

私は他のguyzと一緒に勉強しています。一人じゃない。私たちはコードをラインごとに見ていて、ラインの意味については互いにコミュニケーションしています。 私はあなたが言っていることを理解していますが、カーネルの意味全体を理解することもできます。私はサブシステムのルーチンではない全体的な概念を意味する –

関連する問題