前情提要,感谢大家观看并回答我的问题。
我正在看linux内核的代码,linux/kernel/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,带有"git show 207205a2ba")
但是task_struct中的pref_node_fork变量没有解释
总结:
我想知道pref_node_fork变量的确切含义
我想知道pref_node_fork变量的全名
我不明白这里有什么问题。提交消息清楚地说明它扩展了API,这样当生成一个新的内核线程时,您就可以知道应该使用哪个numa域。然后可以看到,它是通过通过perf_node_fork字段走私节点参数并在tsk_fork_get_node中在fork上使用它来完成的。
我不得不问你为什么要看这段代码