struct task_struct中的Linux Kernel NUMA相关变量

时间:2016-11-12 09:54:34

标签: linux fork numa

以前,感谢您观看和回答我的问题。

我正在特别关注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变量的确切含义。我想知道它的全名。

我还找到了补丁(commit id 207205a2ba,“git show 207205a2ba”)

但是没有解释task_struct中的pref_node_fork变量。

摘要:

  1. 我想知道pref_node_fork变量的确切含义。

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

1 个答案:

答案 0 :(得分:0)

我不会在这里解决问题所在。提交消息清楚地表明它扩展了API,以便在生成新的内核线程时,您可以告诉应该使用什么numa域。然后可以看到它是通过perf_node_fork字段走私node参数并在tsk_fork_get_node中的fork上使用它来完成的。

我不得不问你为什么要看这段代码。