gpt4 book ai didi

c - 如何创建轻量级内核线程?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:56 24 4
gpt4 key购买 nike

当我创建一个内核线程 (kthread_run) 时,它变成了一个新进程。(我可以使用 top 命令看到它)。我怎样才能创建一个轻量级内核线程(就像我们在用户空间中拥有的那样)?

如果我没记错的话,kthread_create 最终会调用 fork(),它会调用具有适当配置的 clone() 来创建一个新的进程/lw 进程。是否可以使用 clone() 或类似的 api 创建 lw 内核线程?非常感谢。

最佳答案

内核线程总是列在进程表中,但这只是一个表面问题。它们共享相同的地址空间和 *-tables,因此从这个意义上讲,它们无论如何都是轻量级的(即上下文切换不是很昂贵)。

如果您的 2*16 内核线程主要做同样的事情,则可能值得评估是否可以将功能移动到一个单独的内核模块中,它公开了一个供所有 16 个内核模块使用的 API 并执行仅在 1 或 2 个线程中工作。

关于c - 如何创建轻量级内核线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34721134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com