gpt4 book ai didi

linux-kernel - 如何使用 Linux 工作队列

转载 作者:行者123 更新时间:2023-12-03 23:23:40 26 4
gpt4 key购买 nike

Linux 工作队列是具有进程上下文的内核级线程。我试图将它用作没有特定进程上下文的 kthread 的替代方案。但是如何将数据传递到工作队列? work_struct 有一个类型为 atomic_long_t 的数据字段。我无法传递指向该字段的指针。我该怎么做?

我也找不到工作队列的一个具体例子。你能推荐一个吗?

最佳答案

如果您想将数据传递给您的工作队列函数,只需嵌入 work_struct在您自己的数据结构中构建结构并使用 container_of在您的工作功能中检索它。

举个简单的例子,内核里装满了——只是git grep work_struct .你可以看看drivers/cpufreq/cpufreq.c ( handle_update 函数)一个简单的例子。下面的文章最后也嵌入了一个例子,但是没有使用container_of而是依赖于结构的第一个成员与其父成员具有相同地址的事实:

http://www.ibm.com/developerworks/linux/library/l-tasklets/index.html

关于linux-kernel - 如何使用 Linux 工作队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7937245/

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