work_queue线程安全吗?

时间:2012-03-01 19:51:03

标签: linux kernel

查看workqueue.c,似乎只有正确锁定的部分位于公开的API和运行的内部线程之间。在关键部分(对于我未经训练的眼睛)之外似乎有一些可能不安全的东西?

我是否正确或远离基地?

1 个答案:

答案 0 :(得分:2)

我认为你在Linux内核中讨论workqueue.c? http://lxr.linux.no/#linux+v3.2.9/kernel/workqueue.c

在这种情况下,只使用公共API,假设它是线程安全的,并向Ingo Molnar报告您看到的任何问题。请注意,大多数内核开发人员都非常聪明,不会重做“大锁”#34;错误再一次:并非一切都是在互斥体下运行,因为并非一切都需要。像RCU(读取副本更新)这样的技巧也减少了所需的锁定量。 没有锁定的一切都会表现得更好。