工作队列线程安全吗



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

我是正确的还是偏离了底线?

我想你说的是Linux内核中的workqueue.c?http://lxr.linux.no/#linux+v3.2.9/kernel/workqueue.c

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